PIC16F874-20/P - 8-Bit 20MHz 7KB Flash MCU | Microchip
MPN: PIC16F874-20/P ✓ فعالPIC16F874-20/P نمای کلی
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.
جایگزینهای drop-in برای PIC16F874-20/P — همان پکیج، سازگار پینبهپین. قطعات با پکیج متفاوت که نیاز به تغییر PCB دارند مستثنی هستند.
گونهها در این سری
مدلهای همسری که جایگزین مستقیم هستند برای PIC16F874-20/P (همان فرمفاکتور و فوتپرینت) — متفاوت در ADC, Operating Temperature, Package, Timers, Core Architecture.
PIC16F877-20/P
✅ جایگزین مستقیمبرای قیمت تماس بگیرید
مشاهده دیتاشیت ←PIC16F874-04/PQ
✅ جایگزین مستقیمبرای قیمت تماس بگیرید
مشاهده دیتاشیت ←PIC16F874-10/P
✅ جایگزین مستقیم ⚠️ مشخصات تأییدنشده📋 جایگزین مرجع (خارج از کاتالوگ)
PIC16F874-20I/P
✅ جایگزین مستقیم📋 جایگزین مرجع (خارج از کاتالوگ)
PIC16F884-I/P
✅ جایگزین مستقیم ⚠️ مشخصات تأییدنشدهبرای قیمت تماس بگیرید
مشاهده دیتاشیت ←PIC16F877A-20/P
✅ جایگزین مستقیم ⚠️ مشخصات تأییدنشده📋 جایگزین مرجع (خارج از کاتالوگ)
PIC16F874-20/P حداکثر مقادیر مجاز و مشخصات الکتریکی
| 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) |
| ولتاژ تغذیه | 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) |
| بستهبندی | 40-pin PDIP (DIP-40), through-hole |
| دمای کاری | -40 C to +85 C (industrial) |
| Programming | In-Circuit Serial Programming (ICSP) |
| وضعیت RoHS | Compliant |
پیکربندی پین PIC16F874-20/P
| پین 1 | MCLR/VPP — Master clear reset input / programming voltage |
| پین 2 | RA0/AN0 — PORTA bit 0 / analog input channel 0 |
| پین 3 | RA1/AN1 — PORTA bit 1 / analog input channel 1 |
| پین 4 | RA2/AN2 — PORTA bit 2 / analog input channel 2 |
| پین 5 | RA3/AN3/VREF- — PORTA bit 3 / analog input channel 3 / negative VREF |
| پین 6 | RA4/T0CKI — PORTA bit 4 / Timer0 clock input (open-drain) |
| پین 7 | RA5/AN4/SS — PORTA bit 5 / analog input channel 4 / SPI slave select |
| پین 8 | RE0/RD/AN5 — PORTE bit 0 / read control / analog input channel 5 |
| پین 9 | RE1/WR/AN6 — PORTE bit 1 / write control / analog input channel 6 |
| پین 10 | RE2/CS/AN7 — PORTE bit 2 / chip select / analog input channel 7 |
| پین 11 | VDD — Positive supply (4.0 V to 5.5 V) |
| پین 12 | VSS — Ground |
| پین 13 | OSC1/CLKIN — Oscillator crystal input / external clock input |
| پین 14 | OSC2/CLKOUT — Oscillator crystal output / clock output |
| پین 15 | RC0/T1OSO/T1CKI — PORTC bit 0 / Timer1 oscillator output / clock input |
| پین 16 | RC1/T1OSI/CCP2 — PORTC bit 1 / Timer1 oscillator input / CCP2 |
| پین 17 | RC2/CCP1 — PORTC bit 2 / Capture Compare PWM 1 output |
| پین 18 | RC3/SCK/SCL — PORTC bit 3 / SPI clock / I2C clock |
| پین 19 | RD0/PSP0 — PORTD bit 0 / parallel slave port bit 0 |
| پین 20 | RD1/PSP1 — PORTD bit 1 / parallel slave port bit 1 |
| پین 21 | RD2/PSP2 — PORTD bit 2 / parallel slave port bit 2 |
| پین 22 | RD3/PSP3 — PORTD bit 3 / parallel slave port bit 3 |
| پین 23 | RC4/SDI/SDA — PORTC bit 4 / SPI data in / I2C data |
| پین 24 | RC5/SDO — PORTC bit 5 / SPI data out |
| پین 25 | RC6/TX/CK — PORTC bit 6 / USART TX / synchronous clock |
| پین 26 | RC7/RX/DT — PORTC bit 7 / USART RX / synchronous data |
| پین 27 | RD4/PSP4 — PORTD bit 4 / parallel slave port bit 4 |
| پین 28 | RD5/PSP5 — PORTD bit 5 / parallel slave port bit 5 |
| پین 29 | RD6/PSP6 — PORTD bit 6 / parallel slave port bit 6 |
| پین 30 | RD7/PSP7 — PORTD bit 7 / parallel slave port bit 7 |
| پین 31 | VSS — Ground (second VSS pin) |
| پین 32 | VDD — Positive supply (second VDD pin) |
| پین 33 | RB0/INT — PORTB bit 0 / external interrupt input |
| پین 34 | RB1 — PORTB bit 1 |
| پین 35 | RB2 — PORTB bit 2 |
| پین 36 | RB3/PGM — PORTB bit 3 / low-voltage programming enable |
| پین 37 | RB4 — PORTB bit 4 |
| پین 38 | RB5 — PORTB bit 5 |
| پین 39 | RB6/PGC — PORTB bit 6 / in-circuit serial programming clock |
| پین 40 | RB7/PGD — PORTB bit 7 / in-circuit serial programming data |
کاربردهای معمول
PIC16F874-20/P مناسب است برای 6 کاربردs: 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.
پیشنهادی
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.
پیشنهادی
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.
پیشنهادی
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.
پیشنهادی
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.
پیشنهادی
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.
پیشنهادی
خلاصه محصولات پیشنهادی
دادههای مرجع مهندسی برای PIC16F874-20/P — مقایسه، راهنمای طراحی و اطلاعات انطباق.
راهنمای انتخاب
مقایسه با جایگزینها
| پارامتر | این محصول | 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 |
تفاوتهای کلیدی
- Larger Flash and RAM for the same footprint (در مقابلPIC16F877-20/P)
- Microchip modern replacement with NanoWatt (در مقابلPIC16F884-I/P)
- Higher reliability at half the clock (در مقابلPIC16F874-04/P)
یادداشتهای طراحی
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.
اطلاعات انطباق
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).