PIC16F874-20/P - 8-Bit 20MHz 7KB Flash MCU | Microchip
Référence : PIC16F874-20/P ✓ Actif| Qté | Prix unitaire | Total |
|---|---|---|
| 1 | $11.8 | $11,80 |
| 10 | $10.65 | $106,50 |
| 100 | $9.2 | $920,00 |
| 500 | $8.35 | $4 175,00 |
| 1 000 | $7.5 | $7 500,00 |
PIC16F874-20/P Présentation
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.
Alternatives de remplacement direct pour PIC16F874-20/P — même boîtier, compatible broche à broche. Les références à boîtier différent nécessitant une retouche du PCB sont exclues.
Variantes de cette série
Modèles de la même série directement compatibles avec PIC16F874-20/P (même facteur de forme et même empreinte) — différant par ADC, Operating Temperature, Package, Timers, Core Architecture.
Outil de comparaison rapide — sélectionnez des références alternatives pour une comparaison côte à côte :
PIC16F877-20/P
✅ Remplacement direct✓ En stock
$6.2 / unité
Voir la fiche technique →PIC16F874-04/PQ
✅ Remplacement direct✓ En stock
$5.9 / unité
Voir la fiche technique →PIC16F874-10/P
✅ Remplacement direct ⚠️ Spécifications non vérifiées📋 Alternative de référence (hors catalogue)
PIC16F874-20I/P
✅ Remplacement direct📋 Alternative de référence (hors catalogue)
PIC16F884-I/P
✅ Remplacement direct ⚠️ Spécifications non vérifiées✓ En stock
$2.62 / unité
Voir la fiche technique →PIC16F877A-20/P
✅ Remplacement direct ⚠️ Spécifications non vérifiées📋 Alternative de référence (hors catalogue)
PIC16F874-20/P Valeurs maximales et caractéristiques électriques
| 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) |
| Tension d'alimentation | 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) |
| Boîtier | 40-pin PDIP (DIP-40), through-hole |
| Température de fonctionnement | -40 C to +85 C (industrial) |
| Programming | In-Circuit Serial Programming (ICSP) |
| Statut RoHS | Compliant |
Configuration des broches de PIC16F874-20/P
| Broche 1 | MCLR/VPP — Master clear reset input / programming voltage |
| Broche 2 | RA0/AN0 — PORTA bit 0 / analog input channel 0 |
| Broche 3 | RA1/AN1 — PORTA bit 1 / analog input channel 1 |
| Broche 4 | RA2/AN2 — PORTA bit 2 / analog input channel 2 |
| Broche 5 | RA3/AN3/VREF- — PORTA bit 3 / analog input channel 3 / negative VREF |
| Broche 6 | RA4/T0CKI — PORTA bit 4 / Timer0 clock input (open-drain) |
| Broche 7 | RA5/AN4/SS — PORTA bit 5 / analog input channel 4 / SPI slave select |
| Broche 8 | RE0/RD/AN5 — PORTE bit 0 / read control / analog input channel 5 |
| Broche 9 | RE1/WR/AN6 — PORTE bit 1 / write control / analog input channel 6 |
| Broche 10 | RE2/CS/AN7 — PORTE bit 2 / chip select / analog input channel 7 |
| Broche 11 | VDD — Positive supply (4.0 V to 5.5 V) |
| Broche 12 | VSS — Ground |
| Broche 13 | OSC1/CLKIN — Oscillator crystal input / external clock input |
| Broche 14 | OSC2/CLKOUT — Oscillator crystal output / clock output |
| Broche 15 | RC0/T1OSO/T1CKI — PORTC bit 0 / Timer1 oscillator output / clock input |
| Broche 16 | RC1/T1OSI/CCP2 — PORTC bit 1 / Timer1 oscillator input / CCP2 |
| Broche 17 | RC2/CCP1 — PORTC bit 2 / Capture Compare PWM 1 output |
| Broche 18 | RC3/SCK/SCL — PORTC bit 3 / SPI clock / I2C clock |
| Broche 19 | RD0/PSP0 — PORTD bit 0 / parallel slave port bit 0 |
| Broche 20 | RD1/PSP1 — PORTD bit 1 / parallel slave port bit 1 |
| Broche 21 | RD2/PSP2 — PORTD bit 2 / parallel slave port bit 2 |
| Broche 22 | RD3/PSP3 — PORTD bit 3 / parallel slave port bit 3 |
| Broche 23 | RC4/SDI/SDA — PORTC bit 4 / SPI data in / I2C data |
| Broche 24 | RC5/SDO — PORTC bit 5 / SPI data out |
| Broche 25 | RC6/TX/CK — PORTC bit 6 / USART TX / synchronous clock |
| Broche 26 | RC7/RX/DT — PORTC bit 7 / USART RX / synchronous data |
| Broche 27 | RD4/PSP4 — PORTD bit 4 / parallel slave port bit 4 |
| Broche 28 | RD5/PSP5 — PORTD bit 5 / parallel slave port bit 5 |
| Broche 29 | RD6/PSP6 — PORTD bit 6 / parallel slave port bit 6 |
| Broche 30 | RD7/PSP7 — PORTD bit 7 / parallel slave port bit 7 |
| Broche 31 | VSS — Ground (second VSS pin) |
| Broche 32 | VDD — Positive supply (second VDD pin) |
| Broche 33 | RB0/INT — PORTB bit 0 / external interrupt input |
| Broche 34 | RB1 — PORTB bit 1 |
| Broche 35 | RB2 — PORTB bit 2 |
| Broche 36 | RB3/PGM — PORTB bit 3 / low-voltage programming enable |
| Broche 37 | RB4 — PORTB bit 4 |
| Broche 38 | RB5 — PORTB bit 5 |
| Broche 39 | RB6/PGC — PORTB bit 6 / in-circuit serial programming clock |
| Broche 40 | RB7/PGD — PORTB bit 7 / in-circuit serial programming data |
Applications typiques
PIC16F874-20/P convient pour 6 applications: 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.
Recommandé
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.
Recommandé
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.
Recommandé
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.
Recommandé
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.
Recommandé
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.
Recommandé
Récapitulatif des produits recommandés
Données de référence d'ingénierie pour PIC16F874-20/P — comparaison, recommandations de conception et informations de conformité.
Guide de sélection
Comparaison avec les alternatives
| Paramètre | Ce produit | 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 |
Principaux différenciateurs
- Larger Flash and RAM for the same footprint (vs PIC16F877-20/P)
- Microchip modern replacement with NanoWatt (vs PIC16F884-I/P)
- Higher reliability at half the clock (vs PIC16F874-04/P)
Notes de conception
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.
Informations de conformité
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).