PIC16F877-10E/P - 8-Bit 10MHz 14KB FLASH MCU | Microchip | DIP-40
N.º da peça: PIC16F877-10E/P ✓ Ativo| Qtd. | Preço unitário | Total |
|---|---|---|
| 1 | $7.1 | $7,10 |
| 10 | $6.39 | $63,90 |
| 100 | $5.4 | $540,00 |
| 500 | $4.82 | $2.410,00 |
| 1.000 | $4.3 | $4.300,00 |
PIC16F877-10E/P Visão geral
An 8-bit microcontroller (MCU) is a single-chip computer built around an 8-bit data path, integrating a CPU core, program memory, data RAM, non-volatile EEPROM, timers, and configurable peripherals. The PIC16F877 belongs to the mid-range PIC16 family, which sits hierarchically between the baseline PIC10/12/16/17 families and the high-performance PIC18/dsPIC33 families within Microchip's 8-bit MCU portfolio. It executes a RISC instruction set of only 35 single-word instructions, which simplifies code development, accelerates interrupt latency, and enables deterministic real-time behavior ideal for control loops.
Key features include an integrated 10-bit Analog-to-Digital Converter (ADC) with 8 input channels, two 8-bit timers (Timer0, Timer2) plus one 16-bit timer (Timer1), two Capture/Compare/PWM (CCP) modules, a Synchronous Serial Port (SSP) configurable as either SPI or I²C, a USART for asynchronous or synchronous serial communication, and a parallel Slave Port (PSP) for external bus interfacing. The device also integrates a brown-out reset (BOR), power-on reset (POR), watchdog timer (WDT), and in-circuit serial programming (ICSP) capability, allowing field firmware updates without removing the device from the board.
Architecturally, the PIC16F877 uses a Harvard memory architecture with separate program and data buses, a 14-bit instruction word, and a hardware stack 8 levels deep. The Harvard layout allows simultaneous instruction fetch and data access, giving the 10 MHz oscillator a true 5 MIPS throughput. In-circuit debugging (ICD) is supported through two of the I/O pins, enabling developers to step through code in real time using Microchip's MPLAB ICD tools. The Flash-based program memory supports 100,000 erase/write cycles typical, and the EEPROM supports 1,000,000 cycles, providing long-term reliability for parameter storage.
Typical applications include industrial automation and motor control (HVAC, fans, small pumps), consumer electronics (washing machines, microwave ovens, remote controls), educational development boards and hobbyist projects, automotive body and accessory modules (non-safety-critical), and instrument front panels with mixed digital/analog I/O. The wide operating voltage range (typically 2.0 V to 5.5 V for the -10E variant) allows battery-powered and 5 V regulated designs alike.
When designing with this part, always reserve the ICSP clock (RB6) and data (RB7) pins for the programming/debug interface; tying them to unrelated loads can prevent in-system programming. Decouple VDD with a 100 nF ceramic placed within 5 mm of the supply pin, and use the MCLR reset pin with the recommended 10 kΩ pull-up and a 100 nF delay capacitor for reliable POR behavior. The extended temperature grade (-E) makes this part preferable over the commercial-grade (-I) variant for outdoor enclosures or industrial cabinets.
Alternativas drop-in para PIC16F877-10E/P — mesmo encapsulamento, compatível pino a pino. Peças de encapsulamento diferente que exigem retrabalho na PCB são excluídas.
Variantes desta série
Modelos da mesma série compatíveis como drop-in com PIC16F877-10E/P (mesmo formato e footprint) — diferindo em Package, Core Architecture, I/O Pins, ADC, Mounting Type.
Ferramenta de comparação rápida — selecione peças alternativas para comparação lado a lado:
PIC16F877A-10E/P
✅ Drop-In📋 Alternativa de referência (fora do catálogo)
PIC16F877-04E/PQ
✅ Drop-In✓ Em estoque
$5.72 / unidade
Ver ficha técnica →PIC16F877-10I/P
✅ Drop-In📋 Alternativa de referência (fora do catálogo)
PIC16F887-I/P
✅ Drop-In✓ Em estoque
$1.88 / unidade
Ver ficha técnica →PIC16F877A-I/P
✅ Drop-In✓ Em estoque
Consulte o preço
Ver ficha técnica →PIC16F877-10E/P Classificações máximas e características elétricas
| Core Architecture | 8-bit PIC16 (mid-range) RISC, 35 single-word instructions |
| Program Memory | 14 KB Flash (8K x 14 words) |
| Data RAM | 368 bytes |
| Data EEPROM | 256 bytes |
| Maximum CPU Frequency | 10 MHz (200 ns instruction cycle, 5 MIPS) |
| Operating Voltage Range | 4.0 V to 5.5 V (10 MHz grade) |
| Faixa de temperatura de operação | -40 °C to +125 °C (Extended, -E suffix) |
| Digital I/O Pins | 33 (PORTA 6, PORTB 8, PORTC 8, PORTD 8, PORTE 3) |
| ADC | 10-bit, 8 channels |
| Timers | 3 (Timer0 8-bit, Timer1 16-bit, Timer2 8-bit) |
| CCP Modules | 2 (Capture/Compare/PWM) |
| Serial Interfaces | USART/SCI, SSP (SPI or I²C master/slave), PSP |
| Watchdog Timer | Yes (software-enabled) |
| In-Circuit Programming/Debug | ICSP + ICD via RB6/RB7 |
| Brown-out Reset / Power-on Reset | Yes (BOR + POR) |
| Hardware Stack | 8 levels |
| Encapsulamento | 40-pin PDIP (P) |
| Tipo de montagem | Through-hole (DIP) |
| Status RoHS | Compliant (lead-free matte-tin finish) |
Configuração de pinos do PIC16F877-10E/P
| Pino 1 | MCLR/VPP — Master Clear (Reset) input / ICSP programming voltage |
| Pino 2 | RA0/AN0 — PORTA bit 0 / analog input channel 0 |
| Pino 3 | RA1/AN1 — PORTA bit 1 / analog input channel 1 |
| Pino 4 | RA2/AN2/VREF- — PORTA bit 2 / analog input channel 2 / ADC negative reference |
| Pino 5 | RA3/AN3/VREF+ — PORTA bit 3 / analog input channel 3 / ADC positive reference |
| Pino 6 | RA4/T0CKI — PORTA bit 4 (open-drain) / Timer0 clock input |
| Pino 7 | RA5/AN4/SS — PORTA bit 5 / analog input channel 4 / SPI slave select |
| Pino 8 | RE0/RD/AN5 — PORTE bit 0 / parallel slave port read / analog input channel 5 |
| Pino 9 | RE1/WR/AN6 — PORTE bit 1 / parallel slave port write / analog input channel 6 |
| Pino 10 | RE2/CS/AN7 — PORTE bit 2 / parallel slave port chip select / analog input channel 7 |
| Pino 11 | VDD — Positive supply voltage (4.0 V to 5.5 V) |
| Pino 12 | VSS — Ground reference |
| Pino 13 | OSC1/CLKIN — Oscillator input / external clock input |
| Pino 14 | OSC2/CLKOUT — Oscillator output / clock out (Fosc/4) |
| Pino 15 | RC0/T1OSO/T1CKI — PORTC bit 0 / Timer1 oscillator output / Timer1 clock input |
| Pino 16 | RC1/T1OSI/CCP2 — PORTC bit 1 / Timer1 oscillator input / CCP2 PWM output |
| Pino 17 | RC2/CCP1 — PORTC bit 2 / CCP1 PWM output |
| Pino 18 | RC3/SCK/SCL — PORTC bit 3 / SPI clock / I²C clock |
| Pino 19 | RD0/PSP0 — PORTD bit 0 / parallel slave port data bit 0 |
| Pino 20 | RD1/PSP1 — PORTD bit 1 / parallel slave port data bit 1 |
| Pino 21 | RD2/PSP2 — PORTD bit 2 / parallel slave port data bit 2 |
| Pino 22 | RD3/PSP3 — PORTD bit 3 / parallel slave port data bit 3 |
| Pino 23 | RC4/SDI/SDA — PORTC bit 4 / SPI data in / I²C data |
| Pino 24 | RC5/SDO — PORTC bit 5 / SPI data out |
| Pino 25 | RC6/TX/CK — PORTC bit 6 / USART transmit / USART clock |
| Pino 26 | RC7/RX/DT — PORTC bit 7 / USART receive / USART data |
| Pino 27 | RD4/PSP4 — PORTD bit 4 / parallel slave port data bit 4 |
| Pino 28 | RD5/PSP5 — PORTD bit 5 / parallel slave port data bit 5 |
| Pino 29 | RD6/PSP6 — PORTD bit 6 / parallel slave port data bit 6 |
| Pino 30 | RD7/PSP7 — PORTD bit 7 / parallel slave port data bit 7 |
| Pino 31 | VSS — Ground reference (second VSS pin) |
| Pino 32 | VDD — Positive supply voltage (second VDD pin) |
| Pino 33 | RB0/INT — PORTB bit 0 / external interrupt 0 |
| Pino 34 | RB1 — PORTB bit 1 |
| Pino 35 | RB2 — PORTB bit 2 |
| Pino 36 | RB3/PGM — PORTB bit 3 / LVP programming enable |
| Pino 37 | RB4 — PORTB bit 4 |
| Pino 38 | RB5 — PORTB bit 5 |
| Pino 39 | RB6/PGC — PORTB bit 6 / ICSP clock (ICSPCLK) |
| Pino 40 | RB7/PGD — PORTB bit 7 / ICSP data (ICSPDAT) |
Aplicações típicas
PIC16F877-10E/P é adequado para 6 aplicaçãos: Industrial Automation and Motor Control, Consumer Electronics Front Panels, Educational Development Boards and Hobbyist Projects, Instrumentation and Data Acquisition Front Ends, Automotive Body and Accessory Modules, Wireless Sensor Network Edge Nodes.
Industrial Automation and Motor Control
The PIC16F877-10E/P is well suited for industrial automation controllers driving small DC motors, stepper motor indexers, fan speed controllers, and HVAC damper actuators. Its 33 digital I/O pins provide ample drive for relays, optocouplers, and 7-segment displays, while the two CCP modules generate precise PWM for brushed DC motor speed loops at up to 5 MIPS computational throughput. The 8-channel 10-bit ADC samples feedback from thermistors, pressure sensors, and current shunts for closed-loop control, and the USART links to a host PLC or HMI for SCADA integration. The extended -40 °C to +125 °C temperature grade tolerates unconditioned factory cabinets, and the 14 KB Flash accommodates state-machine control firmware plus Modbus or CANopen protocol stacks.
Recomendado
Consumer Electronics Front Panels
White goods such as washing machines, microwave ovens, dishwashers, and air conditioners use the PIC16F877-10E/P as the primary user-interface controller, handling push-button scanning, rotary encoder input, and multiplexed 7-segment or LCD character displays. Its 33 I/O pins comfortably drive a 4-digit 7-segment display plus an 8-key matrix and a buzzer, while the 14 KB Flash stores user menus, error codes, and diagnostic routines. The 10-bit ADC reads temperature sensors (NTC), water level probes, and humidity sensors with ±1 LSB linearity, and the I²C/SPI peripherals interface to EEPROM parameter storage and real-time clock ICs. The 256-byte on-chip EEPROM preserves user settings through power cycles without external NVRAM.
Recomendado
Educational Development Boards and Hobbyist Projects
The PIC16F877-10E/P is a cornerstone of university embedded-systems courses and DIY maker projects due to its breadboard-friendly 40-pin PDIP package, mature toolchain support, and abundant tutorial resources. Students learn RISC assembly and C programming with MPLAB X + XC8 (free compiler), implementing PWM motor control, ADC sensor reading, I²C peripheral interfacing, and USART serial debugging. The through-hole DIP form factor survives repeated insertion into breadboards and ZIF sockets, while the ICSP interface via RB6/RB7 allows hands-on programming without removing the chip. Hobbyist projects include robotics motor controllers, weather stations, IR remote-controlled toys, and home automation prototypes with the PIC16F877A migration path when more memory is needed.
Recomendado
Instrumentation and Data Acquisition Front Ends
Bench-top instruments and laboratory data loggers use the PIC16F877-10E/P as a multi-channel ADC front end, capturing 8 analog signals at 10-bit resolution and streaming them to a host PC via USART or USB-to-serial bridge. The 5 MIPS CPU enables on-board digital filtering (moving average, FIR low-pass) before transmission, reducing host-side processing load. The two CCP modules measure pulse widths and frequencies from external sensors, while the SSP port in SPI mode interfaces to high-speed external ADCs or DACs for applications needing more than 10 bits of resolution. The 14 KB Flash stores calibration coefficients and linearization lookup tables in program memory, with 256-byte EEPROM retaining user calibration settings across power cycles.
Recomendado
Automotive Body and Accessory Modules
Non-safety-critical automotive body controllers—such as window lift modules, seat position memories, mirror adjusters, and interior lighting controllers—use the PIC16F877-10E/P as a cost-effective 8-bit solution. The 33 digital I/O pins directly drive low-side MOSFETs via gate resistors, the two CCP modules generate PWM for LED dimming and motor soft-start, and the USART communicates with body control modules over LIN or K-Line protocols. Note: this part is NOT AEC-Q100 qualified, so it must be limited to non-safety applications; AEC-Q100-grade PIC16F177x or PIC18F alternatives are required for under-hood or chassis domains. The extended -40 °C to +125 °C temperature grade handles cabin and trunk thermal environments.
Recomendado
Wireless Sensor Network Edge Nodes
Battery-powered wireless sensor nodes based on the PIC16F877-10E/P leverage the device's low-power sleep modes (down to <1 µA with WDT disabled) and integrated ADC for periodic environmental sampling. The USART connects to a 2.4 GHz radio module such as the MRF24J40 or nRF24L01+, while the I²C bus reads digital sensors (temperature, humidity, accelerometers) without burdening the ADC channels. The 14 KB Flash stores sensor calibration and a simple MAC protocol stack; the 256-byte EEPROM retains node ID and network parameters through battery replacement. For solar-powered deployments, the 2.0–5.5 V operating range (or PIC16LF877 variant) allows direct Li-ion or 2xAA cell operation with a boost converter for the radio rail.
Recomendado
Resumo dos produtos recomendados
Dados de referência de engenharia para PIC16F877-10E/P — comparação, orientação de projeto e informações de conformidade.
Guia de seleção
Comparação com alternativas
| Parâmetro | Este produto | PIC16F877A-10E/P | PIC16F877-04E/P | PIC16F877-10I/P | PIC16F887-I/P | PIC16F877A-I/P |
|---|---|---|---|---|---|---|
| Package | 40-pin PDIP | 40-pin PDIP - same | 40-pin PDIP - same | 40-pin PDIP - same | 40-pin PDIP - same | 40-pin PDIP - same |
| Brand | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology |
| Maximum CPU Frequency | 10 MHz | 10 MHz | 4 MHz | 10 MHz | 20 MHz | 20 MHz |
| Program Memory | 14 KB Flash | 14 KB Flash | 14 KB Flash | 14 KB Flash | 14 KB Flash | 14 KB Flash |
| Data RAM | 368 bytes | 368 bytes | 368 bytes | 368 bytes | 368 bytes | 368 bytes |
| ADC Channels | 8 (10-bit) | 8 (10-bit) | 8 (10-bit) | 8 (10-bit) | 14 (10-bit) | 8 (10-bit) |
| Operating Temperature | -40 °C to +125 °C (Extended) | -40 °C to +125 °C (Extended) | -40 °C to +125 °C (Extended) | -40 °C to +85 °C (Industrial) | -40 °C to +85 °C (Industrial) | -40 °C to +85 °C (Industrial) |
| Internal Oscillator | No (external crystal required) | Yes, 4 MHz calibrated (1%) | No (external crystal required) | No (external crystal required) | Yes, 8 MHz with 4x PLL | Yes, 4 MHz calibrated (1%) |
| CCP Modules | 2 | 2 | 2 | 2 | 2 (Enhanced CCP) | 2 |
Principais diferenciais
- Extended -40 °C to +125 °C temperature range (vs PIC16F877A-I/P)
- 5 MIPS throughput at 10 MHz vs 4 MHz in -04 grade (vs PIC16F877-04E/P)
- Backwards compatibility with PIC16F877 legacy firmware (vs PIC16F887-I/P)
Notas de projeto
Reserve RB6 (ICSPCLK) and RB7 (ICSPDAT) for in-circuit serial programming. Tying these pins directly to heavy loads or pull-ups greater than 10 kΩ can prevent programming. Place a 4.7 kΩ pull-up on MCLR (pin 1) with a 100 nF delay capacitor to VDD, per Microchip's reference design; this ensures clean power-on-reset behavior. Keep VDD traces short and place a 100 nF decoupling capacitor within 5 mm of pins 11 and 32, with a 10 µF bulk capacitor near the IC. Avoid routing high-speed signals (oscillator, CCP PWM) directly under the IC to minimize noise coupling into the ADC.
Do not assume VDD operation below 4.0 V at 10 MHz. According to the datasheet DC characteristics, the -10E variant requires VDD ≥ 4.0 V to guarantee 10 MHz operation; below this the device still runs but the oscillator may fail to start or produce timing errors. If you need 5 MIPS throughput down to 2.0 V, choose the PIC16LF877 (PIC16LF series). Also note the ADC requires the A/D acquisition time to be set correctly in the ADCON0 register — using the default 20 µS with a low-impedance source is fine, but for high-impedance sensors (>10 kΩ), increase TACQ to 20 µS or use a buffer op-amp to avoid conversion errors.
Estimated: at VDD=5 V and 10 MHz active mode with all peripherals enabled, the PIC16F877-10E/P draws approximately 15 mA active current and drops to under 1 µA in sleep mode with WDT disabled. For battery-powered designs, use sleep mode aggressively between sensor samples and wake via Watchdog Timer (typically 18 ms interval) or external interrupt on RB0. The brown-out reset (BOR) should be enabled in configuration bits to prevent code execution at low VDD that could corrupt EEPROM; Microchip's datasheet recommends BOR at 4.0 V minimum for 10 MHz operation.
Informações de conformidade
RoHS compliant per Microchip material declaration. Lead-free matte-tin finish. NOT AEC-Q100 qualified - not suitable for automotive safety-critical applications. REACH SVHC compliant; halogen-free molding compound per Microchip's environmental compliance documentation.