PIC16F877-20/P - 8-Bit 20MHz 14KB Flash MCU 40-PDIP | Microchip
Артикул: PIC16F877-20/P ✓ Активен| Кол-во | Цена за ед. | Итого |
|---|---|---|
| 1 | $9.95 | $9,95 |
| 10 | $8.75 | $87,50 |
| 100 | $7.55 | $755,00 |
| 500 | $6.85 | $3.425,00 |
| 1.000 | $6.2 | $6.200,00 |
PIC16F877-20/P Обзор
An 8-bit microcontroller (MCU) is a single-chip computer built around an 8-bit data bus, optimized for embedded control where deterministic behavior, low cost, and minimal external components matter more than raw throughput. The PIC16F877 belongs to the PIC mid-range family, which sits between the baseline PIC10/12/16 and the enhanced PIC18 families in Microchip's taxonomy: PIC MCU -> PIC16 mid-range 8-bit MCU -> CMOS FLASH MCU -> embedded controller. This 200ns-instruction architecture executes 35 single-word instructions, making it easy to program in assembly or C (XC8).
Key specifications include a 20MHz maximum clock, 14KB Flash, 368 bytes SRAM, 256 bytes EEPROM, 8 channels of 10-bit Analog-to-Digital converter, two Capture/Compare/PWM modules, a USART, MSSP configurable as SPI or I2C, two 8-bit timers plus one 16-bit timer, and a 25mA source/sink per I/O capability. The device operates from 4.0V to 5.5V across the industrial -40C to +85C range with 5V typical Vdd.
The architecture combines a Harvard-style program/data bus split with a RISC-like instruction set, enabling deterministic interrupt latency and compact code density. The in-system programmable Flash allows firmware updates without removal from the application circuit, while the integrated ICD (In-Circuit Debug) pin pair supports MPLAB ICD debug hardware for real-time emulation.
Typical applications include industrial control systems, HVAC controllers, security alarm panels, motor control loops, instrumentation, and educational/development platforms. The wide peripheral set and DIP-40 form factor make it especially common in legacy designs, hobbyist projects, and breadboard-friendly prototypes.
Designers should plan for a stable 20MHz crystal or resonator on OSC1/OSC2, decoupling 100nF near each Vdd pin, and MCLR pull-up configuration during reset. Because the PIC16F877 family has been surpassed by the PIC16F887 (more memory, lower cost) and PIC16F1xxx enhanced cores, new designs should evaluate these drop-in successors unless the existing toolchain or firmware mandates the classic device.
This page synthesizes distributor pricing, drop-in alternatives (PIC16F874A, PIC16F877A), and practical design notes not found in the manufacturer datasheet alone.
Аналоги без доработки для PIC16F877-20/P — тот же корпус, pin-to-pin совместимость. Компоненты в других корпусах, требующие переработки PCB, исключены.
Варианты в этой серии
Модели той же серии, совместимые без доработки с PIC16F877-20/P (тот же форм-фактор и посадочное место) — отличается по Package, Core Architecture, ADC, Timers, Mounting Type.
Инструмент быстрого сравнения — выберите альтернативные компоненты для сравнения бок о бок:
PIC16F877A-I/P
✅ Прямая замена✓ В наличии
Уточнить цену
Открыть даташит →PIC16F877-20/L
✅ Прямая замена✓ В наличии
$4.85 / шт.
Открыть даташит →PIC16F874A-I/P
✅ Прямая замена📋 Справочный аналог (нет в каталоге)
PIC16F887-I/P
✅ Прямая замена✓ В наличии
$1.88 / шт.
Открыть даташит →PIC16F877-04E/PQ
✅ Прямая замена✓ В наличии
$5.72 / шт.
Открыть даташит →PIC16F877-20E/P
✅ Прямая замена ⚠️ Характеристики не проверены📋 Справочный аналог (нет в каталоге)
PIC16F877-20/P Максимальные параметры и электрические характеристики
| Product Type | 8-bit Microcontroller (MCU) |
| Core Architecture | PIC16 mid-range (Harvard, RISC-like) |
| Program Memory | 14 KB Flash (8K x 14 words), in-system programmable |
| RAM | 368 bytes |
| EEPROM Data Memory | 256 bytes |
| Maximum CPU Frequency | 20 MHz |
| Instruction Cycle Time | 200 ns |
| Instruction Set Size | 35 single-word instructions |
| Supply Voltage (Vdd) | 4.0 V to 5.5 V (5 V typical) |
| Рабочая температура | 0C to +70C (commercial, -40C to +85C for industrial -20I suffix) |
| Digital I/O Pins | 33 |
| ADC | 8 channels, 10-bit resolution |
| Timers | 2 x 8-bit + 1 x 16-bit |
| Capture/Compare/PWM | 2 modules (CCP) |
| Serial Interfaces | 1 x USART (SCI), 1 x MSSP (SPI / I2C configurable) |
| Корпус | 40-pin PDIP (DIP-40, 0.600 inch / 15.24 mm) |
| Тип монтажа | Through-Hole (THT) |
| Статус RoHS | Compliant |
| Lead-Free | Yes |
| I/O Sink/Source Current | 25 mA per pin |
| In-Circuit Debug | ICD support via PGD/PGC pins |
Конфигурация выводов PIC16F877-20/P
| Контакт 1 | MCLR — Master Clear (reset) input, active low |
| Контакт 2 | RA0/AN0 — PORTA bit 0 / Analog input 0 |
| Контакт 3 | RA1/AN1 — PORTA bit 1 / Analog input 1 |
| Контакт 4 | RA2/AN2 — PORTA bit 2 / Analog input 2 |
| Контакт 5 | RA3/AN3/VREF+ — PORTA bit 3 / Analog input 3 / Voltage reference positive |
| Контакт 6 | RA4/T0CKI — PORTA bit 4 / Timer0 clock input |
| Контакт 7 | RA5/AN4/SS — PORTA bit 5 / Analog input 4 / SPI slave select |
| Контакт 8 | RE0/RD/AN5 — PORTE bit 0 / Parallel slave port read / Analog input 5 |
| Контакт 9 | RE1/WR/AN6 — PORTE bit 1 / Parallel slave port write / Analog input 6 |
| Контакт 10 | RE2/CS/AN7 — PORTE bit 2 / Parallel slave port chip select / Analog input 7 |
| Контакт 11 | VDD — Positive supply voltage (5V typical) |
| Контакт 12 | VSS — Ground reference |
| Контакт 13 | OSC1/CLKIN — Oscillator crystal input or external clock input |
| Контакт 14 | OSC2/CLKOUT — Oscillator crystal output or clock output |
| Контакт 15 | RC0/T1OSO/T1CKI — PORTC bit 0 / Timer1 oscillator output / Timer1 clock input |
| Контакт 16 | RC1/T1OSI/CCP2 — PORTC bit 1 / Timer1 oscillator input / CCP2 I/O |
| Контакт 17 | RC2/CCP1 — PORTC bit 2 / CCP1 I/O |
| Контакт 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 async transmit or sync clock |
| Контакт 26 | RC7/RX/DT — PORTC bit 7 / USART async receive or sync 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 reference |
| Контакт 32 | VDD — Positive supply voltage (5V typical) |
| Контакт 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 ICSP programming entry |
| Контакт 37 | RB4 — PORTB bit 4 |
| Контакт 38 | RB5 — PORTB bit 5 |
| Контакт 39 | RB6/PGC — PORTB bit 6 / In-circuit debugger clock / ICSP clock |
| Контакт 40 | RB7/PGD — PORTB bit 7 / In-circuit debugger data / ICSP data |
Типичное применение
PIC16F877-20/P подходит для 7 применениеs: Industrial Process Control, Security and Alarm Systems, HVAC and Climate Controllers, Motor Control and Robotics, Educational Development Platforms, Test and Measurement Instrumentation, Automotive Aftermarket Accessories.
Industrial Process Control
The PIC16F877-20/P suits industrial control PLCs and process instrumentation thanks to its 8-channel 10-bit ADC for analog sensor inputs, dual Capture/Compare/PWM modules for actuator control, and USART for RS-485/RS-232 communication. The 20MHz CPU delivers deterministic 200ns instruction cycles ideal for closed-loop control. Its 14KB program space accommodates multi-protocol firmware, and 368 bytes of RAM support moderate data buffering. The wide 4.0-5.5V supply range tolerates noisy 24V-derived industrial rails after regulation. Engineers value the PIC16F877-20/P for HVAC damper controllers, conveyor sequencing, and SCADA slave terminals.
Рекомендуется
Security and Alarm Systems
The PIC16F877-20/P is well-suited to security alarm panels and access-control terminals due to its 33 I/O pins that can interface PIR motion sensors, magnetic reed switches, keypads, and indicator LEDs without external muxing. Its 256 bytes of EEPROM store zone configuration and event logs that survive power loss. The MSSP block provides SPI or I2C to drive keypads or non-volatile FRAM, while 14KB Flash accommodates complex arming-state machines. The 20MHz CPU executes debounce and supervision logic in real time, and the wide 4-5.5V supply is robust on backup-battery rails. Common designs include 8-16 zone hardwired panels.
Рекомендуется
HVAC and Climate Controllers
The PIC16F877-20/P drives HVAC thermostat and damper-actuator designs where 8 channels of 10-bit ADC read thermistor temperature sensors, and dual CCP modules generate PWM to control blower fan speeds and three-way valve actuators. Its 20MHz CPU performs PID control loops with sub-millisecond update rates. The 33 digital I/O lines interface 7-segment displays, keypad inputs, and relay drivers. The 14KB Flash fits complex scheduling firmware including holiday calendars. The 256-byte EEPROM stores setpoints across power cycles. Engineers commonly pair the PIC16F877-20/P with the LM35 analog temp sensor and zero-cross SSR drivers.
Рекомендуется
Motor Control and Robotics
The PIC16F877-20/P fits brushed-DC and unipolar stepper motor controllers through its dual Capture/Compare/PWM modules generating up to 10-bit PWM at tens of kHz for speed control. Its 20MHz instruction cycle delivers 200ns loop times, enabling smooth PID control of small DC gearmotors used in robotics and small CNC machines. The 8-channel ADC reads current-sense amplifiers and potentiometers for feedback. The MSSP supports SPI to smart power drivers and I2C to digital accelerometers. The 40-pin PDIP package is breadboard-friendly for hobbyist and educational robotics kits.
Рекомендуется
Educational Development Platforms
The PIC16F877-20/P remains a fixture in university microcontroller courses and hobbyist training kits thanks to its breadboard-friendly 40-pin PDIP package and the PIC16 mid-range's 35-instruction RISC-like instruction set. The device supports ICSP (In-Circuit Serial Programming) and ICD (In-Circuit Debug) via dedicated PGD/PGC pins, enabling real-time debugging with the MPLAB ICD hardware. Combined with XC8 C compiler and MPLAB X IDE, students learn embedded C, peripheral driver writing, and assembly programming. The mature toolchain and abundant teaching material make it a low-risk choice for coursework in digital systems, embedded programming, and mechatronics labs.
Рекомендуется
Test and Measurement Instrumentation
The PIC16F877-20/P suits bench instruments and portable data loggers where its 8-channel 10-bit ADC acquires voltage or sensor signals at up to ~50ksps, and the USART streams data to a PC terminal or LCD display. Its 14KB Flash holds moderate firmware for RMS calculation, statistics, and USB-CDC bridges using the MSSP. The 368-byte RAM supports small ring buffers for asynchronous acquisition. The 33 digital I/O pins drive 7-segment or character LCDs and read rotary encoders or pushbuttons. The 4-5.5V supply range is compatible with USB-derived 5V rails, simplifying integration in lab tools.
Рекомендуется
Automotive Aftermarket Accessories
The PIC16F877-20/P powers aftermarket automotive accessories like alarm systems, fuel-economy displays, and auxiliary lighting controllers where 8 ADC channels read battery voltage, thermistors, and pressure sensors. The USART interfaces GPS modules and OBD-II readers, while the MSSP drives SPI LED drivers for custom lighting. Its -40C to +85C operating range handles under-dash automotive environments. The 14KB Flash fits complex state machines for security and lighting sequences. Engineers typically use the PIC16F877-20/P in non-safety automotive accessories where AEC-Q100 qualification is not required.
Рекомендуется
Сводка рекомендуемых товаров
Справочные инженерные данные для PIC16F877-20/P — сравнение, рекомендации по проектированию и информация о соответствии.
Руководство по выбору
Сравнение с аналогами
| Параметр | Этот товар | PIC16F877A-I/P | PIC16F877-20/L | PIC16F874A-I/P | PIC16F887-I/P | PIC16F877-04E/P | PIC16F877-20E/P |
|---|---|---|---|---|---|---|---|
| Package | PDIP-40 (0.600 inch) | PDIP-40 (0.600 inch) - same | CDIP-40W (windowed CERDIP) - same pinout | PDIP-40 (0.600 inch) - same | PDIP-40 (0.600 inch) - same | PDIP-40 (0.600 inch) - same | PDIP-40 (0.600 inch) - same |
| Brand | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology |
| Program Memory (Flash) | 14 KB | 14 KB | 14 KB | 4 KB (-71%) | 14 KB | 14 KB | 14 KB |
| RAM | 368 bytes | 368 bytes | 368 bytes | 192 bytes (-48%) | 368 bytes | 368 bytes | 368 bytes |
| EEPROM | 256 bytes | 256 bytes | 256 bytes | 128 bytes (-50%) | 256 bytes | 256 bytes | 256 bytes |
| Maximum CPU Frequency | 20 MHz | 20 MHz | 20 MHz | 20 MHz | 20 MHz | 4 MHz (-80%) | 20 MHz |
| ADC Channels / Resolution | 8 / 10-bit | 8 / 10-bit (improved linearity) | 8 / 10-bit | 8 / 10-bit | 14 / 10-bit | 8 / 10-bit | 8 / 10-bit |
| Operating Temperature | 0C to +70C (commercial) | -40C to +85C (industrial) | 0C to +70C (commercial) | -40C to +85C (industrial) | -40C to +85C (industrial) | -40C to +125C (extended) | -40C to +125C (extended) |
| Power-Saving Modes | Sleep | Sleep + nanoWatt | Sleep | Sleep + nanoWatt | Sleep + nanoWatt XLP | Sleep | Sleep |
Ключевые отличия
- Mature code base and toolchain support (против PIC16F887-I/P)
- Industrial temperature variant available (против PIC16F877-04E/P)
- Larger Flash and RAM than the PIC16F874 family (против PIC16F874A-I/P)
Заметки по проектированию
Place a 100nF decoupling capacitor as close as possible to each Vdd pin (pins 11 and 32), plus a bulk 10uF tantalum or electrolytic at the supply entry. The PIC16F877-20/P has two Vdd/Vss pairs (pins 11/12 and 31/32) and skipping the second pair causes brownout glitches during high-frequency switching loads. Vdd must be 4.0V to 5.5V; operation below 4.0V violates spec even though the device may still appear to run.
When using the on-chip ICD debug feature, do NOT pull PGD (RB7/PGD) or PGC (RB6/PGC) high externally during reset - ICD requires these pins to be released. The MCLR pin (pin 1) must be tied high through a 10k pull-up; leaving it floating causes intermittent resets. If the application does not use ICD, ensure RB3/PGM, RB6/PGC, RB7/PGD are not loaded with capacitance exceeding the ICSP spec or ICSP programming will fail.
Estimated: at 20MHz Fosc the instruction cycle is 200ns, and a 4-cycle ADC conversion takes ~3.2us with a 32MHz internal ADC clock. Place the analog reference decoupling (1uF to 10uF) on pin 5 (RA3/VREF+) if VREF+ is enabled, and keep analog traces short and away from high-current digital switching to minimize ADC channel crosstalk. For the HS oscillator mode, the load capacitor values on OSC1/OSC2 depend on the crystal's load capacitance; see the oscillator section of the Microchip datasheet (PIC16F87X Family Reference Manual).
Long wires on PORTB RB0 (external interrupt) and on the USART pins (RC6/TX, RC7/RX) benefit from series 100 ohm resistors near the MCU to damp reflections. The MSSP I2C lines (RC3/SCL, RC4/SDA) require pull-up resistors sized per the I2C spec - typical values are 4.7k for 100kHz Standard mode and 2.2k for 400kHz Fast mode. The CCP1 and CCP2 PWM outputs are 5V CMOS drive capable of 25mA sink/source.
When migrating PIC16F877 firmware to the PIC16F887 (recommended for new designs per the Microchip product page), preserve the same 40-pin PDIP footprint. The PIC16F887 adds enhanced mid-range instructions, nanoWatt XLP modes, and 14 ADC channels instead of 8. Existing PIC16F877 C code typically recompiles cleanly under XC8, but verify the configuration bits: the PIC16F887's CONFIG2 register layout differs slightly. Use MPLAB X with the latest XC8 compiler and device pack for the PIC16F887.
Информация о соответствии
RoHS compliant per Microchip product page. Not AEC-Q100 qualified - this part is intended for industrial/commercial embedded applications, not automotive safety. Halogen free status not explicitly stated in verified web data and is set to unknown per Data Authenticity Rules.