- Arsitektur dan Aplikasi Mikrokontroler PIC:
- Pemilihan Mikrokontroler PIC untuk Tutorial Kami:
- Pemilihan Perangkat Lunak untuk Tutorial Kami:
- Bersiap dengan Perangkat Keras:
Pada tahun 1980, Intel mengembangkan Mikrokontroler pertama (8051) dengan Arsitektur Harvard 8051 dan sejak itu Mikrokontroler membawa revolusi dalam Elektronika dan industri tertanam. Dan dengan kemajuan teknologi dari waktu ke waktu, sekarang kami memiliki banyak mikrokontroler yang lebih efisien dan berdaya rendah seperti AVR, PIC, ARM. Mikrokontroler ini lebih mampu dan mudah digunakan, memiliki protokol komunikasi terbaru seperti USB, I2C, SPI, CAN dll. Bahkan Arduino dan Raspberry Pi telah sepenuhnya mengubah perspektif terhadap Mikrokontroler, dan Raspberry Pi bukan hanya mikrokontroler tetapi memiliki keseluruhan komputer di dalam.
Ini akan menjadi bagian pertama dari rangkaian tutorial yang akan datang, yang akan membantu Anda mempelajari Mikrokontroler PIC. Jika Anda berasal dari latar belakang elektronik dan Anda selalu ingin memulai dengan mempelajari beberapa Mikrokontroler dan masuk ke dunia coding dan membangun, maka rangkaian tutorial ini akan menjadi langkah pertama Anda untuk memulai.
Mikrokontroler PIC adalah pilihan yang sangat nyaman untuk memulai proyek mikrokontroler, karena memiliki forum dukungan yang sangat baik dan akan bertindak sebagai dasar yang kuat untuk membangun semua Mikrokontroler tingkat lanjut yang belum Anda pelajari.
Tutorial ini dibuat untuk Pembelajar absolut atau menengah; kami telah merencanakan untuk mulai dengan proyek paling dasar hingga proyek lanjutan. Kami mengharapkan tidak ada prasyarat dari pelajar karena kami di sini untuk membantu Anda dari level mana pun. Setiap tutorial akan memiliki penjelasan teoritis dan simulasi diikuti dengan tutorial langsung. Tutorial ini tidak akan melibatkan papan pengembangan apa pun, kami akan membuat sirkuit kami sendiri menggunakan papan kinerja. Jadi bersiaplah, dan luangkan waktu setiap minggu untuk menyempurnakan Anda dengan Mikrokontroler.
Sekarang mari kita mulai dengan Pengenalan Sederhana tentang PIC Microcontrollers dan beberapa pengaturan perangkat lunak agar kita dapat menjalankan tutorial berikutnya. Periksa Video di akhir untuk menginstal dan mengatur MPLABX, XC8, Proteus dan pemrogram PICkit 3 unboxing cepat.
Arsitektur dan Aplikasi Mikrokontroler PIC:
Mikrokontroler PIC diperkenalkan oleh Microchip Technologies pada tahun 1993. Awalnya PIC ini dikembangkan untuk menjadi bagian dari Komputer PDP (Programmed Data Processor) dan setiap perangkat periferal komputer dihubungkan menggunakan mikrokontroler PIC ini. Oleh karena itu PIC mendapatkan namanya sebagai Peripheral Interface Controller. Kemudian Microchip telah mengembangkan banyak IC seri PIC yang dapat digunakan untuk aplikasi kecil apa pun seperti aplikasi pencahayaan hingga yang canggih.
Setiap Mikrokontroler akan dibangun di sekitar beberapa arsitektur, jenis Arsitektur yang paling terkenal adalah arsitektur Harvard, PIC kami didasarkan pada arsitektur ini karena termasuk dalam keluarga klasik 8051. Mari masuk ke pengantar kecil tentang arsitektur Harvard dari PIC.
The PIC16F877A Mikrokontroler terdiri dari CPU inbuilt, I / O port, organisasi memori, A / D converter, timer / counter, interupsi, komunikasi serial, osilator dan modul PKC yang mengumpulkan merek IC mikrokontroler yang kuat bagi pemula untuk memulai dengan. Diagram blok umum Arsitektur PIC ditunjukkan di bawah ini
CPU (Unit Pemrosesan Pusat):
Mikrokontroler memiliki CPU untuk melakukan operasi Aritmatika, keputusan Logis dan operasi terkait Memori. CPU harus berkoordinasi antara RAM dan perangkat lain dari Mikrokontroler.
Ini terdiri dari ALU (Arithmetic Logic Unit), yang digunakan untuk melakukan operasi aritmatika dan keputusan logis. Sebuah MU (unit Memory) juga hadir untuk menyimpan instruksi setelah mereka dieksekusi. MU ini yang menentukan besaran program MC kita. Ini juga terdiri dari CU (Control Unit) yang bertindak sebagai bus komunikasi antara CPU dan periferal lain dari mikrokontroler. Ini membantu dalam mengambil data setelah diproses dalam register yang ditentukan.
Random Access Memory (RAM):
Memori Akses Acak adalah salah satu yang menentukan kecepatan mikrokontroler kami. RAM terdiri dari bank register di dalamnya, yang masing-masing diberi tugas tertentu. Secara keseluruhan mereka dapat diklasifikasikan menjadi dua jenis:
- Register Tujuan Umum (GPR)
- Register Fungsi Khusus (SFR)
Seperti namanya, GPR digunakan untuk fungsi register umum seperti penjumlahan, pengurangan, dll. Operasi ini dibatasi dalam 8-bit. Semua register di bawah GPR dapat ditulis dan dibaca oleh pengguna. Mereka tidak memiliki fungsi sendiri kecuali ditentukan oleh perangkat lunak.
Jika SFR digunakan untuk melakukan fungsi khusus yang rumit yang juga melibatkan beberapa penanganan 16-bit, registernya hanya dapat dibaca (R) dan kita tidak dapat menulis (W) apa pun padanya. Jadi register ini memiliki fungsi yang telah ditentukan untuk dilakukan, yang ditetapkan pada saat pembuatan dan mereka hanya menampilkan hasilnya kepada kami, yang dengannya kami dapat melakukan beberapa operasi terkait.
Memori Hanya Baca (ROM):
Memori hanya baca adalah tempat program kami disimpan. Ini menentukan ukuran maksimum program kami; karenanya itu juga disebut sebagai memori program. Ketika MCU sedang beroperasi, program yang disimpan di ROM dijalankan sesuai setiap siklus instruksi. Unit memori ini hanya dapat digunakan saat memprogram PIC, selama eksekusi menjadi memori hanya baca.
Memori Hanya Baca yang Dapat Diprogram yang Dapat Dihapus Secara Elektrik (EEPROM):
EEPROM adalah tipe lain dari Unit Memori. Dalam unit memori ini nilai-nilai dapat disimpan selama eksekusi program. Nilai yang disimpan di sini hanya Dapat Dihapus Secara Elektrik, nilai-nilai ini akan disimpan di PIC bahkan saat IC dimatikan. Mereka dapat digunakan sebagai ruang memori kecil untuk menyimpan nilai yang dieksekusi; namun ruang memori akan menjadi sangat sedikit jika dibandingkan dengan KB.
Memori Flash :
Memori flash juga merupakan Programmable Read Only Memory (PROM) di mana kita dapat membaca, menulis dan menghapus program ribuan kali. Umumnya mikrokontroler PIC menggunakan ROM jenis ini.
Port I / O
- PIC16F877A kami terdiri dari lima port yaitu Port A, Port B, Port C, Port D & Port E.
- Dari kelima PORTS hanya Port A 16-bit, dan PORT E 3-bit. PORTS lainnya adalah 8-bit.
- Pin pada PORTS ini dapat digunakan sebagai Input atau Output, berdasarkan konfigurasi Register TRIS.
- Selain melakukan operasi I / O, pin juga dapat digunakan untuk fungsi Khusus seperti SPI, Interupsi, PWM, dll.
Bis:
Istilah Bus hanyalah sekumpulan kabel yang menghubungkan Perangkat Input atau Output dengan CPU dan RAM.
Bus data digunakan untuk mentransfer atau menerima data.
Bus alamat digunakan untuk mengirimkan alamat memori dari periferal ke CPU. Pin I / O digunakan untuk menghubungkan periferal eksternal; UART dan USART keduanya protokol komunikasi serial digunakan untuk menghubungkan perangkat serial seperti GSM, GPS, Bluetooth, IR, dll.
Pemilihan Mikrokontroler PIC untuk Tutorial Kami:
Mikrokontroler PIC dari Microchip Company dibagi menjadi 4 keluarga besar. Setiap keluarga memiliki berbagai komponen yang menyediakan fitur khusus bawaan:
- Keluarga pertama, PIC10 (10FXXX) - disebut Low End.
- Keluarga kedua, PIC12 (PIC12FXXX) - disebut Mid-Range.
- Keluarga ketiga adalah PIC16 (16FXXX).
- Keluarga keempat adalah PIC 17/18 (18FXXX)
Sejak kita mulai belajar tentang PIC, mari kita pilih IC yang digunakan dan tersedia secara universal. IC ini milik keluarga 16F nomor bagian IC adalah PIC16F877A. Dari tutorial pertama hingga akhir kita akan menggunakan IC yang sama karena IC ini dilengkapi dengan semua fitur canggih seperti SPI, I2C, dan UART dll. Tetapi jika Anda tidak mendapatkan semua hal ini sekarang semuanya baik-baik saja, kami akan maju melalui setiap tutorial dan akhirnya menggunakan semua fitur yang disebutkan di atas.
Setelah IC dipilih, sangat penting untuk membaca lembar data IC. Ini harus menjadi langkah pertama dalam konsep apa pun yang akan kita coba. Sekarang karena kita telah memilih PIC16F877A ini, mari kita membaca spesifikasi IC ini di Datasheet.
Fitur Periferal, menyebutkan bahwa ia memiliki 3 Timer, dua di antaranya 8-bit dan satu prescaler 16-bit. Timer ini digunakan untuk membuat fungsi pengaturan waktu dalam program kami. Mereka juga bisa digunakan sebagai penghitung. Ini juga menunjukkan bahwa ia memiliki opsi CCP (Capture Compare dan PWM), yang membantu kita menghasilkan sinyal PWM dan membaca sinyal frekuensi yang masuk. Untuk komunikasi dengan perangkat eksternal memiliki SPI, I2C, PSP dan USART. Untuk tujuan keamanan, ini dilengkapi dengan Brown-out Reset (BOR), yang membantu dalam mengatur ulang program while.
Fitur Analog, Menunjukkan bahwa IC memiliki 10-bit 8-channel ADC. Artinya, IC kita dapat mengubah nilai Analog menjadi digital dengan resolusi 10-bit, dan memiliki 8 pin analog untuk membacanya. Kami juga memiliki dua komparator internal yang dapat digunakan untuk membandingkan tegangan masuk secara langsung tanpa benar-benar membacanya melalui perangkat lunak.
Fitur Khusus Mikrokontroler, menandakan bahwa ia memiliki 100.000 siklus hapus / tulis, yang berarti Anda dapat memprogramnya sekitar 100.000 kali. In-Circuit Serial Programming ™ (ICSP ™), membantu kita memprogram IC secara langsung menggunakan PICKIT3. Debugging dapat dilakukan melalui In-Circuit Debug (ICD). Fitur keamanan lainnya adalah Watchdog Timer (WDT), yang merupakan pengatur waktu yang dapat diandalkan sendiri yang mengatur ulang seluruh program jika diperlukan.
Gambar di bawah ini mewakili pinout dari IC PIC16F877A kami. Gambar ini mewakili setiap pin terhadap namanya dan fitur lainnya. Ini juga dapat ditemukan di lembar data. Simpan gambar ini berguna karena itu akan membantu kami selama perangkat keras kami bekerja.
Pemilihan Perangkat Lunak untuk Tutorial Kami:
Mikrokontroler PIC dapat diprogram dengan perangkat lunak berbeda yang tersedia di pasaran. Ada orang yang masih menggunakan bahasa Assembly untuk memprogram PIC MCU. Untuk tutorial kami, kami telah memilih perangkat lunak dan kompiler paling canggih yang telah dikembangkan oleh Microchip sendiri.
Untuk memprogram mikrokontroler PIC kita membutuhkan IDE (Integrated Development Environment), tempat pemrograman berlangsung. Sebuah compiler, di mana program kami akan dikonversi menjadi MCU bentuk yang dapat dibaca disebut file HEX. Sebuah IPE (Integrated Programming Environment), yang digunakan untuk membuang file hex kami ke MCU PIC kami.
IDE: MPLABX v3.35
IPE: MPLAB IPE v3.35
Penyusun: XC8
Microchip telah memberikan ketiga software ini secara gratis. Mereka dapat diunduh langsung dari halaman resmi mereka. Saya juga telah memberikan tautan untuk kenyamanan Anda. Setelah diunduh, instal di komputer Anda. Jika Anda memiliki masalah dalam melakukannya, Anda dapat melihat Video yang diberikan di bagian akhir.
Untuk tujuan Simulasi kami telah menggunakan perangkat lunak yang disebut PROTEUS 8, yang disediakan oleh Labcenter. Perangkat lunak ini dapat digunakan untuk mensimulasikan kode kami yang dihasilkan menggunakan MPLABX. Ada perangkat lunak demonstrasi gratis yang dapat diunduh dari halaman resmi mereka melalui tautan.
Bersiap dengan Perangkat Keras:
Semua tutorial kami akan berakhir dengan perangkat keras. Untuk mempelajari PIC dengan cara terbaik, selalu disarankan untuk menguji kode dan sirkuit kami melalui perangkat keras, karena keandalan simulasi sangat kurang. Kode yang berfungsi pada perangkat lunak simulasi, mungkin tidak berfungsi seperti yang Anda harapkan pada perangkat keras Anda. Oleh karena itu kami akan membangun sirkuit kami sendiri pada papan Perf untuk membuang kode kami.
Untuk membuang atau meng-upload kode kita ke PIC, kita akan membutuhkan Pickit 3. The Pickit 3 programmer / debugger adalah sederhana, murah di sirkuit debugger yang dikendalikan oleh PC yang menjalankan MPLAB IDE (v8.20 atau lebih) perangkat lunak pada platform Windows. The Pickit 3 programmer / debugger merupakan bagian integral dari alat suite pengembangan insinyur. Selain itu kami juga akan membutuhkan perangkat keras lain seperti papan Perf, stasiun solder, IC PIC, osilator kristal, kapasitor dll. Tetapi kami akan menambahkannya ke daftar kami saat kami melanjutkan tutorial kami.
Saya membawa PICkit 3 saya dari amazon, video unboxingnya dapat ditemukan di video di bawah ini. Tautan untuk PICKIT3 juga tersedia; harganya mungkin agak tinggi tapi percayalah itu layak untuk diinvestasikan.