Pengantar PIC16F17146
PIC16F17146 adalah chip mikrokontroler yang termasuk dalam keluarga PIC16F, yang terkenal karena kinerjanya yang tinggi dan konsumsi daya yang rendah. Chip ini umumnya digunakan dalam berbagai perangkat elektronik, seperti perangkat elektronik konsumen, aplikasi otomotif, dan sistem kontrol industri. PIC16F17146 menawarkan berbagai fitur, termasuk beberapa antarmuka komunikasi, konverter analog-ke-digital, dan memori yang cukup besar untuk menyimpan instruksi program dan data. Chip serbaguna ini memungkinkan pengembang untuk membuat aplikasi canggih dengan mudah, berkat arsitekturnya yang fleksibel dan perangkat tambahan yang lengkap. Misalnya, chip ini dapat digunakan dalam sistem otomotif untuk mengontrol fungsi mesin, atau dalam perangkat rumah pintar untuk mengelola berbagai tugas otomatisasi rumah.

Fitur PIC16F17146
- Arsitektur RISC yang Dioptimalkan untuk Kompiler C
- Inti kelas menengah yang ditingkatkan dengan 49 instruksi, 16 tingkat tumpukan
- Memori program flash dengan kemampuan baca/tulis mandiri
- Reset Daya Hidup (POR) Arus Rendah
- Reset Brown-Out (BOR) yang Dapat Diprogram dengan Pemulihan Cepat
- Reset Brown-out Daya Rendah (LPBOR)
- Mode Daya Rendah Idle dan Hibernate
- Timer Pengawas Berjendela (WWDT)
- Penonaktifan Modul Periferal (PMD)
- Pemilihan Pin Periferal (PPS)
- Reset daya hidup/mati yang ditingkatkan
- Timer Pengaktifan Daya yang Dapat Dikonfigurasi (PWRT)
Spesifikasi PIC16F17146
| Attribute | Value |
|---|---|
| Model | PIC16F17146 |
| Architecture | RISC |
| Temperature Range | -40°C to 85°C |
| Frequency | up to 32MHz |
| Voltage | 1.8V to 5.5V |
| Size | 6.5 x 9.4 x 1.5mm |
| Memory | up to 28 KB |
| EEPROM | up to 256 Bytes |
| SRAM | up to 2 KB |
| Timer | 3 x 16-bit, 3 x 8-bit |
| PWM | 4 x 16-bit |
| CLC | 4 |
| DAC | 2 x 8-bit |
| ADC | 1 x 12-bit |
| USART | 1 |
| I2C | 1 x 7/10-bit |
| SPI | 1 |
| Operational Amplifier | 1 |
| I/O Port | up to 35 pins |
| Package | 14-Pin PDIP, SOIC, TSSOP; 16-Pin VQFN; 20-Pin PDIP, SOIC, SSOP, VQFN |
Bagaimana Cara Memprogram Papan Pengembangan Curiosity Nano PIC16F17146?

Alat yang diperlukan:
- Lingkungan Pengembangan Terpadu (IDE) MPLAB® X
- Papan Curiosity Nano PIC16F17146 *1
- Kabel USB * 1
PIC16F17146 Curiosity Nano - Uji Kedipan LED
Pertama-tama, unduh dan instal MPLAB X IDE v6.10 dari situs Microchip:
https://www.microchip.com/en-us/tools-resources/develop/mplab-x-ide#


Setelah menginstal MPLAB® X IDE, kita akan melihat antarmuka yang ramah pengguna. Jika Anda seorang pemula, tersedia beberapa tutorial untuk pemula yang bisa Anda ikuti.
Lanjutkan ke proyek kita, klik "File > New Project" untuk membuat proyek baru.

Pada langkah ini, kita memilih "Microchip Embedded > Standalone Project"; opsi ini menggunakan berkas makefile yang dihasilkan oleh IDE untuk membangun proyek Anda.

Selanjutnya, pilih perangkat "PIC16F17146" dan alatnya.

Pilih rangkaian alat kompilasi untuk papan pengembangan Anda.

Setelah menyelesaikan langkah-langkah di atas, klik tombol "MCC" untuk mengonfigurasi kode program.

Pilih jenis konten di "MCC Content Manager Wizard" untuk proyek Anda. Jika Anda tidak yakin jenis mana yang harus dipilih, silakan lihat detail resminya.

Untuk memastikan fungsi MCC dapat segera dijalankan, Anda dapat mengaktifkan mode offline.

Sebelum mengonfigurasi I/O, bacalah dengan saksama skema Papan Pengembangan PIC16F17146 Curiosity Nano. Dari diagram skema tersebut, kita dapat mengetahui bahwa:
I/O menyala ketika RC1 mengeluarkan level rendah; I/O tidak memiliki resistor pull-up eksternal, sehingga pull-up on-chip dapat dikonfigurasi, dan port memicu sinyal level rendah setelah ditekan.

Konfigurasi akhirnya adalah sebagai berikut. Konfigurasi ini akan membuat LED menyala secara default. Jika Anda ingin mematikan LED secara default, Anda dapat mencentang opsi Start High yang sesuai, yaitu agar keluaran IO berada pada level tinggi saat daya dinyalakan.

Jika kita tidak menggunakan fungsi interupsi I/O, konfigurasi berakhir di sini; klik "Generate" untuk menghasilkan kode.

