MCU PIC16F17146: Fitur & Pemrograman

Daftar Isi

PIC16F17146 Curiosity Nano Board Programming

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.

PIC16F17146 Microcontroller (MCU)

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

AttributeValue
ModelPIC16F17146
ArchitectureRISC
Temperature Range-40°C to 85°C
Frequencyup to 32MHz
Voltage1.8V to 5.5V
Size6.5 x 9.4 x 1.5mm
Memoryup to 28 KB
EEPROMup to 256 Bytes
SRAMup to 2 KB
Timer3 x 16-bit, 3 x 8-bit
PWM4 x 16-bit
CLC4
DAC2 x 8-bit
ADC1 x 12-bit
USART1
I2C1 x 7/10-bit
SPI1
Operational Amplifier1
I/O Portup to 35 pins
Package14-Pin PDIP, SOIC, TSSOP; 16-Pin VQFN; 20-Pin PDIP, SOIC, SSOP, VQFN

Bagaimana Cara Memprogram Papan Pengembangan Curiosity Nano PIC16F17146?

2022 09 26 9 40 59
Sumber Gambar: Microchip Technology | Mouser

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#

Downloading the MPLAB X IDE v6.10
Downloading the MPLAB X IDE v6.10
Installing MPLAB X IDE v6.10
Installing MPLAB X IDE v6.10

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.

Overview of MPLAB X IDE v6.10 User Interface
Overview of MPLAB X IDE v6.10 User Interface

Lanjutkan ke proyek kita, klik "File > New Project" untuk membuat proyek baru.

Create a New Project in MPLAB X IDE
Create a New Project in MPLAB X IDE

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

Choose a Standalone Project in MPLAB X IDE
Choose a Standalone Project in MPLAB X IDE

Selanjutnya, pilih perangkat "PIC16F17146" dan alatnya.

Select Device - PIC16F17146 Curiosity Nano
Select Device - PIC16F17146 Curiosity Nano

Pilih rangkaian alat kompilasi untuk papan pengembangan Anda.

Select Compiler Toolchains
Select Compiler Toolchains

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

Open MCC Content Manager
Open MCC Content Manager

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

Select MCC Melody
Select MCC Melody

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

Run MCC in Offline Mode
Run MCC in Offline Mode

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.

PIC16F17146 Curiosity Nano MCU Schematic
PIC16F17146 Curiosity Nano MCU Schematic

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.

PIC16F17146 Curiosity Nano Input Output (IO) Configuration
PIC16F17146 Curiosity Nano Input Output (IO) Configuration

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

Generate the Code of LED Blinking for PIC16F17146 Curiosity Nano
Generate the Code of LED Blinking for PIC16F17146 Curiosity Nano

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

Apply Code Completion for PIC16F17146 Curiosity Nano
Apply Code Completion for PIC16F17146 Curiosity Nano

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.

Program the Project PIC16F17146 Curiosity Nano
Program the Project PIC16F17146 Curiosity Nano

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

Add the Delay Module Code to Project
Add the Delay Module Code to Project

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

Display Delay Function in main. c
Display Delay Function in main. c

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.

Berlangganan

Daftar ke milis kami untuk mendapatkan pembaruan blog bulanan, berita teknologi, dan studi kasus. Kami tidak akan pernah mengirimkan spam, dan Anda dapat berhenti berlangganan kapan saja.

Scroll to Top

Instant Quote