PIC16F877-04E/L - 8-Bit MCU 14KB Flash 4MHz 44-PLCC | Microchip
MPN: PIC16F877-04E/L ✓ 啟用中PIC16F877-04E/L 概覽
An 8-bit microcontroller (MCU) is a small computer-on-a-chip integrating a CPU, RAM, non-volatile program memory, and peripherals (timers, ADC, USART, I/O ports) into a single IC. The PIC16F877 sits within the legacy PIC16F mid-range family, which follows the taxonomy: PIC16F family -> PIC mid-range MCU -> 8-bit microcontroller -> microcontroller -> embedded processor -> semiconductor. It is code-compatible with PIC12Cxxx, PIC16C5X, and PIC16C7X devices, simplifying firmware portability across the platform.
Key features include 14 KB of FLASH program memory (8K x 14 words), 368 bytes of RAM, 256 bytes of EEPROM data memory, 33 digital I/O pins, an internal 10-bit ADC with 8 input channels, two 8-bit and one 16-bit timers, a USART, MSSP (SPI/I2C), and a parallel slave port. Five oscillator options (RC, LP, XT, HS, external clock) and four selectable brown-out reset trip points give designers flexibility across 2.0V to 5.5V supply rails. The 35 single-word instruction set keeps the learning curve shallow for engineers new to the PIC architecture.
Typical applications include industrial control boards, automotive body and HVAC subsystems (within the extended temperature range), white-goods motor control, instrumentation front-ends, low-cost data loggers, and educational/development platforms. The 4 MHz top speed is sufficient for slow-speed sensor sampling, keypad scanning, and UART-based telemetry; for higher throughput consider the -10 or -20 speed grades of the same family.
Design considerations: confirm your oscillator mode and capacitor loading match the 4 MHz spec; verify the PLCC socket matches the J-lead footprint; budget the 368-byte RAM carefully - heavy stack use or large buffers will overflow quickly; consider migrating to PIC16F887 or PIC16F1xxx for new designs, as Microchip recommends the 887 for all new projects.
直接替換替代品,適用於 PIC16F877-04E/L — 相同封裝,腳位對腳位相容。需重新設計 PCB 的不同封裝零件不列入。
此系列的變體
與下列產品可直接替換的同系列型號: PIC16F877-04E/L (相同外形與佔位) — 差異在於 ADC, Core Architecture, Mounting Type, Timers, Package.
PIC16F877-04I/L
✅ 直接替換聯絡詢價
查看資料表 →PIC16F877-20E/L
✅ 直接替換📋 參考替代品(不在目錄中)
PIC16F887-04E/L
✅ 直接替換📋 參考替代品(不在目錄中)
PIC16F874A-I/L
✅ 直接替換聯絡詢價
查看資料表 →PIC16F871-E/L
✅ 直接替換聯絡詢價
查看資料表 →PIC16F877-04E/L 最大額定值與電氣特性
| Core Architecture | PIC 8-bit (PIC16 mid-range) |
| Program Memory Type | FLASH |
| Program Memory Size | 14 KB (8K x 14 words) |
| RAM | 368 bytes |
| EEPROM Data Memory | 256 bytes |
| Maximum CPU Speed | 4 MHz (200 ns instruction cycle) |
| 供應電壓 | 2.0 V to 5.5 V |
| I/O Pins | 33 |
| ADC | 10-bit, 8 channels |
| Timers | 2 x 8-bit + 1 x 16-bit |
| Communication Peripherals | USART, MSSP (SPI / I2C), PSP |
| Oscillator Modes | RC, LP, XT, HS, EC |
| Operating Temperature (E suffix) | -40C to +125C |
| 封裝 | 44-pin PLCC (J-Lead, "L") 16.59 x 16.59 mm |
| Instruction Set | 35 single-word instructions |
PIC16F877-04E/L 腳位配置
| 腳位 1 | OSC1/CLKIN — Oscillator crystal input or external clock input |
| 腳位 2 | OSC2/CLKOUT — Oscillator crystal output or clock output |
| 腳位 3 | MCLR/VPP — Master clear reset (active low) / programming voltage |
| 腳位 4 | RA0/AN0 — PORTA bit 0 / analog input 0 |
| 腳位 5 | RA1/AN1 — PORTA bit 1 / analog input 1 |
| 腳位 6 | RA2/AN2 — PORTA bit 2 / analog input 2 |
| 腳位 7 | RA3/AN3/VREF- — PORTA bit 3 / analog input 3 / ADC VREF- |
| 腳位 8 | RA4/T0CKI — PORTA bit 4 / Timer0 clock input |
| 腳位 9 | RA5/AN4/SS — PORTA bit 5 / analog input 4 / SPI slave select |
| 腳位 10 | RE0/RD/AN5 — PORTE bit 0 / parallel port read / analog input 5 |
| 腳位 11 | RE1/WR/AN6 — PORTE bit 1 / parallel port write / analog input 6 |
| 腳位 12 | RE2/CS/AN7 — PORTE bit 2 / parallel port chip select / analog input 7 |
| 腳位 13 | VSS — Ground reference |
| 腳位 14 | VDD — Positive supply (2.0V to 5.5V) |
| 腳位 15 | OSC1 (alt) — Not connected on 44-PLCC package (pin shared numbering may vary by revision) |
| 腳位 16 | OSC2 (alt) — Not connected on 44-PLCC package |
| 腳位 17 | RC0/T1OSO/T1CKI — PORTC bit 0 / Timer1 oscillator output / Timer1 clock |
| 腳位 18 | RC1/T1OSI/CCP2 — PORTC bit 1 / Timer1 oscillator input / CCP2 |
| 腳位 19 | RC2/CCP1 — PORTC bit 2 / Capture-Compare-PWM 1 |
| 腳位 20 | RC3/SCK/SCL — PORTC bit 3 / SPI clock / I2C clock |
| 腳位 21 | RC4/SDI/SDA — PORTC bit 4 / SPI data in / I2C data |
| 腳位 22 | RC5/SDO — PORTC bit 5 / SPI data out |
| 腳位 23 | RC6/TX/CK — PORTC bit 6 / USART transmit / USART clock |
| 腳位 24 | RC7/RX/DT — PORTC bit 7 / USART receive / USART data |
| 腳位 25 | VSS — Ground reference |
| 腳位 26 | VDD — Positive supply (2.0V to 5.5V) |
| 腳位 27 | RB0/INT — PORTB bit 0 / external interrupt |
| 腳位 28 | RB1 — PORTB bit 1 |
| 腳位 29 | RB2 — PORTB bit 2 |
| 腳位 30 | RB3/PGM — PORTB bit 3 / LVP programming |
| 腳位 31 | RB4 — PORTB bit 4 |
| 腳位 32 | RB5 — PORTB bit 5 |
| 腳位 33 | RB6/PGC — PORTB bit 6 / ICSP clock |
| 腳位 34 | RB7/PGD — PORTB bit 7 / ICSP data |
| 腳位 35 | VSS — Ground reference |
| 腳位 36 | VDD — Positive supply (2.0V to 5.5V) |
| 腳位 37 | RD0/PSP0 — PORTD bit 0 / parallel slave port bit 0 |
| 腳位 38 | RD1/PSP1 — PORTD bit 1 / parallel slave port bit 1 |
| 腳位 39 | RD2/PSP2 — PORTD bit 2 / parallel slave port bit 2 |
| 腳位 40 | RD3/PSP3 — PORTD bit 3 / parallel slave port bit 3 |
| 腳位 41 | RD4/PSP4 — PORTD bit 4 / parallel slave port bit 4 |
| 腳位 42 | RD5/PSP5 — PORTD bit 5 / parallel slave port bit 5 |
| 腳位 43 | RD6/PSP6 — PORTD bit 6 / parallel slave port bit 6 |
| 腳位 44 | RD7/PSP7 — PORTD bit 7 / parallel slave port bit 7 |
典型應用
PIC16F877-04E/L 適用於 7 應用s: Industrial Control Boards, Automotive Body and HVAC Modules, Sensor Data Logger / Instrumentation, White-Goods and Appliance Control, Educational and Development Platforms, Low-Cost Telemetry and Modems, Medical Monitoring (Non-Implantable).
Industrial Control Boards
The PIC16F877-04E/L fits industrial control applications because of its extended -40C to +125C operating range (the E grade), 33 GPIO lines for direct interface to relays, contactors, and keypad inputs, and 4 MHz CPU throughput sufficient for slow-loop PID and discrete I/O scanning. With 14 KB FLASH and 368 bytes RAM, the MCU can host small state machines for PLC-style logic, simple HMI menus on character LCDs, and MODBUS-RTU slave protocols via the on-chip USART at 2.0V-5.5V supply. The 44-pin PLCC J-lead package is socket-friendly for factory service.
推薦
Automotive Body and HVAC Modules
The PIC16F877-04E/L is appropriate for automotive body-electronics controllers such as HVAC blend-door actuators, mirror controls, and seat-position memory, where the E temperature grade survives under-dash thermal stress and the 10-bit ADC handles thermistor and potentiometer feedback. The MSSP peripheral drives I2C-bus sensor clusters (temperature, humidity) while the USART links to the vehicle body-CAN bridge. Note: AEC-Q100 qualification status is not documented in the provided web data - confirm with Microchip FAE before automotive OEM design-in.
推薦
Sensor Data Logger / Instrumentation
The PIC16F877-04E/L supports standalone sensor data loggers: the 10-bit 8-channel ADC multiplexes thermocouples, RTDs, or strain-gauge bridges through external amplifiers, while the 256-byte EEPROM stores calibration constants and 14 KB FLASH holds FAT-style record headers. USART streams logged data to a host PC; SPI drives an external serial-Flash card for mass storage. The 2.0V-5.5V supply accepts a 2xAA lithium-thionyl pack for remote deployments.
推薦
White-Goods and Appliance Control
The PIC16F877-04E/L drives washing-machine, dishwasher, and refrigerator control boards where the extended temperature rating handles motor-driver proximity heat and the 33 GPIO lines switch triacs, valves, and buzzer drivers. The 16-bit timer drives closed-loop RPM feedback from a Hall sensor on the motor, while the USART interfaces to an inverter display board. 4 MHz CPU speed suffices for sequencing the wash-cycle state machine; the -04 grade prevents EMI overshoot at the lower speed.
推薦
Educational and Development Platforms
Universities and hobbyist labs favor the PIC16F877-04E/L for teaching embedded programming because of the 35-instruction PIC16 mid-range set - learnable in one semester - and the breadboard-friendly 44-pin PLCC socket which tolerates repeated insertion. The 14 KB FLASH accommodates student projects (LCD menus, keypad locks, PWM motor drives) and the ICD2/ICD3 debug header allows in-circuit programming. MPLAB X with the free XC8 compiler supports the entire family.
推薦
Low-Cost Telemetry and Modems
The PIC16F877-04E/L is well-suited to simple UART-based telemetry modems in SCADA outstations and irrigation controllers. The MSSP (SPI) drives a 900 MHz or LoRa sub-GHz radio module, the USART connects to RS-485 transceivers for MODBUS, and the ADC samples 4-20 mA loop inputs. Industrial temperature rating allows outdoor enclosure mounting. Consider migrating to PIC16F1xxx for new designs with built-in LIN or CAN-FD peripherals.
推薦
Medical Monitoring (Non-Implantable)
The PIC16F877-04E/L is found in non-critical medical devices such as bedside patient monitors and portable nebulizers, where its 10-bit ADC digitizes pulse-oximeter waveforms, the USART streams to a host display, and the extended temperature grade handles clinical-environment thermal variation. The 256-byte EEPROM stores patient presets and calibration. For FDA Class II/III designs confirm IEC 60601 EMI/ESD compliance at the system level - this MCU alone is not a qualified medical component.
推薦
推薦產品摘要
工程參考資料,適用於 PIC16F877-04E/L — 比較、設計指引及合規資訊。
選型指南
與替代品比較
| 參數 | 本產品 | PIC16F877-04I/L | PIC16F877-20E/L | PIC16F887-04E/L | PIC16F874A-I/L |
|---|---|---|---|---|---|
| Brand | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology |
| Package | 44-PLCC (J-Lead) 16.59x16.59 mm | 44-PLCC (J-Lead) - same | 44-PLCC (J-Lead) - same | 44-PLCC (J-Lead) - same | 44-PLCC (J-Lead) - same |
| Max CPU Speed | 4 MHz | 4 MHz | 20 MHz | 4 MHz (8 MHz internal) | 20 MHz |
| FLASH Memory | 14 KB | 14 KB | 14 KB | 14 KB | 7 KB |
| RAM | 368 bytes | 368 bytes | 368 bytes | 368 bytes | 192 bytes |
| Operating Temperature | -40C to +125C (E grade) | -40C to +85C (I grade) | -40C to +125C (E grade) | -40C to +125C (E grade) | -40C to +85C (I grade) |
| ADC | 10-bit, 8 channels | 10-bit, 8 channels | 10-bit, 8 channels | 10-bit, 14 channels | 10-bit, 8 channels |
| Internal Oscillator | No | No | No | Yes (8 MHz) | No |
| Lifecycle Status | Active (Mature) | Active | Active | Active (Recommended new design) | Active |
主要差異化特點
- Extended industrial -40C to +125C temperature grade with same die as F877 (對比PIC16F877-04/L (commercial 0C to +70C))
- Recommended successor with internal 8 MHz oscillator and 14-channel ADC (對比PIC16F887-04E/L)
- 5x faster CPU speed at same extended temp grade and pinout (對比PIC16F877-20E/L)
設計說明
The PIC16F877-04E/L operates from 2.0V to 5.5V; place a 100 nF decoupling capacitor as close as possible to each VDD/VSS pair (pins 14/13, 26/25, 36/35) and a bulk 10 uF tantalum or ceramic on the main VDD rail. The brown-out reset (BOR) can be configured for 4.0V, 2.5V, 1.8V, or disabled in CONFIG1 - select the BOR threshold slightly below your minimum regulated rail to avoid spurious resets during transient dips.
At 4 MHz maximum CPU clock (the -04 grade), the oscillator mode must be XT (crystal/ceramic) or HS (high-speed crystal) for stability; do not use the LP mode (low-power) which only supports up to 200 kHz. Crystal load capacitors are typically 15-33 pF and must match the crystal manufacturer's CL specification. For an external clock source, drive OSC1 (pin 1) with a CMOS-level square wave and leave OSC2 (pin 2) floating.
The PIC16F877 family has only 368 bytes of RAM split across multiple banks - deep call stacks or large buffers will overflow quickly and cause silent firmware corruption. Keep the hardware stack depth below 8 levels, allocate large buffers (e.g., UART RX ring) in compact 8-bit slices, and avoid recursive function calls. Additionally, the 14-bit program counter cannot address more than 14 KB; for larger firmware migrate to PIC18 or PIC16F1xxx. The ICSP programming pins RB6/RB7 must not be strapped low at reset.
Estimated: at full 4 MHz CPU clock with all peripherals active and all 33 I/O pins switching at 1 MHz, the PIC16F877-04E/L dissipates roughly 50-80 mW from a 5V supply. The 44-pin PLCC package has a junction-to-ambient thermal resistance of approximately 60 C/W, so for the E grade (max 125C junction) operation above 95C ambient requires reduced clock or I/O activity. In an enclosed industrial cabinet, ensure a minimum 50 mm clearance around the socket for convective cooling.
合規資訊
RoHS/REACH status was not in the provided web data and is marked as unknown - confirm with Microchip product page or distributor CoC documents. AEC-Q100 not applicable to this part number suffix per standard Microchip cataloging; for AEC-Q100 qualified automotive PIC16F877 variants contact Microchip FAE.