PIC16F877-04E/L - 8-Bit MCU 14KB Flash 4MHz 44-PLCC | Microchip
Артикул: PIC16F877-04E/L ✓ Активен| Кол-во | Цена за ед. | Итого |
|---|---|---|
| 1 | $8.59 | $8,59 |
| 10 | $7.79 | $77,90 |
| 100 | $6.78 | $678,00 |
| 500 | $5.95 | $2.975,00 |
| 1.000 | $5.21 | $5.210,00 |
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 — тот же корпус, pin-to-pin совместимость. Компоненты в других корпусах, требующие переработки PCB, исключены.
Варианты в этой серии
Модели той же серии, совместимые без доработки с PIC16F877-04E/L (тот же форм-фактор и посадочное место) — отличается по EEPROM Data Memory, I/O Pins, Package, ADC, Timers.
Инструмент быстрого сравнения — выберите альтернативные компоненты для сравнения бок о бок:
PIC16F877-04I/L
✅ Прямая замена📋 Справочный аналог (нет в каталоге)
PIC16F877-20E/L
✅ Прямая замена📋 Справочный аналог (нет в каталоге)
PIC16F887-04E/L
✅ Прямая замена📋 Справочный аналог (нет в каталоге)
PIC16F874A-I/L
✅ Прямая замена✓ В наличии
$5.2 / шт.
Открыть даташит →PIC16F871-E/L
✅ Прямая замена✓ В наличии
$5.2 / шт.
Открыть даташит →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.