PIC16F874-20/P - 8-Bit 20MHz 7KB Flash MCU | Microchip
MPN: PIC16F874-20/P ✓ AktifPIC16F874-20/P Ringkasan
What is an 8-bit Flash microcontroller? An 8-bit Flash microcontroller is a single-chip computer built around an 8-bit data path, integrating CPU, non-volatile Flash program memory, RAM, EEPROM, and peripherals onto one die. Within the broader taxonomy it sits as: 8-bit MCU -> microcontroller -> embedded controller -> semiconductor IC. The PIC16F family specifically uses a RISC-style Harvard architecture with only 35 single-word instructions, making it friendly for assembly and C development in embedded systems.
Key features include 5 channels of 10-bit Analog-to-Digital conversion, USART, MSSP (SPI/I2C) interface, two 8-bit timers plus one 16-bit timer, a 10-bit PWM module with Capture/Compare/PWM (CCP), and NanoWatt power management for low-current sleep modes. Watchdog timer, in-circuit serial programming (ICSP), and brown-out reset (BOR) round out the standard embedded feature set.
The PIC16F874 uses a 14-bit instruction word with 200ns instruction execution at 20MHz, plus separate instruction and data buses (Harvard). The CMOS Flash cell supports >100k erase/write cycles and 40-year retention, qualifying it for industrial embedded products requiring long field life.
Typical applications include industrial control panels, HVAC thermostats, sensor signal conditioning, motor control boards, and small appliances. The 40-pin DIP package suits through-hole prototyping and legacy board retrofits where socket replacement is desirable.
When designing with the PIC16F874-20/P, observe the 4.0V to 5.5V supply range. For new designs, Microchip recommends the PIC16F884 (NanoWatt enhanced, more memory). For this page we synthesized distributor pricing, drop-in alternatives sharing the 40-pin DIP footprint, and design notes not present in the manufacturer datasheet alone.
Alternatif penggantian untuk PIC16F874-20/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 PIC16F874-20/P (sama faktor bentuk dan footprint) — berbeda di dalam ADC, Operating Temperature, Package, Timers, Core Architecture.
PIC16F877-20/P
✅ Drop-InKontak untuk harga
Lihat Datasheet →PIC16F874-04/PQ
✅ Drop-InKontak untuk harga
Lihat Datasheet →PIC16F874-10/P
✅ Drop-In ⚠️ Spesifikasi Tidak Disahkan📋 Alternatif referensi (tidak dalam katalog)
PIC16F874-20I/P
✅ Drop-In📋 Alternatif referensi (tidak dalam katalog)
PIC16F884-I/P
✅ Drop-In ⚠️ Spesifikasi Tidak DisahkanKontak untuk harga
Lihat Datasheet →PIC16F877A-20/P
✅ Drop-In ⚠️ Spesifikasi Tidak Disahkan📋 Alternatif referensi (tidak dalam katalog)
PIC16F874-20/P Rating Maksimal & Karakteristik Listrik
| Core | PIC 8-bit RISC (Harvard) |
| Instruction Set | 35 single-word instructions, 14-bit wide |
| Program Memory | 7 KB Flash (4K x 14) |
| RAM | 192 bytes |
| EEPROM | 128 bytes |
| Max CPU Speed | 20 MHz (200 ns instruction cycle) |
| Tegangan Pemuat | 4.0 V to 5.5 V |
| I/O Pins | 33 |
| ADC | 10-bit, up to 8 channels |
| Timers | Timer0 (8-bit), Timer1 (16-bit), Timer2 (8-bit with PWM) |
| PWM / CCP | 1 CCP module, 10-bit PWM |
| Serial Interfaces | USART (RS-232/RS-485) + MSSP (SPI / I2C) |
| Paket | 40-pin PDIP (DIP-40), through-hole |
| Suhu Kerja | -40 C to +85 C (industrial) |
| Programming | In-Circuit Serial Programming (ICSP) |
| Status RoHS | Compliant |
Konfigurasi Pin PIC16F874-20/P
| Pin produk 1 | MCLR/VPP — Master clear reset input / programming voltage |
| Pin produk 2 | RA0/AN0 — PORTA bit 0 / analog input channel 0 |
| Pin produk 3 | RA1/AN1 — PORTA bit 1 / analog input channel 1 |
| Pin produk 4 | RA2/AN2 — PORTA bit 2 / analog input channel 2 |
| Pin produk 5 | RA3/AN3/VREF- — PORTA bit 3 / analog input channel 3 / negative VREF |
| Pin produk 6 | RA4/T0CKI — PORTA bit 4 / Timer0 clock input (open-drain) |
| Pin produk 7 | RA5/AN4/SS — PORTA bit 5 / analog input channel 4 / SPI slave select |
| Pin produk 8 | RE0/RD/AN5 — PORTE bit 0 / read control / analog input channel 5 |
| Pin produk 9 | RE1/WR/AN6 — PORTE bit 1 / write control / analog input channel 6 |
| Pin produk 10 | RE2/CS/AN7 — PORTE bit 2 / chip select / analog input channel 7 |
| Pin produk 11 | VDD — Positive supply (4.0 V to 5.5 V) |
| Pin produk 12 | VSS — Ground |
| Pin produk 13 | OSC1/CLKIN — Oscillator crystal input / external clock input |
| Pin produk 14 | OSC2/CLKOUT — Oscillator crystal output / clock output |
| Pin produk 15 | RC0/T1OSO/T1CKI — PORTC bit 0 / Timer1 oscillator output / clock input |
| Pin produk 16 | RC1/T1OSI/CCP2 — PORTC bit 1 / Timer1 oscillator input / CCP2 |
| Pin produk 17 | RC2/CCP1 — PORTC bit 2 / Capture Compare PWM 1 output |
| Pin produk 18 | RC3/SCK/SCL — PORTC bit 3 / SPI clock / I2C clock |
| Pin produk 19 | RD0/PSP0 — PORTD bit 0 / parallel slave port bit 0 |
| Pin produk 20 | RD1/PSP1 — PORTD bit 1 / parallel slave port bit 1 |
| Pin produk 21 | RD2/PSP2 — PORTD bit 2 / parallel slave port bit 2 |
| Pin produk 22 | RD3/PSP3 — PORTD bit 3 / parallel slave port bit 3 |
| Pin produk 23 | RC4/SDI/SDA — PORTC bit 4 / SPI data in / I2C data |
| Pin produk 24 | RC5/SDO — PORTC bit 5 / SPI data out |
| Pin produk 25 | RC6/TX/CK — PORTC bit 6 / USART TX / synchronous clock |
| Pin produk 26 | RC7/RX/DT — PORTC bit 7 / USART RX / synchronous data |
| Pin produk 27 | RD4/PSP4 — PORTD bit 4 / parallel slave port bit 4 |
| Pin produk 28 | RD5/PSP5 — PORTD bit 5 / parallel slave port bit 5 |
| Pin produk 29 | RD6/PSP6 — PORTD bit 6 / parallel slave port bit 6 |
| Pin produk 30 | RD7/PSP7 — PORTD bit 7 / parallel slave port bit 7 |
| Pin produk 31 | VSS — Ground (second VSS pin) |
| Pin produk 32 | VDD — Positive supply (second VDD pin) |
| Pin produk 33 | RB0/INT — PORTB bit 0 / external interrupt input |
| 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 enable |
| Pin produk 37 | RB4 — PORTB bit 4 |
| Pin produk 38 | RB5 — PORTB bit 5 |
| Pin produk 39 | RB6/PGC — PORTB bit 6 / in-circuit serial programming clock |
| Pin produk 40 | RB7/PGD — PORTB bit 7 / in-circuit serial programming data |
Aplikasi Umum
PIC16F874-20/P cocok untuk 6 aplikasis: Industrial Control Panels, HVAC Thermostats, Sensor Signal Conditioning Boards, Motor Control Boards (DC / Stepper), Small Appliance Controllers, Educational / Hobbyist Embedded Projects.
Industrial Control Panels
The PIC16F874-20/P fits industrial control panels because its 4.0-5.5V supply range matches legacy 5V PLC backplanes, the 33 I/O pins drive relay arrays or opto-isolators directly, and the USART interfaces with RS-485 Modbus networks. The 7 KB Flash fits typical ladder-style state machines, and the -40 to +85 C industrial grade tolerates cabinet environments. Compared with the newer PIC16F884, this part still has plenty of headroom for relay logic, button debouncing, and LED drivers in non-safety-critical HMIs and SCADA terminals.
Direkomendasikan
HVAC Thermostats
The PIC16F874-20/P suits HVAC thermostat designs with its 10-bit ADC reading thermistor or RTD sensors, PWM module driving TRIAC angle-control for heating stages, and 192 B RAM handling schedule lookups. The 128 B EEPROM retains user setpoints across power cycles. Brown-out reset avoids false triggering on brownouts in older building wiring. Its 40-pin PDIP footprint is friendly to through-hole boards typical in white-goods manufacturing, and ICSP programming allows the same firmware to be patched in production.
Direkomendasikan
Sensor Signal Conditioning Boards
Using the PIC16F874-20/P for sensor signal conditioning gives designers an 8-channel 10-bit ADC for bridge sensors or thermopiles, MSSP running I2C to digital sensor companions, and USART for RS-232 diagnostics on calibration. The 35-instruction RISC core easily keeps up with 1 kHz loop rates typical of process-control loops. EEPROM stores calibration coefficients that the host reads at startup, and the 20MHz CPU executes linearization math in microseconds. The DIP package supports hand-soldered prototype calibration boards.
Direkomendasikan
Motor Control Boards (DC / Stepper)
In small DC and stepper motor control boards, the PIC16F874-20/P provides a 16-bit Timer1 for quadrature decode of an encoder and a 10-bit PWM module for current-mode drive. The 33 I/O lines talk to logic-level MOSFET gate drivers and endstop sensors, and 192 B RAM is enough for a 50-state microstep sequencer. Brown-out reset and watchdog timer protect pumps and actuators in unattended installations. Designers should size the PCB copper pour for return paths on the 4-quadrant H-bridge; this part handles the logic while a gate driver handles the power stage.
Direkomendasikan
Small Appliance Controllers
Small home appliances like coffee makers, vacuum robots, and countertop ovens run well on the PIC16F874-20/P, where the USART links to a Wi-Fi/BT companion, the ADC reads temperature and water-level sensors, and PWM drives a triac or DC motor. The 7 KB Flash fits typical appliance software with menu logic and safety interlocks. Through-hole DIP eases automated hand-repair lines, and ICSP allows last-minute firmware tweaks on the production floor. Watchdog timer is essential for kitchen safety interlocks.
Direkomendasikan
Educational / Hobbyist Embedded Projects
The PIC16F874-20/P is widely used in university and hobbyist courses that teach assembly and embedded C, thanks to its 35-instruction RISC architecture, generous Flash (7 KB), and easy-to-socket 40-pin DIP footprint. Students program it with PICkit 2/3 and the MPLAB X IDE without needing surface-mount skills. Its peripherals expose learners to timers, ADC, PWM, USART, and I2C/SPI, covering most embedded-system fundamentals. Compared to a Raspberry Pi, this part teaches low-level register I/O and resource-constrained design.
Direkomendasikan
Ringkasan Produk Direkomendasikan
Data referensi engineering untuk PIC16F874-20/P — pembandingan, panduan desain, dan informasi konformitas.
Panduan Pemilihan
Pembandingan dengan Alternatif
| Parameter Umum | Produk Ini | PIC16F877-20/P | PIC16F874-04/P | PIC16F884-I/P | PIC16F877A-20/P |
|---|---|---|---|---|---|
| Brand | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology |
| Package | 40-pin PDIP | 40-pin PDIP - same | 40-pin PDIP - same | 40-pin PDIP - same | 40-pin PDIP - same |
| Max CPU Speed | 20 MHz | 20 MHz | 4 MHz (-80%) | 20 MHz | 20 MHz |
| Program Memory | 7 KB Flash | 14 KB Flash (+100%) | 7 KB Flash (same) | 14 KB Flash (+100%) | 14 KB Flash (+100%) |
| RAM | 192 B | 368 B (+92%) | 192 B (same) | 368 B (+92%) | 368 B (+92%) |
| EEPROM | 128 B | 256 B (+100%) | 128 B (same) | 256 B (+100%) | 256 B (+100%) |
| ADC | 10-bit, 8 ch | 10-bit, 8 ch | 10-bit, 8 ch | 10-bit, 11 ch (NanoWatt) | 10-bit, 14 ch (enhanced) |
| NanoWatt Technology | No | No | No | Yes (lower sleep current) | No |
| Operating Voltage | 4.0 V to 5.5 V | 4.0 V to 5.5 V | 4.0 V to 5.5 V | 2.0 V to 5.5 V (wider) | 4.0 V to 5.5 V |
Diferensiator Kunci
- Larger Flash and RAM for the same footprint (vsPIC16F877-20/P)
- Microchip modern replacement with NanoWatt (vsPIC16F884-I/P)
- Higher reliability at half the clock (vsPIC16F874-04/P)
Catatan Desain
Place a 0.1 uF decoupling capacitor on each VDD pin (pins 11 and 32) within 5 mm of the package. Add a 10 uF bulk capacitor at the supply rail. The PIC16F874-20/P is rated 4.0 V to 5.5 V; below 4 V the brown-out reset may assert and halt execution. Estimated: total supply current is approximately 16 mA at 20 MHz / 5 V minus I/O sink currents; design the regulator with at least 50 mA headroom.
Do not leave MCLR floating: tie it to VDD through a 10 kohm resistor and a decoupling capacitor, or to the reset circuit. Floating MCLR triggers random resets and erratic program flow. Note that pin 39 (RB6) and pin 40 (RB7) are dual-purpose ICSP clock/data when MCLR is held high during programming; ensure your PCB does not load these pins with >5 pF or programming will fail.
Keep traces from OSC1/OSC2 (pins 13/14) short and symmetric to ground. Use a watch crystal with 22 pF load capacitors close to the pins, not at the source. Route RC6/TX (pin 25) and RC7/RX (pin 26) traces away from the crystal area to avoid EMI pickup. For an external clock, drive OSC1 only and leave OSC2 floating if CLKOUT is unused.
Informasi Konformitas
RoHS/REACH compliant per Microchip product page as of 2026-09-21. Not AEC-Q100 qualified for automotive (use PIC16F874A-20I/PQ for automotive-grade projects).