PIC16F877-04E/L - 8-Bit MCU 14KB Flash 4MHz 44-PLCC | Microchip
MPN: PIC16F877-04E/L ✓ Hoạt độngPIC16F877-04E/L Tóm tắt
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.
Bộ thay thế dễ dàng lắp đặt cho PIC16F877-04E/L — cùng gói, chân-to-chân tương thích. Các bộ phận yêu cầu hàn PCB bị loại trừ.
Các biến thể trong loạt này
Các mẫu cùng loạt có thể lắp đặt dễ dàng tương thích với PIC16F877-04E/L (cùng hình factor và footprint) — khác nhau ở ADC, Core Architecture, Mounting Type, Timers, Package.
PIC16F877-04I/L
✅ Drop-InLiên hệ để biết giá
Xem tài liệu →PIC16F877-20E/L
✅ Drop-In📋 Tham chiếu thay thế (không có trong danh mục)
PIC16F887-04E/L
✅ Drop-In📋 Tham chiếu thay thế (không có trong danh mục)
PIC16F874A-I/L
✅ Drop-InLiên hệ để biết giá
Xem tài liệu →PIC16F871-E/L
✅ Drop-InLiên hệ để biết giá
Xem tài liệu →PIC16F877-04E/L Tỷ lệ tối đa & tính chất điện
| 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) |
| Điện áp cung cấp | 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 |
| Hộp | 44-pin PLCC (J-Lead, "L") 16.59 x 16.59 mm |
| Instruction Set | 35 single-word instructions |
Cấu hình chân PIC16F877-04E/L
| Chân 1 | OSC1/CLKIN — Oscillator crystal input or external clock input |
| Chân 2 | OSC2/CLKOUT — Oscillator crystal output or clock output |
| Chân 3 | MCLR/VPP — Master clear reset (active low) / programming voltage |
| Chân 4 | RA0/AN0 — PORTA bit 0 / analog input 0 |
| Chân 5 | RA1/AN1 — PORTA bit 1 / analog input 1 |
| Chân 6 | RA2/AN2 — PORTA bit 2 / analog input 2 |
| Chân 7 | RA3/AN3/VREF- — PORTA bit 3 / analog input 3 / ADC VREF- |
| Chân 8 | RA4/T0CKI — PORTA bit 4 / Timer0 clock input |
| Chân 9 | RA5/AN4/SS — PORTA bit 5 / analog input 4 / SPI slave select |
| Chân 10 | RE0/RD/AN5 — PORTE bit 0 / parallel port read / analog input 5 |
| Chân 11 | RE1/WR/AN6 — PORTE bit 1 / parallel port write / analog input 6 |
| Chân 12 | RE2/CS/AN7 — PORTE bit 2 / parallel port chip select / analog input 7 |
| Chân 13 | VSS — Ground reference |
| Chân 14 | VDD — Positive supply (2.0V to 5.5V) |
| Chân 15 | OSC1 (alt) — Not connected on 44-PLCC package (pin shared numbering may vary by revision) |
| Chân 16 | OSC2 (alt) — Not connected on 44-PLCC package |
| Chân 17 | RC0/T1OSO/T1CKI — PORTC bit 0 / Timer1 oscillator output / Timer1 clock |
| Chân 18 | RC1/T1OSI/CCP2 — PORTC bit 1 / Timer1 oscillator input / CCP2 |
| Chân 19 | RC2/CCP1 — PORTC bit 2 / Capture-Compare-PWM 1 |
| Chân 20 | RC3/SCK/SCL — PORTC bit 3 / SPI clock / I2C clock |
| Chân 21 | RC4/SDI/SDA — PORTC bit 4 / SPI data in / I2C data |
| Chân 22 | RC5/SDO — PORTC bit 5 / SPI data out |
| Chân 23 | RC6/TX/CK — PORTC bit 6 / USART transmit / USART clock |
| Chân 24 | RC7/RX/DT — PORTC bit 7 / USART receive / USART data |
| Chân 25 | VSS — Ground reference |
| Chân 26 | VDD — Positive supply (2.0V to 5.5V) |
| Chân 27 | RB0/INT — PORTB bit 0 / external interrupt |
| Chân 28 | RB1 — PORTB bit 1 |
| Chân 29 | RB2 — PORTB bit 2 |
| Chân 30 | RB3/PGM — PORTB bit 3 / LVP programming |
| Chân 31 | RB4 — PORTB bit 4 |
| Chân 32 | RB5 — PORTB bit 5 |
| Chân 33 | RB6/PGC — PORTB bit 6 / ICSP clock |
| Chân 34 | RB7/PGD — PORTB bit 7 / ICSP data |
| Chân 35 | VSS — Ground reference |
| Chân 36 | VDD — Positive supply (2.0V to 5.5V) |
| Chân 37 | RD0/PSP0 — PORTD bit 0 / parallel slave port bit 0 |
| Chân 38 | RD1/PSP1 — PORTD bit 1 / parallel slave port bit 1 |
| Chân 39 | RD2/PSP2 — PORTD bit 2 / parallel slave port bit 2 |
| Chân 40 | RD3/PSP3 — PORTD bit 3 / parallel slave port bit 3 |
| Chân 41 | RD4/PSP4 — PORTD bit 4 / parallel slave port bit 4 |
| Chân 42 | RD5/PSP5 — PORTD bit 5 / parallel slave port bit 5 |
| Chân 43 | RD6/PSP6 — PORTD bit 6 / parallel slave port bit 6 |
| Chân 44 | RD7/PSP7 — PORTD bit 7 / parallel slave port bit 7 |
Ứng dụng tiêu biểu
PIC16F877-04E/L phù hợp cho 7 Áp dụngs: 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.
Được đề xuất
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.
Được đề xuất
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.
Được đề xuất
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.
Được đề xuất
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.
Được đề xuất
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.
Được đề xuất
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.
Được đề xuất
Tóm tắt các sản phẩm được đề xuất
Dữ liệu tham khảo kỹ thuật cho PIC16F877-04E/L — so sánh, hướng dẫn thiết kế và thông tin tuân thủ.
Hướng dẫn chọn lựa
So sánh với các sản phẩm thay thế
| Tham số | Sản phẩm này | 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 |
Bảo phân biệt quan trọng
- Extended industrial -40C to +125C temperature grade with same die as F877 (vsPIC16F877-04/L (commercial 0C to +70C))
- Recommended successor with internal 8 MHz oscillator and 14-channel ADC (vsPIC16F887-04E/L)
- 5x faster CPU speed at same extended temp grade and pinout (vsPIC16F877-20E/L)
Ghi chú thiết kế
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.
Thông tin tuân thủ
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.