PIC16F871-I/L - 8-bit 20MHz 3.5KB Flash MCU 44-PLCC | Microchip
MPN: PIC16F871-I/L ✓ AktifPIC16F871-I/L Ringkasan
A PIC16-family 8-bit microcontroller is a RISC-based computing core that combines a small instruction set, on-chip non-volatile flash memory, and a rich set of analog and digital peripherals. Within the broader IC hierarchy, a PIC16 sits below 32-bit Cortex-M0+/M4 devices in capability but offers a mature, low-cost, low-power solution for embedded control tasks. The PIC16F871 specifically belongs to the mid-range "F" flash-based sub-family, providing in-system self-programming and nanoWatt power management for energy-conscious designs.
Key features include 8 channels of 10-bit Analog-to-Digital (A/D) conversion, two additional timers beyond the standard Timer0, a capture/compare/PWM module, a Universal Asynchronous Receiver Transmitter (USART) for serial communication, and on-chip in-circuit debug (ICD) support. The 33 digital I/O lines provide flexible pin assignment for sensor interfacing, pushbuttons, LED drivers, and communication busses. The 64-byte EEPROM is byte-erasable and rated for high write-cycle endurance, making it well suited for storing calibration coefficients and user configuration data that must survive power cycles.
Architecturally, the PIC16F871 uses Microchip's enhanced Harvard architecture with separate program and data buses, enabling simultaneous instruction fetch and operand access for predictable deterministic timing. The 14-bit instruction word and 8-bit data path, combined with hardware stack and dedicated peripheral registers, yield compact code density and predictable interrupt latency. In-circuit serial programming (ICSP) and ICD allow firmware updates and live debugging through just two I/O pins, reducing the prototype-to-production gap.
Typical applications include industrial control front-ends, sensor signal conditioning nodes, HVAC actuator controllers, and consumer appliance user-interface boards where a mid-range 8-bit core is sufficient. The on-board 10-bit ADC and PWM capture/compare channel simplify closed-loop motor and process control designs.
When designing with this part, verify the operating temperature grade ("-I" = industrial -40 to +85 °C) against your enclosure thermal envelope, and ensure your programmer supports the PIC16F871 ICD pin assignment. A 100 nF decoupling capacitor placed within 5 mm of VDD is essential for clean ADC readings.
This page synthesizes distributor pricing from Mouser, DigiKey, and Octopart alongside pin-compatible PIC16F871 drop-in alternatives and practical design notes not consolidated in the manufacturer datasheet.
Alternatif penggantian untuk PIC16F871-I/L — 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-I/L (sama faktor bentuk dan footprint) — berbeda di dalam Core Architecture, Package, Mounting Type, Operating Temperature, ADC.
PIC16F871-E/L
✅ Drop-InKontak untuk harga
Lihat Datasheet →PIC16F871-I/PT
✅ Drop-InKontak untuk harga
Lihat Datasheet →PIC16F871T-I/L
✅ Drop-InKontak untuk harga
Lihat Datasheet →PIC16F870-I/L
✅ Drop-In📋 Alternatif referensi (tidak dalam katalog)
PIC16F872-I/L
✅ Drop-In📋 Alternatif referensi (tidak dalam katalog)
PIC16F871-I/L Rating Maksimal & Karakteristik Listrik
| Core Architecture | PIC 8-bit RISC (enhanced mid-range Harvard) |
| Program Memory Type | Flash |
| Program Memory Size | 3.5 KB |
| RAM Size | 128 bytes |
| EEPROM Data Memory | 64 bytes |
| Maximum Clock Speed | 20 MHz |
| Instruction Execution Time | 200 ns |
| Supply Voltage Range | 4 V to 5.5 V |
| I/O Pins | 33 |
| ADC Channels | 8 |
| ADC Resolution | 10-bit |
| Timers | 3 (Timer0, Timer1, Timer2) |
| Capture/Compare/PWM Modules | 1 |
| USART | 1 |
| Paket | 44-pin PLCC |
| Suhu Kerja | -40 °C to +85 °C (industrial) |
| Tipe Mounting | Surface Mount / Socket |
| In-Circuit Debug | Yes (ICD) |
| Status RoHS | Compliant (Pb-free) |
Konfigurasi Pin PIC16F871-I/L
| Pin produk 1 | NC — Not connected (per datasheet) |
| Pin produk 2 | RA0/AN0 — Port A bit 0 / ADC input channel 0 |
| Pin produk 3 | RA1/AN1 — Port A bit 1 / ADC input channel 1 |
| Pin produk 4 | RA2/AN2 — Port A bit 2 / ADC input channel 2 |
| Pin produk 5 | RA3/AN3/VREF+ — Port A bit 3 / ADC input channel 3 / VREF+ |
| Pin produk 6 | RA4/T0CKI — Port A bit 4 / Timer0 clock input |
| Pin produk 7 | RA5/AN4/SS — Port A bit 5 / ADC input channel 4 / SPI slave select |
| Pin produk 8 | RE0/RD/AN5 — Port E bit 0 / parallel read control / ADC input 5 |
| Pin produk 9 | RE1/WR/AN6 — Port E bit 1 / parallel write control / ADC input 6 |
| Pin produk 10 | RE2/CS/AN7 — Port E bit 2 / parallel chip select / ADC input 7 |
| Pin produk 11 | VDD — Positive supply (4-5.5 V) |
| Pin produk 12 | VSS — Ground reference |
| Pin produk 13 | OSC1/CLKIN — Crystal oscillator input / external clock |
| Pin produk 14 | OSC2/CLKOUT — Crystal oscillator output / clock out |
| Pin produk 15 | RC0/T1OSO/T1CKI — Port C bit 0 / Timer1 oscillator output / Timer1 clock input |
| Pin produk 16 | RC1/T1OSI/CCP2 — Port C bit 1 / Timer1 oscillator input / CCP2 |
| Pin produk 17 | RC2/CCP1 — Port C bit 2 / Capture/Compare/PWM 1 |
| Pin produk 18 | RC3/SCK/SCL — Port C bit 3 / SPI clock / I2C clock |
| Pin produk 19 | RD0/PSP0 — Port D bit 0 / parallel slave port bit 0 |
| Pin produk 20 | RD1/PSP1 — Port D bit 1 / parallel slave port bit 1 |
| Pin produk 21 | RD2/PSP2 — Port D bit 2 / parallel slave port bit 2 |
| Pin produk 22 | RD3/PSP3 — Port D bit 3 / parallel slave port bit 3 |
| Pin produk 23 | RC4/SDI/SDA — Port C bit 4 / SPI data in / I2C data |
| Pin produk 24 | RC5/SDO — Port C bit 5 / SPI data out |
| Pin produk 25 | RC6/TX/CK — Port C bit 6 / USART transmit / clock |
| Pin produk 26 | RC7/RX/DT — Port C bit 7 / USART receive / data |
| Pin produk 27 | RD4/PSP4 — Port D bit 4 / parallel slave port bit 4 |
| Pin produk 28 | RD5/PSP5 — Port D bit 5 / parallel slave port bit 5 |
| Pin produk 29 | RD6/PSP6 — Port D bit 6 / parallel slave port bit 6 |
| Pin produk 30 | RD7/PSP7 — Port D bit 7 / parallel slave port bit 7 |
| Pin produk 31 | VSS — Ground reference |
| Pin produk 32 | VDD — Positive supply (4-5.5 V) |
| Pin produk 33 | RB0/INT — Port B bit 0 / external interrupt |
| Pin produk 34 | RB1 — Port B bit 1 |
| Pin produk 35 | RB2 — Port B bit 2 |
| Pin produk 36 | RB3/PGM — Port B bit 3 / ICSP programming |
| Pin produk 37 | RB4 — Port B bit 4 |
| Pin produk 38 | RB5 — Port B bit 5 |
| Pin produk 39 | RB6/PGC — Port B bit 6 / ICSP clock |
| Pin produk 40 | RB7/PGD — Port B bit 7 / ICSP data |
| Pin produk 41 | NC — Not connected (per datasheet) |
| Pin produk 42 | NC — Not connected (per datasheet) |
| Pin produk 43 | NC — Not connected (per datasheet) |
| Pin produk 44 | NC — Not connected (per datasheet) |
Aplikasi Umum
PIC16F871-I/L cocok untuk 6 aplikasis: Industrial Sensor Interface Board, HVAC Actuator Controller, Consumer Appliance User Interface, Battery Charger Control MCU, Motor Speed Control Board, Security Keypad and Access Module.
Industrial Sensor Interface Board
The PIC16F871-I/L fits industrial sensor interface boards because its 8 channels of 10-bit ADC and 33 digital I/O lines provide flexible multi-signal acquisition at industrial -40 to +85 °C ambient temperatures. The 3.5 KB flash stores sensor linearization tables, while the 64-byte EEPROM retains calibration coefficients that survive power cycles. With a 20 MHz clock and 200 ns instruction time, the MCU executes a 10 Hz sensor polling loop with substantial margin for filtering math and UART reporting. Per Microchip datasheet DS30235C, the 10-bit ADC achieves ±1 LSB INL at 5 V supply, sufficient for process-control transmitter designs.
Direkomendasikan
HVAC Actuator Controller
The PIC16F871-I/L suits HVAC damper and valve actuator controllers because its Capture/Compare/PWM module generates precise actuator drive signals, while the 8 ADC channels read position feedback, supply voltage, and temperature. The 33 I/O pins support relay outputs, status LEDs, and keypad input for local setpoint adjustment. The nanoWatt power-saving modes and 4-5.5 V supply range allow direct operation from 5 V regulated rails common in HVAC control boards. Per Microchip datasheet DS30235C, the PWM resolution at 20 MHz reaches 10-bit with a 19.5 kHz carrier frequency.
Direkomendasikan
Consumer Appliance User Interface
The PIC16F871-I/L drives consumer appliance user-interface panels where 33 I/O lines scan 7-segment or matrix keypads and drive status LEDs. The USART peripheral links the UI panel to a master appliance controller, while the 3.5 KB flash stores multi-language menus and firmware-upgrade routines. The 64-byte EEPROM saves last-used settings across power cycles. Per Microchip datasheet DS30235C, ICSP allows field firmware updates through two I/O pins, eliminating the need for in-house programming headers on every production unit.
Direkomendasikan
Battery Charger Control MCU
The PIC16F871-I/L functions as the supervisory MCU in multi-cell battery chargers, using its 10-bit ADC to monitor charge current, battery voltage, and thermistor temperature. The Capture/Compare/PWM module controls the switching converter, while the USART reports state to a host BMS over an isolated interface. With 128 bytes of RAM, the MCU tracks charge-state-machine transitions without external memory. Per Microchip datasheet DS30235C, the ADC operates from a 4-5.5 V supply, matching typical 5 V charger rails.
Direkomendasikan
Motor Speed Control Board
The PIC16F871-I/L drives small DC motor or stepper control boards using its PWM module for variable-speed actuation, with the 10-bit ADC reading back-EMF, current, and tachometer signals. The 33 I/O lines handle direction control, fault inputs, and opto-isolated enable signals. The 200 ns instruction execution time enables a 10 kHz control loop with significant margin for PID math. Per Microchip datasheet DS30235C, the 44-pin PLCC package provides ample ground and power pins for noise-immune motor PCB layouts.
Direkomendasikan
Security Keypad and Access Module
The PIC16F871-I/L serves as the controller in security keypads and door-access modules, scanning 4x4 or 5x5 button matrices and driving piezo buzzers through PWM. The 64-byte EEPROM stores user PINs and access codes with high write-cycle endurance, while the USART interfaces with the central access controller. The ICD pins allow service-mode firmware updates without disassembly. Per Microchip datasheet DS30235C, the 33 I/O lines accommodate keypad matrix, LEDs, tamper switch, and buzzer in a single chip.
Direkomendasikan
Ringkasan Produk Direkomendasikan
Data referensi engineering untuk PIC16F871-I/L — pembandingan, panduan desain, dan informasi konformitas.
Panduan Pemilihan
Pembandingan dengan Alternatif
| Parameter Umum | Produk Ini | PIC16F871-E/L | PIC16F871-I/PT | PIC16F871T-I/L | PIC16F870-I/L | PIC16F872-I/L |
|---|---|---|---|---|---|---|
| Package | 44-pin PLCC | 44-pin PLCC - same | 44-pin PLCC (T&R) - same | 44-pin PLCC (T&R) - same | 44-pin PLCC - same | 44-pin PLCC - same |
| Brand | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology |
| Program Memory (Flash) | 3.5 KB | 3.5 KB | 3.5 KB | 3.5 KB | 3.5 KB | 3.5 KB |
| RAM | 128 bytes | 128 bytes | 128 bytes | 128 bytes | 128 bytes | 128 bytes |
| Maximum Clock Speed | 20 MHz | 20 MHz | 20 MHz | 20 MHz | 20 MHz | 20 MHz |
| ADC Channels | 8 | 8 | 8 | 8 | 5 | 8 |
| Operating Temperature | -40 °C to +85 °C (industrial) | -40 °C to +125 °C (extended) | -40 °C to +85 °C (industrial) | -40 °C to +85 °C (industrial) | -40 °C to +85 °C (industrial) | -40 °C to +85 °C (industrial) |
| Supply Voltage | 4 V to 5.5 V | 4 V to 5.5 V | 4 V to 5.5 V | 4 V to 5.5 V | 4 V to 5.5 V | 4 V to 5.5 V |
Diferensiator Kunci
- Most peripheral-rich PIC16 mid-range MCU with 8 ADC channels (vsPIC16F870-I/L)
- Same die across temperature grades for design reuse (vsPIC16F871-E/L)
- Industry-standard 44-pin PLCC socket for easy field replacement (vsPIC16F871-I/P (PDIP-40))
- Self-programming flash with ICD support (vsPIC16C7xx OTP predecessors)
Catatan Desain
Place a 100 nF ceramic decoupling capacitor within 5 mm of each VDD pin (pins 11 and 32 on the 44-pin PLCC package), with a bulk 10 µF tantalum or aluminum electrolytic on the 5 V rail. The PIC16F871 datasheet DS30235C specifies 4.0-5.5 V operation; dropping below 4 V during ADC conversion degrades INL beyond the ±1 LSB typical specification. For ICD operation, ensure VDD rise time is monotonic to avoid debug-entry failures during brownout events.
Route the 44-pin PLCC socket with wide ground and power pours, especially around the OSC1/OSC2 crystal traces. Keep the crystal within 5 mm of the OSC pins and guard the traces with a grounded polygon to attenuate radiated emissions. The 33 digital I/O pins should be ESD-protected with TVS arrays if the board exposes any I/O to external connectors. Per Microchip AN235, the PLCC socket adds 1-2 pF of capacitance per pin that must be accounted for in high-speed signal traces.
Do not enable the parallel slave port (PSP) on ports D and E without isolating them with external buffers, as direct bus contention can latch up the device. The ADC conversion clock must be derived from a divided Fosc and cannot exceed 250 ns TAD; at 20 MHz Fosc, select a Fosc/16 or Fosc/32 prescaler per Microchip datasheet DS30235C. Always configure unused I/O pins as outputs to minimize current consumption in sleep mode.
The PIC16F871 USART supports asynchronous mode at up to 115.2 kbps with the internal 8-bit BRG. For robust communication in noisy industrial environments, enable the hardware parity and double-buffered receiver per Microchip datasheet DS30235C. The I2C/SPI shared pins (RC3/RC4) require external 4.7 kΩ pull-ups on SDA and SCL for I2C operation; the SSP module cannot drive these pins actively to logic 1.
Informasi Konformitas
RoHS and Pb-free per Microchip product page. Not AEC-Q100 qualified - industrial grade only. Halogen-free status not explicitly listed in retrieved data.