Saat menulis kode, kita dapat menggunakan fitur pelengkapan otomatis kode, berikut rinciannya:

Pemicu Popup Otomatis untuk Pengenal C/C++:
.;->;.*;->*;::;new ;A;a;B;b;C;c;D;d;E;e;F;f;G;g;H;h;I;i;J;j;K;k;L;l;M;m;N;n;O;o;P;p;Q;q;R;r;S;s;T;t;U;u;V;v;W;w;X;x;Y;y;Z;z;_;
Tulis kode di dalam tubuh perulangan sebagai berikut:
while(1)
{
if(BUTTON_GetValue()==0)
{
while(BUTTON_GetValue()==0);
LED_Toggle();
}
}
Klik tombol Jalankan untuk mengompilasi dan mem-flash program LED ke papan pengembangan PIC16F17146 Curiosity Nano.

Selanjutnya, kembali ke tab MCC, tambahkan fungsi penundaan ke proyek, cukup klik "Sumber Daya Perangkat" > Timer > "DELAY". Kemudian, klik tombol "Generate".

Sekarang, kita masukkan huruf "DE" di main.c dan fungsi delay akan muncul.

Kode penundaan kami adalah sebagai berikut, satu dalam mikrodetik dan satu dalam milidetik:
while(1)
{
LED_Toggle();
DELAY_milliseconds(500);
}
Simpan dan jalankan program ini, Anda akan melihat bahwa LED pada papan pengembangan kita mulai berkedip dengan interval 1 detik.
Mengurangi Konsumsi Daya dengan Seri PIC16F17146
Banyak desain tertanam saat ini melibatkan sistem analog, baik yang menggunakan sensor, penguat, konverter data, maupun modul analog lainnya. Desain-desain ini sering kali bertenaga baterai demi kenyamanan konsumen dalam perangkat elektronik sehari-hari. Namun, masa pakai baterai menjadi tantangan bagi para perancang, karena sinyal analog perlu didigitalkan dan diproses, yang tidak ideal untuk aplikasi bertenaga baterai. Berikut ini beberapa cara untuk mengurangi konsumsi daya:
Periferal Mandiri Inti (CIP)
Dengan MCU seri PIC16F17146, banyak desain analog dapat mengatasi tantangan konsumsi daya. Perangkat PIC® dan AVR® menawarkan berbagai Core Independent Peripherals (CIP). CIP adalah perangkat keras khusus yang dapat beroperasi secara independen dari Unit Pemrosesan Pusat (CPU). Karena terdapat banyak CIP yang tersedia pada perangkat PIC dan AVR, CIP ini dapat digunakan untuk mengalihkan tugas-tugas lain dari CPU sambil menangani antarmuka sensor, pengendalian gelombang, pengukuran waktu, dan lainnya. Akibatnya, sistem dapat beroperasi dalam mode daya rendah, yang pada akhirnya mengurangi konsumsi daya desain secara keseluruhan.
Konverter Analog-ke-Digital dengan Kemampuan Komputasi (ADCC)
Salah satu periferal analog yang menawarkan peluang penghematan energi adalah Analog-to-Digital Converter with Computation (ADCC) kami. CPU ini dilengkapi dengan beberapa mode hemat daya untuk mengurangi konsumsi daya secara keseluruhan. Salah satu fitur penghematan energi yang disediakan oleh MCU seri PIC16F17146 adalah mode SLEEP, di mana sebagian besar MCU dimatikan, sehingga mengonsumsi daya lebih sedikit dan mengurangi noise pengukuran selama konversi ADC. ADCC memiliki osilator khusus yang memungkinkan perangkat keras beroperasi dalam mode sleep. Ketika pemicu bangun diaktifkan, CPU akan segera melanjutkan operasinya.
Mode Siaga dan Mode Doze
Mode hemat daya lain yang ditawarkan oleh MCU seri PIC16F17146 meliputi mode Idle dan mode Doze. Dalam mode Idle, CPU menghentikan semua operasi lainnya sementara periferal tetap aktif, sedangkan dalam mode Doze, CPU beroperasi dengan frekuensi clock instruksi yang lebih rendah.
Penonaktifan Modul Periferal (PMD)
Peripheral Module Disable (PMD) adalah fitur lain pada MCU. Meskipun tidak diaktifkan, perangkat periferal yang tidak digunakan tetap mengonsumsi sedikit daya parasit. Dengan mengaktifkan PMD, pengguna dapat mengaktifkan atau menonaktifkan perangkat periferal yang tidak digunakan. Dengan menonaktifkan perangkat-perangkat periferal ini, MCU beroperasi pada tingkat daya serendah mungkin, sehingga mengurangi konsumsi daya totalnya.
Dalam pengembangan sistem tertanam, MCU seri PIC16F17146, bersama dengan MCU 8-bit Microchip lainnya, menawarkan berbagai pilihan kepada pengguna untuk mengoptimalkan konsumsi daya sistem tertanam. Untuk informasi lebih lanjut dan untuk mengetahui cara menerapkan desain berdaya rendah pada proyek Anda berikutnya, pastikan untuk mengunjungi MPLAB® Discover, yang menyediakan beragam proyek, termasuk banyak aplikasi berdaya rendah.




