PIC16F887-I/P memakai datasheet yang sama dengan PIC16F886-I/SP, jadi isinya sama. Bedanya biasanya ada di kemasan, rentang suhu, atau cara pengemasan dari pabrik. Pastikan kode lengkapnya cocok dengan footprint di PCB-mu.
Ringkasan
PIC16F886 adalah mikrokontroler 8-bit CMOS Flash dari keluarga PIC16F882/883/884/886/887 yang menggunakan arsitektur RISC dengan set instruksi hanya 35 buah. Semua instruksi dieksekusi dalam satu siklus kecuali instruksi cabang, sehingga eksekusi program menjadi cepat dan efisien. Mikrokontroler ini memiliki memori program Flash 8192 word, SRAM 368 byte, dan EEPROM data 256 byte, serta 24 pin I/O yang dapat dikonfigurasi secara individual.
5V. 0, serta MSSP untuk SPI dan I2C. Mikrokontroler ini juga dilengkapi fitur reset seperti Power-on Reset, Brown-out Reset, Watchdog Timer, dan perlindungan kode.
PIC16F886 cocok digunakan untuk aplikasi embedded yang membutuhkan kontrol periferal analog dan digital, komunikasi serial, dan pengendalian motor atau LED dengan PWM.
Fitur utama
- Arsitektur RISC dengan hanya 35 instruksi, semua instruksi satu siklus kecuali cabang
- Kecepatan operasi hingga 20 MHz dengan siklus instruksi 200 ns
- Osilator internal presisi terkalibrasi pabrik hingga ±1%, dapat dipilih 8 MHz hingga 31 kHz via software
- Rentang tegangan operasi lebar 2.0V hingga 5.5V
- Memori Flash 8192 word, SRAM 368 byte, EEPROM 256 byte
- 24 pin I/O dengan kontrol arah individual, sumber/sink arus tinggi untuk drive LED langsung
- Konverter A/D 10-bit dengan 11 kanal
- Dua komparator analog dengan referensi tegangan terprogram (CVREF) dan referensi tetap 0.6V
- Timer0 8-bit, Timer1 16-bit dengan gate control, Timer2 8-bit
- Modul ECCP dan CCP dengan PWM 10-bit hingga 4 kanal, dead time terprogram, frekuensi maksimum 20 kHz
- EUSART mendukung RS-485, RS-232, LIN 2.0, auto-baud detect, auto-wake-up on start bit
- MSSP mendukung SPI 3-wire (4 mode) dan I2C master/slave dengan address mask
- Fitur hemat daya: Sleep mode, Watchdog Timer arus rendah, ULPWU
- Reset: Power-on Reset, Power-up Timer, Oscillator Start-up Timer, Brown-out Reset dengan kontrol software
- In-Circuit Debugger dan In-Circuit Serial Programming via dua pin
Spesifikasi utama
| Parameter | Nilai | Kondisi |
|---|---|---|
| Tegangan operasi | 2.0 - 5.5 V | rentang lebarhlm. 1 |
| Kecepatan osilator/clock input | DC - 20 MHz | operating speedhlm. 1 |
| Siklus instruksi | DC - 200 ns | operating speedhlm. 1 |
| Akurasi osilator internal | ±1 % | factory calibratedhlm. 1 |
| Rentang frekuensi osilator internal | 8 MHz - 31 kHz | software selectablehlm. 1 |
| Arus standby | 50 nA | @ 2.0V, typicalhlm. 1 |
| Resolusi A/D Converter | 10 bit | 11/14 channelshlm. 1 |
| Resolusi Capture (ECCP) | 12.5 ns | max. resolutionhlm. 1 |
| Resolusi Compare (ECCP) | 200 ns | max. resolutionhlm. 1 |
| Frekuensi PWM maksimum (ECCP) | 20 kHz | 10-bit PWM dengan 1,2,4 kanalhlm. 1 |
| Endurance Flash | 100,000 write | write Flash endurancehlm. 1 |
| Endurance EEPROM | 1,000,000 write | write EEPROM endurancehlm. 1 |
| Retensi Flash/EEPROM | > 40 years | Flash/Data EEPROM retentionhlm. 1 |
| Memori program Flash | 8192 words | PIC16F886hlm. 2 |
| SRAM | 368 bytes | PIC16F886hlm. 2 |
| EEPROM data | 256 bytes | PIC16F886hlm. 2 |
| Jumlah I/O | 24 pin | PIC16F886hlm. 2 |
Nilai diambil dari datasheet; “hlm.” menunjuk halaman datasheet tempat angka itu tertulis.
Pinout PIC16F887-I/P
28-pin PDIP/SOIC/SSOP 28 pin
| Pin | Nama | Fungsi |
|---|---|---|
| 1 | RE3/MCLR/VPP | Input umum / Master Clear dengan pull-up internal / tegangan pemrogramanhlm. 3 |
| 2 | RA0/AN0/ULPWU/C12IN0- | I/O umum, input A/D channel 0, input Ultra Low-Power Wake-up, input negatif komparator C1/C2hlm. 3 |
| 3 | RA1/AN1/C12IN1- | I/O umum, input A/D channel 1, input negatif komparator C1/C2hlm. 3 |
| 4 | RA2/AN2/VREF-/CVREF/C2IN+ | I/O umum, input A/D channel 2, referensi negatif A/D, output referensi tegangan komparator, input positif komparator C2hlm. 3 |
| 5 | RA3/AN3/VREF+/C1IN+ | I/O umum, input A/D channel 3, referensi positif A/D, input positif komparator C1hlm. 3 |
| 6 | RA4/T0CKI/C1OUT | I/O umum, input clock Timer0, output komparator C1hlm. 3 |
| 7 | RA5/AN4/SS/C2OUT | I/O umum, input A/D channel 4, input Slave Select, output komparator C2hlm. 3 |
| 8 | VSS | Ground referensihlm. 3 |
| 9 | RA7/OSC1/CLKIN | I/O umum, koneksi crystal/resonator, input clock eksternal/RC oscillatorhlm. 3 |
| 10 | RA6/OSC2/CLKOUT | I/O umum, koneksi crystal/resonator, output FOSC/4hlm. 3 |
| 11 | RC0/T1OSO/T1CKI | I/O umum, output osilator Timer1, input clock Timer1hlm. 3 |
| 12 | RC1/T1OSI/CCP2 | I/O umum, input osilator Timer1, Capture/Compare/PWM2hlm. 3 |
| 13 | RC2/P1A/CCP1 | I/O umum, output PWM, Capture/Compare/PWM1hlm. 3 |
| 14 | RC3/SCK/SCL | I/O umum, clock SPI, clock I2Chlm. 3 |
| 15 | RC4/SDI/SDA | I/O umum, input data SPI, input/output data I2Chlm. 3 |
| 16 | RC5/SDO | I/O umum, output data SPIhlm. 3 |
| 17 | RC6/TX/CK | I/O umum, transmit EUSART asynchronous, clock EUSART synchronoushlm. 3 |
| 18 | RC7/RX/DT | I/O umum, input EUSART asynchronous, data EUSART synchronoushlm. 3 |
| 19 | VSS | Ground referensihlm. 3 |
| 20 | VDD | Suplai positifhlm. 3 |
| 21 | RB0/AN12/INT | I/O umum, input A/D channel 12, interrupt eksternalhlm. 3 |
| 22 | RB1/AN10/P1C/C12IN3- | I/O umum, input A/D channel 10, output PWM, input negatif komparator C1/C2hlm. 3 |
| 23 | RB2/AN8/P1B | I/O umum, input A/D channel 8, output PWMhlm. 3 |
| 24 | RB3/AN9/PGM/C12IN2- | I/O umum, input A/D channel 9, enable pemrograman ICSP, input negatif komparator C1/C2hlm. 3 |
| 25 | RB4/AN11/P1D | I/O umum, input A/D channel 11, output PWMhlm. 3 |
| 26 | RB5/AN13/T1G | I/O umum, input A/D channel 13, input gate Timer1hlm. 3 |
| 27 | RB6/ICSPCLK | I/O umum, clock pemrograman serialhlm. 3 |
| 28 | RB7/ICSPDAT | I/O umum, data I/O pemrograman ICSPhlm. 3 |
Catatan desain PCB
- Gunakan osilator internal presisi yang terkalibrasi pabrik hingga ±1% untuk menghemat komponen eksternal dan pin I/O.hlm. 1
- Manfaatkan fitur Two-Speed Start-up untuk mempercepat waktu start-up sekaligus menghemat daya.hlm. 1
- Aktifkan Brown-out Reset dengan kontrol software untuk meningkatkan keandalan pada kondisi tegangan suplai tidak stabil.hlm. 1
- Saat menggunakan osilator internal, pilih frekuensi yang sesuai kebutuhan via software antara 8 MHz hingga 31 kHz untuk mengoptimalkan konsumsi daya.hlm. 1
- Manfaatkan fitur In-Circuit Debugger yang terintegrasi untuk debugging langsung pada board tanpa memerlukan emulator eksternal.hlm. 1
- Untuk pemrograman di lapangan, gunakan ICSP melalui dua pin (ICSPCLK dan ICSPDAT) yang tersedia pada RB6 dan RB7.hlm. 1
Kemasan
Contoh pemakaian
- Sistem kontrol embedded yang membutuhkan antarmuka analog dan digital
- Pengendalian motor atau LED dengan PWM dari modul ECCP/CCP
- Komunikasi serial RS-232, RS-485, atau LIN 2.0 menggunakan EUSART
- Antarmuka sensor analog melalui konverter A/D 10-bit
- Aplikasi hemat daya dengan mode Sleep dan Watchdog Timer
- Sistem dengan kebutuhan pemrograman in-circuit via ICSP
Varian PIC16F886 lainnya
Satu datasheet, beda kode pemesanan. Akhiran kode biasanya menandai kemasan atau cara pengemasan dari pabrik.
Sumber data
Disusun dari datasheet resmi Microchip Technology (buka PDF). Ringkasan ditulis dengan bantuan AI, lalu setiap angka dan nama pin dicocokkan otomatis ke teks datasheet; yang tidak ditemukan di datasheet dibuang. Terakhir diperiksa 22 Oktober 2026. Untuk desain akhir, tetap rujuk datasheet asli.