- Senibina dan Aplikasi Mikrokontroler PIC:
- Pemilihan Mikrokontroler PIC untuk Tutorial Kami:
- Pemilihan Perisian untuk Tutorial Kami:
- Bersedia dengan Perkakasan:
Pada tahun 1980, Intel mengembangkan Mikrokontroler pertama (8051) dengan Harvard Architecture 8051 dan sejak itu Mikrokontroler membawa revolusi dalam Elektronik dan industri tertanam. Dan dengan kemajuan teknologi dari masa ke masa, sekarang kita mempunyai banyak mikrokontroler yang lebih cekap dan berkuasa rendah seperti AVR, PIC, ARM. Mikrokontroler ini lebih mampu dan senang digunakan, mempunyai protokol komunikasi terkini seperti USB, I2C, SPI, CAN dll. Malah Arduino dan Raspberry Pi telah mengubah perspektif sepenuhnya terhadap Mikrokontroler, dan Raspberry Pi bukan hanya mikrokontroler tetapi mempunyai keseluruhan komputer di dalam.
Ini akan menjadi bahagian pertama dari siri tutorial yang belum akan datang, yang akan membantu anda dalam mempelajari PIC Microcontrollers. Sekiranya anda berasal dari latar belakang elektronik dan anda selalu ingin memulakan dengan mempelajari beberapa Mikrokontroler dan melibatkan diri anda dalam dunia pengekodan dan pembinaan bahan, maka siri tutorial ini akan menjadi langkah pertama anda bermula.
Mikrokontroler PIC adalah pilihan yang sangat mudah untuk memulakan projek mikrokontroler, kerana ia mempunyai forum sokongan yang sangat baik dan akan bertindak sebagai asas yang kuat untuk membangun semua Mikrokontroler canggih yang belum anda pelajari.
Tutorial ini dibuat untuk Pelajar mutlak atau menengah; kami telah merancang untuk memulakan dengan projek yang paling asas kepada yang maju. Kami mengharapkan tiada prasyarat daripada pelajar kerana kami ada di sini untuk membantu anda dari mana-mana peringkat. Setiap tutorial akan mempunyai penjelasan dan simulasi teori diikuti dengan tutorial langsung. Tutorial ini tidak akan melibatkan papan pengembangan, kami akan membuat litar sendiri menggunakan papan perf. Jadi bersiaplah, dan luangkan masa setiap minggu untuk meningkatkan anda dengan Mikrokontroler.
Sekarang mari kita mulakan dengan Pengenalan Ringkas pada PIC Microcontrollers dan beberapa persediaan perisian untuk membuat kita menjalankan tutorial seterusnya. Periksa Video di hujungnya untuk memasang dan menyiapkan MPLABX, XC8, Proteus dan membuka cepat pengaturcara PICkit 3.
Senibina dan Aplikasi Mikrokontroler PIC:
Mikrokontroler PIC diperkenalkan oleh Microchip Technologies pada tahun 1993. Pada mulanya PIC ini dikembangkan untuk menjadi sebahagian daripada Komputer PDP (Pemrosesan Data Terprogram) dan setiap peranti persisian komputer dihubungkan menggunakan mikrokontroler PIC ini. Oleh itu PIC mendapat namanya seperti Peripheral Interface Controller. Kemudian Microchip telah mengembangkan banyak IC siri PIC yang dapat digunakan untuk aplikasi kecil seperti aplikasi pencahayaan hingga yang maju.
Setiap Mikrokontroler harus dibina berdasarkan beberapa seni bina, jenis Senibina yang paling terkenal adalah seni bina Harvard, PIC kami berdasarkan seni bina ini kerana ia termasuk dalam keluarga klasik 8051. Mari masuk ke intro kecil mengenai seni bina Harvard PIC.
The PIC16F877A mikropengawal terdiri daripada CPU terbina, I / O port, organisasi memori, A / D converter, pemasa / kaunter, sampukan, komunikasi bersiri, pengayun dan modul PKC untuk mengumpulkan jenama IC mikropengawal kuat untuk pemula untuk memulakan dengan. Gambarajah blok umum Senibina PIC ditunjukkan di bawah
CPU (Unit Pemprosesan Pusat):
Mikrokontroler mempunyai CPU untuk melakukan operasi Aritmetik, keputusan logik dan operasi berkaitan Memori. CPU harus berkoordinasi antara RAM dan periferal lain dari Mikrokontroler.
Ia terdiri daripada ALU (Unit Logik Aritmetik), yang menggunakannya menjalankan operasi aritmetik dan keputusan logik. A MU (unit Memory) juga hadir untuk menyimpan arahan selepas mereka mendapat dilaksanakan. MU ini menentukan ukuran program MC kami. Ini juga terdiri dari CU (Control Unit) yang berfungsi sebagai bus komunikasi antara CPU dan periferal lain dari mikrokontroler. Ini membantu dalam mengambil data setelah diproses dalam daftar yang ditentukan.
Memori Akses Rawak (RAM):
Memori Akses Rawak adalah yang menentukan kelajuan mikrokontroler kita. RAM terdiri daripada bank daftar di dalamnya, yang masing-masing diberikan tugas tertentu. Secara keseluruhan mereka boleh dikelaskan kepada dua jenis:
- Daftar Tujuan Umum (GPR)
- Daftar Fungsi Khas (SFR)
Seperti namanya GPR digunakan untuk fungsi daftar umum seperti penambahan, pengurangan dll Operasi ini terhad dalam 8-bit. Semua daftar di bawah GPR adalah pengguna yang boleh ditulis dan boleh dibaca. Mereka tidak mempunyai fungsi sendiri kecuali perisian yang ditentukan.
Walaupun SFR digunakan untuk melakukan fungsi khas yang rumit yang juga melibatkan beberapa pengendalian 16-bit, daftarnya hanya dapat dibaca (R) dan kita tidak dapat menulis (W) apa pun kepada mereka. Oleh itu, register ini mempunyai fungsi yang telah ditentukan, yang ditetapkan pada saat pembuatan dan mereka hanya menunjukkan hasilnya kepada kita, dengan menggunakan mana kita dapat melakukan beberapa operasi yang berkaitan.
Memori Hanya Baca (ROM):
Ingatan hanya baca adalah tempat di mana program kami disimpan. Ini menentukan ukuran maksimum program kami; oleh itu ia juga disebut sebagai memori program. Ketika MCU sedang beroperasi, program yang tersimpan dalam ROM dijalankan sesuai setiap siklus arahan. Unit memori ini dapat digunakan hanya ketika memprogram PIC, selama pelaksanaannya menjadi memori hanya baca.
Memori Boleh Baca Hanya Boleh Diprogramkan secara Elektrik (EEPROM):
EEPROM adalah jenis Unit Memori yang lain. Dalam nilai memori ini dapat disimpan semasa pelaksanaan program. Nilai-nilai yang disimpan di sini hanya boleh Dihapus Secara Elektrik sahaja. Nilai-nilai ini akan disimpan dalam PIC walaupun IC dimatikan. Mereka dapat digunakan sebagai ruang memori kecil untuk menyimpan nilai yang dilaksanakan; namun ruang memori akan berkurang sedikit demi sedikit KB.
Memori Kilat :
Memori kilat juga Memori Baca Sahaja (PROM) yang dapat diprogram di mana kita dapat membaca, menulis dan menghapus program beribu-ribu kali. Secara amnya, mikrokontroler PIC menggunakan jenis ROM ini.
Pelabuhan I / O
- PIC16F877A kami terdiri daripada lima port iaitu Port A, Port B, Port C, Port D & Port E.
- Dari semua lima PORTS hanya Port A adalah 16-bit, dan PORT E adalah 3-bit. PORTS selebihnya adalah 8-bit.
- Pin pada PORTS ini boleh digunakan sebagai Input atau Output, berdasarkan konfigurasi Daftar TRIS.
- Selain melakukan operasi I / O, pin juga boleh digunakan untuk fungsi Khas seperti SPI, Interrupt, PWM dll.
Bas:
Istilah Bus hanyalah sekumpulan kabel yang menghubungkan Input atau Output Device dengan CPU dan RAM.
Bas data digunakan untuk memindahkan atau menerima data.
Bus alamat digunakan untuk menghantar alamat memori dari periferal ke CPU. Pin I / O digunakan untuk menghubungkan periferal luaran; UART dan USART kedua protokol komunikasi bersiri digunakan untuk menghubungkan peranti bersiri seperti GSM, GPS, Bluetooth, IR, dll.
Pemilihan Mikrokontroler PIC untuk Tutorial Kami:
Pengawal mikro PIC dari Syarikat Microchip dibahagikan kepada 4 keluarga besar. Setiap keluarga mempunyai pelbagai komponen yang menyediakan ciri khas bawaan:
- Keluarga pertama, PIC10 (10FXXX) - dipanggil Low End.
- Keluarga kedua, PIC12 (PIC12FXXX) - dipanggil Mid-Range.
- Keluarga ketiga ialah PIC16 (16FXXX).
- Keluarga keempat ialah PIC 17/18 (18FXXX)
Oleh kerana kita mula belajar mengenai PIC, mari kita pilih IC yang digunakan dan tersedia secara universal. IC ini tergolong dalam keluarga 16F dan nombor bahagian IC adalah PIC16F877A. Dari tutorial pertama hingga akhir, kita akan menggunakan IC yang sama kerana IC ini dilengkapi dengan semua ciri canggih seperti SPI, I2C, dan UART dll. Tetapi jika anda tidak mendapat apa-apa perkara ini sekarang tidak mengapa, kami akan maju melalui setiap tutorial dan akhirnya menggunakan semua ciri 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 cuba. Sekarang kerana kami telah memilih PIC16F877A ini mari kita membaca spesifikasi IC ini di Lembaran Data.
The Peripheral Feature, menyebutkan bahawa ia mempunyai 3 Timer, dua di antaranya adalah 8-bit dan satu adalah 16-bit prescaler. Pemasa ini digunakan untuk membuat fungsi pemasaan dalam program kami. Mereka juga boleh digunakan sebagai pembilang. Ini juga menunjukkan bahawa ia mempunyai pilihan CCP (Capture Bandingkan dan PWM), yang membantu kami menghasilkan isyarat PWM dan membaca isyarat frekuensi masuk. Untuk komunikasi dengan peranti luaran, ia mempunyai SPI, I2C, PSP dan USART. Untuk tujuan keselamatan, ia dilengkapi dengan Brown-out Reset (BOR), yang membantu dalam mengatur semula program sementara.
Ciri Analog, Menunjukkan bahawa IC mempunyai ADC 8-saluran 10-bit. Ini bermaksud, IC kami dapat menukar nilai Analog menjadi digital dengan resolusi 10-bit, dan mempunyai 8 pin analog untuk membacanya. Kami juga mempunyai dua pembanding dalaman yang boleh digunakan untuk membandingkan voltan masuk secara langsung tanpa benar-benar membacanya melalui perisian.
Keistimewaan Mikrokontroler Khas, menandakan bahawa ia mempunyai 100,000 kitaran penghapusan / penulisan, yang bermaksud anda boleh memprogramnya sekitar 100,000 kali. In-Circuit Serial Programming ™ (ICSP ™), membantu kami memprogram IC secara langsung menggunakan PICKIT3. Debugging boleh dibuat melalui In-Circuit Debug (ICD). Ciri keselamatan lain ialah Watchdog Timer (WDT), yang merupakan pemasa yang boleh dipercayai sendiri yang mengatur semula keseluruhan program jika diperlukan.
Gambar di bawah menunjukkan pin IC PIC16F877A kami. Gambar ini mewakili setiap pin dengan nama dan ciri-ciri yang lain. Ini juga boleh didapati di lembar data. Pastikan gambar ini berguna kerana ia akan membantu kita semasa perkakasan kita berfungsi.
Pemilihan Perisian untuk Tutorial Kami:
Mikrokontroler PIC dapat diprogramkan dengan perisian yang berbeza yang terdapat di pasaran. Ada orang yang masih menggunakan bahasa Assembly untuk memprogram MCU PIC. Untuk tutorial kami, kami telah memilih perisian dan penyusun paling maju yang telah dibangunkan oleh Microchip itu sendiri.
Untuk memprogram mikrokontroler PIC, kita memerlukan IDE (Integrated Development Environment), di mana pengaturcaraan berlangsung. A pengkompil, di mana program kami mendapat ditukar menjadi dipanggil fail HEX MCU bentuk yang boleh dibaca. An IPE (Integrated Programming Alam Sekitar), yang digunakan untuk membuang fail hex kami ke dalam PIC MCU kami.
IDE: MPLABX v3.35
IPE: MPLAB IPE v3.35
Penyusun: XC8
Microchip telah memberikan ketiga-tiga perisian ini secara percuma. Mereka boleh dimuat turun terus dari halaman rasmi mereka. Saya juga telah memberikan pautan untuk kemudahan anda. Setelah dimuat turun, pasangkannya di komputer anda. Sekiranya anda menghadapi masalah, anda boleh melihat Video yang diberikan di akhir.
Untuk tujuan Simulasi, kami telah menggunakan perisian bernama PROTEUS 8, yang disediakan oleh Labcenter. Perisian ini dapat digunakan untuk mensimulasikan kod kami yang dihasilkan menggunakan MPLABX. Terdapat perisian demonstrasi percuma yang boleh dimuat turun dari halaman rasmi mereka melalui pautan.
Bersedia dengan Perkakasan:
Semua tutorial kami akan berakhir dengan perkakasan. Untuk mempelajari PIC dengan cara yang terbaik, selalu disarankan untuk menguji kod dan litar kami melalui perkakasan, kerana kebolehpercayaan simulasi sangat kurang. Kod yang berfungsi pada perisian simulasi, mungkin tidak berfungsi seperti yang anda harapkan pada perkakasan anda. Oleh itu, kami akan membina litar sendiri di papan Perf untuk membuang kod kami.
Untuk membuang atau memuat naik kod kami ke dalam PIC, kami memerlukan PICkit 3. The PICkit 3 programmer / penyahpepijat ialah, kos rendah di litar penyahpepijat mudah yang dikawal oleh PC berjalan MPLAB IDE (v8.20 atau lebih besar) perisian pada platform Windows. The PICkit 3 programmer / penyahpepijat adalah merupakan sebahagian daripada alat suite jurutera pembangunan ini. Di samping itu, kami juga memerlukan perkakasan lain seperti papan Perf, stesen solder, IC PIC, pengayun kristal, kapasitor dan lain-lain. Tetapi kami akan menambahkannya ke senarai kami semasa kami menjalani tutorial kami.
Saya membawa PICkit 3 saya dari amazon, video unboxing yang sama boleh didapati dalam video di bawah. Pautan untuk PICKIT3 juga disediakan; harganya mungkin sedikit tinggi tetapi percayalah ia patut dilaburkan.