PIC16F871-E/P - 8-bit MCU, 3.5KB Flash, 20MHz, 40-Pin PDIP | Microchip
MPN: PIC16F871-E/P ✓ AktifPIC16F871-E/P Ringkasan
What is a PIC16 microcontroller? The PIC16 family is a line of 8-bit Harvard-architecture microcontrollers from Microchip Technology that sits within the broader taxonomy of microcontroller -> embedded processor -> semiconductor. PIC16 devices use a reduced instruction set (RISC) with typically 35 single-word instructions, are Flash-based for in-field reprogrammability, and are widely used in cost-sensitive embedded designs ranging from appliance controls to industrial sensors. The PIC16F871 specifically belongs to the "PIC16F87x" mid-range sub-family with enhanced peripherals such as 10-bit ADC and USART.
Key features include an integrated ICD (In-Circuit Debugger) interface, self-programming capability, eight channels of 10-bit Analog-to-Digital conversion, two additional 8-bit timers, a 16-bit timer with capture/compare/PWM, and a Universal Asynchronous Receiver Transmitter (USART) for serial communications. The part is fully static, supports nanoWatt power management for low-power sleep modes, and exposes 33 digital I/O lines across two ports (PORTA, PORTB, PORTC, PORTD, PORTE).
Architecturally the PIC16F871 uses a Harvard memory layout with separate program and data buses, allowing simultaneous instruction fetch and operand access. Its 14-bit wide instruction word yields high code density, and the in-circuit serial programming (ICSP) interface plus ICD permit real-time debug without removing the device from the board - a feature uncommon in this price tier.
Typical applications include industrial control panels, motor drive interface logic, HVAC thermostats, appliance controllers, instrumentation front-ends, and educational/learning kits where the PIC16F871's simple toolchain (MPLAB X IDE + XC8 compiler + PICkit programmer) keeps development costs low. Designers favor this MCU when they need ADC, PWM, and serial I/O in a single 40-pin footprint.
When designing with the PIC16F871-E/P, place decoupling capacitors (100 nF ceramic plus 10 uF bulk) within 5 mm of the VDD pins, use a 4.7 kΩ pull-up on MCLR if not driven by a debug tool, and observe the 4.0 V minimum VDD - operation below this rail causes EEPROM write failure and unreliable ADC readings.
This page synthesizes Microchip datasheet specifications, distributor pricing snapshots, and a focused set of drop-in PIC16F871 alternatives not always surfaced on DigiKey or Mouser product pages, helping engineers verify pin compatibility and parametric proximity before committing to a substitution.
Alternatif penggantian untuk PIC16F871-E/P — paket yang sama, pin-pada-pin kompatibel. Bagian paket yang berbeda memerlukan kerja ulang PCB diabaikan.
Variasi di dalam seri ini
Model-series yang sama yang kompatibel dengan penggantian PIC16F871-E/P (sama faktor bentuk dan footprint) — berbeda di dalam Mounting Type, I/O Pins, In-Circuit Debug, Package, Self-Programming.
PIC16F870-E/P
✅ Drop-In📋 Alternatif referensi (tidak dalam katalog)
PIC16F872-E/P
✅ Drop-In📋 Alternatif referensi (tidak dalam katalog)
PIC16F871-E/L
✅ Drop-InKontak untuk harga
Lihat Datasheet →PIC16F871-I/P
✅ Drop-InKontak untuk harga
Lihat Datasheet →PIC16F873A-I/P
✅ Drop-In📋 Alternatif referensi (tidak dalam katalog)
PIC16F876A-I/P
✅ Drop-In📋 Alternatif referensi (tidak dalam katalog)
PIC16F871-E/P Rating Maksimal & Karakteristik Listrik
| Core Processor | PIC |
| Core Size | 8-bit |
| Program Memory Type | Flash |
| Program Memory Size | 3.5 KB (3.5K x 14) |
| RAM Size | 192 bytes |
| EEPROM Size | 64 bytes |
| Maximum Clock Speed | 20 MHz |
| Instruction Cycle | 200 ns |
| Supply Voltage (VDD) | 4.0 V to 5.5 V |
| Suhu Kerja | -40C to +125C |
| Paket / Case | 40-DIP (0.600", 15.24 mm) |
| Number of I/O Pins | 33 |
| ADC | 8 channels x 10-bit |
| Timers | 2 x 8-bit + 1 x 16-bit (with capture/compare/PWM) |
| Communication Interfaces | USART |
| In-Circuit Debug | ICD |
| Self-Programming | Yes (Flash) |
| Tipe Mounting | Through-Hole (PDIP) |
Konfigurasi Pin PIC16F871-E/P
| Pin produk 1 | MCLR — Master Clear (reset) input, active low |
| Pin produk 2 | RA0/AN0 — PORTA bit 0 / ADC channel 0 |
| Pin produk 3 | RA1/AN1 — PORTA bit 1 / ADC channel 1 |
| Pin produk 4 | RA2/AN2 — PORTA bit 2 / ADC channel 2 |
| Pin produk 5 | RA3/AN3/VREF+ — PORTA bit 3 / ADC channel 3 / ADC positive reference |
| Pin produk 6 | RA4/AN4 — PORTA bit 4 / ADC channel 4 |
| Pin produk 7 | RA5/AN5/SS — PORTA bit 5 / ADC channel 5 / SPI slave select |
| Pin produk 8 | RE0/RD/AN5 — PORTE bit 0 / parallel-port read / ADC channel 5 alt |
| Pin produk 9 | RE1/WR/AN6 — PORTE bit 1 / parallel-port write / ADC channel 6 |
| Pin produk 10 | RE2/CS/AN7 — PORTE bit 2 / parallel-port chip select / ADC channel 7 |
| Pin produk 11 | VDD — Positive supply (4.0 V to 5.5 V) |
| Pin produk 12 | VSS — Ground reference |
| Pin produk 13 | OSC1/CLKI — Oscillator crystal input / external clock input |
| Pin produk 14 | OSC2/CLKO — Oscillator crystal output / clock output |
| Pin produk 15 | RC0/T1OSO — PORTC bit 0 / Timer1 oscillator output |
| Pin produk 16 | RC1/T1OSI — PORTC bit 1 / Timer1 oscillator input |
| Pin produk 17 | RC2/CCP1 — PORTC bit 2 / Capture-Compare-PWM 1 |
| Pin produk 18 | RC3 — PORTC bit 3 |
| Pin produk 19 | RD0 — PORTD bit 0 |
| Pin produk 20 | RD1 — PORTD bit 1 |
| Pin produk 21 | RD2 — PORTD bit 2 |
| Pin produk 22 | RD3 — PORTD bit 3 |
| Pin produk 23 | RC4 — PORTC bit 4 |
| Pin produk 24 | RC5 — PORTC bit 5 |
| Pin produk 25 | RC6/TX/CK — PORTC bit 6 / USART TX / clock |
| Pin produk 26 | RC7/RX/DT — PORTC bit 7 / USART RX / data |
| Pin produk 27 | RD4 — PORTD bit 4 |
| Pin produk 28 | RD5 — PORTD bit 5 |
| Pin produk 29 | RD6 — PORTD bit 6 |
| Pin produk 30 | RD7 — PORTD bit 7 |
| Pin produk 31 | VSS — Ground reference |
| Pin produk 32 | VDD — Positive supply (4.0 V to 5.5 V) |
| Pin produk 33 | RB0/INT — PORTB bit 0 / external interrupt |
| Pin produk 34 | RB1 — PORTB bit 1 |
| Pin produk 35 | RB2 — PORTB bit 2 |
| Pin produk 36 | RB3/PGM — PORTB bit 3 / low-voltage programming |
| Pin produk 37 | RB4 — PORTB bit 4 |
| Pin produk 38 | RB5 — PORTB bit 5 |
| Pin produk 39 | RB6/PGC — PORTB bit 6 / ICSP clock |
| Pin produk 40 | RB7/PGD — PORTB bit 7 / ICSP data |
Aplikasi Umum
PIC16F871-E/P cocok untuk 6 aplikasis: Industrial Control Panels, Appliance Motor Controllers, HVAC Thermostat Interface, Instrumentation Front-Ends, Educational Microcontroller Kits, Sensor Hub / Data Logger.
Industrial Control Panels
The PIC16F871-E/P fits industrial control panels because its 8-channel 10-bit ADC can read multiple sensor inputs (temperature, pressure, current) while its USART drives a local HMI or Modbus link. The -40C to +125C extended temperature grade handles factory-floor thermal swings, and the 40-pin PDIP package is friendly to hand-soldered prototypes and field-repair workflows.
Direkomendasikan
Appliance Motor Controllers
In appliance motor controllers the PIC16F871-E/P's 16-bit timer with capture/compare/PWM drives FET gate signals for brushed and small BLDC motors, while the ADC monitors back-EMF and current. The 5 V supply rail aligns with typical appliance power trees and the 200 ns instruction cycle is fast enough for commutation loops under 10 kHz.
Direkomendasikan
HVAC Thermostat Interface
Thermostat designs benefit from the PIC16F871-E/P's 8-channel ADC reading thermistor or RTD sensors, USART driving a Wi-Fi/Ethernet co-processor, and PWM dimming a backlight or buzzer. nanoWatt sleep modes drop standby current for battery-backed thermostats and the 40-pin PDIP simplifies through-hole assembly for high-volume HVAC OEMs.
Direkomendasikan
Instrumentation Front-Ends
Bench and field instruments use the PIC16F871-E/P to digitize analog front-end signals through its 10-bit ADC and forward calibration data over USART to a host PC. The ICD interface lets engineers step through acquisition code without removing the chip, and the extended temperature range keeps the part stable inside enclosure enclosures without active cooling.
Direkomendasikan
Educational Microcontroller Kits
Universities and self-learners favor the PIC16F871-E/P because the 40-pin PDIP seats in any breadboard and pairs with low-cost PICkit programmers. MPLAB X IDE + XC8 compiler are free, the PIC16 instruction set has only 35 single-word opcodes, and the 8-channel ADC plus PWM give students enough peripherals for real lab projects without overwhelming beginners.
Direkomendasikan
Sensor Hub / Data Logger
Low-cost data loggers route multiple analog channels into the PIC16F871-E/P's 10-bit ADC and store calibration plus timestamps in the 64-byte EEPROM. The USART streams captured data to a host, and self-programming enables firmware updates in the field without an external bootloader. The 40-pin PDIP makes it serviceable in remote installations.
Direkomendasikan
Ringkasan Produk Direkomendasikan
Data referensi engineering untuk PIC16F871-E/P — pembandingan, panduan desain, dan informasi konformitas.
Panduan Pemilihan
Pembandingan dengan Alternatif
| Parameter Umum | Produk Ini | PIC16F870-E/P | PIC16F872-E/P | PIC16F871-E/L | PIC16F871-I/P | PIC16F873A-I/P |
|---|---|---|---|---|---|---|
| Package | 40-pin PDIP | 40-pin PDIP (same) | 40-pin PDIP (same) | 44-pin PLCC (adapter needed) | 40-pin PDIP (same) | 40-pin PDIP (same) |
| Brand | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology |
| Program Memory (Flash) | 3.5 KB | 2 KB | 4 KB | 3.5 KB | 3.5 KB | 7.2 KB |
| RAM | 192 bytes | 128 bytes | 192 bytes | 192 bytes | 192 bytes | 192 bytes |
| EEPROM | 64 bytes | 64 bytes | 64 bytes | 64 bytes | 64 bytes | 256 bytes |
| Max Clock Speed | 20 MHz | 20 MHz | 20 MHz | 20 MHz | 20 MHz | 20 MHz |
| Operating Temperature | -40C to +125C (Extended) | -40C to +125C (Extended) | -40C to +125C (Extended) | -40C to +125C (Extended) | -40C to +85C (Industrial) | -40C to +85C (Industrial) |
| ADC Channels | 8 x 10-bit | 8 x 10-bit | 8 x 10-bit | 8 x 10-bit | 8 x 10-bit | 5 x 10-bit |
| PWM Outputs | 1 (CCP1) | 1 (CCP1) | 1 (CCP1) | 1 (CCP1) | 1 (CCP1) | 2 (CCP1+CCP2) |
Diferensiator Kunci
- Higher Flash density than PIC16F870 in identical 40-pin PDIP package (vsPIC16F870-E/P)
- More I/O and ADC channels than PIC16F873A's reduced-pin variants (vsPIC16F873A-I/P)
- Lower cost than PIC16F872 for cost-sensitive designs (vsPIC16F872-E/P)
- Extended -40C to +125C temperature grade vs industrial -40C to +85C (vsPIC16F871-I/P)
Catatan Desain
Place a 100 nF ceramic decoupling capacitor within 5 mm of every VDD pin (pins 11 and 32) and a single 10 uF bulk tantalum or aluminum electrolytic on the supply rail. The PIC16F871-E/P switches internal digital blocks at up to 20 MHz; without local bypassing the VDD rail can sag 50-100 mV during ADC conversions, degrading 10-bit accuracy by 1-2 LSB.
MCLR must be pulled high through a 4.7 kΩ resistor for normal operation - leaving MCLR floating can cause intermittent resets or, when driving the ICSP debugger, prevent connection. When using ICD debugging, route the PGC (RB6) and PGD (RB7) lines away from high-current switching nodes; capacitive loading above 30 pF on these pins can break the ICSP clock.
Route the analog AVdd/AVss rails as a star from a single point at the regulator, and keep ADC traces (RA0-RA5, RE0-RE2) short and guarded by digital ground. For AREF use a 0.1 uF + 10 uF RC filter rather than driving AREF from a noisy source - the 10-bit ADC dynamic range depends on a clean reference.
Estimated: at 20 MHz, 5 V, and 100% CPU duty, ICC is approximately 15-20 mA, dissipating 75-100 mW in the PIC16F871-E/P. With theta_JA around 50 C/W for a 40-pin PDIP, the junction rise is only 4-5 C above ambient - well within the 125 C limit and rarely a concern at this clock/power profile.
Informasi Konformitas
RoHS and REACH compliance inferred from Microchip's standard product labeling for PIC16Fxxx PDIP parts; specific test certificates are available on Microchip's product page.