PIC16F877A-E/L - 8-bit 20MHz 14KB Flash MCU 44-PLCC | Microchip
MPN: PIC16F877A-E/L ✓ AktifPIC16F877A-E/L Ringkasan
An 8-bit microcontroller (MCU) is a single-chip computer that integrates a CPU, RAM, non-volatile program memory, peripherals, and I/O on one die. PIC16F-series MCUs belong to the enhanced mid-range family of Microchip's PIC microcontroller hierarchy: PIC10/12/14/16 (base-line and mid-range 8-bit) -> PIC16 (mid-range, enhanced mid-range) -> PICmicro 8-bit -> Microcontroller -> Semiconductor. They are designed for deterministic, low-power embedded control with a small instruction footprint (35 instructions on the PIC16F877A).
Key features of the PIC16F877A include a 10-bit Analog-to-Digital Converter (ADC) with up to 8 input channels, two 8-bit timers plus one 16-bit timer, two Capture/Compare/PWM (CCP) modules, an Enhanced Universal Synchronous Asynchronous Receiver Transmitter (EUSART), a Master Synchronous Serial Port (MSSP) configurable for SPI or I2C, an ICD (In-Circuit Debug) interface, two analog comparators, brown-out reset (BOR), and a programmable watchdog timer. The Harvard architecture and 14-bit instruction word allow compact, predictable code execution.
Typical applications include industrial control systems, HVAC controllers, automotive body and interior electronics, sensor signal conditioning, low-cost instrumentation, and education/development platforms where the PIC16F877A is a long-standing reference design. The wide operating voltage and rich analog/digital peripheral mix make it suitable for replacing multiple discrete components with one programmable solution.
When designing with this device, ensure proper decoupling (100 nF + 10 uF bulk) near VDD pins, place the MCLR pull-up correctly for in-circuit debugging, and verify I/O assignments against the 44-pin PLCC pinout. The internal RC oscillator can be used to save cost, but a crystal is recommended for timing-sensitive UART or PWM applications.
Alternatif penggantian untuk PIC16F877A-E/L — paket yang sama, pin-pada-pin kompatibel. Bagian paket yang berbeda memerlukan kerja ulang PCB diabaikan.
Variasi di dalam seri ini
Model-series yang sama yang kompatibel dengan penggantian PIC16F877A-E/L (sama faktor bentuk dan footprint) — berbeda di dalam Package, Operating Temperature, Core Architecture, Serial Interfaces, Timers.
PIC16F877-20/L
✅ Drop-In ⚠️ Spesifikasi Tidak DisahkanKontak untuk harga
Lihat Datasheet →PIC16F877-20I/L
✅ Drop-In ⚠️ Spesifikasi Tidak DisahkanKontak untuk harga
Lihat Datasheet →PIC16F871-E/L
✅ Drop-InKontak untuk harga
Lihat Datasheet →PIC18F458-E/L
✅ Drop-InKontak untuk harga
Lihat Datasheet →PIC16F877A-I/L
✅ Drop-In ⚠️ Spesifikasi Tidak DisahkanKontak untuk harga
Lihat Datasheet →PIC16F877A-E/L Rating Maksimal & Karakteristik Listrik
| Core | PIC16 |
| Architecture | 8-bit Harvard RISC |
| Instruction Set | 35 single-word instructions |
| Instruction Cycle Time | 200 ns @ 20 MHz |
| Frekuensi Bawah Maximum | 20 MHz |
| Program Memory (Flash) | 14 KB (8K x 14 words) |
| Data Memory (SRAM) | 368 bytes |
| Data EEPROM | 256 bytes |
| Supply Voltage (VDD) | 2.0 V to 5.5 V |
| Suhu Kerja | -40 C to +125 C (Extended grade, "E") |
| I/O Pins | 33 |
| ADC | 10-bit, up to 8 channels |
| Timers | 2 x 8-bit, 1 x 16-bit |
| CCP Modules | 2 (Capture/Compare/PWM) |
| Serial Interfaces | MSSP (SPI / I2C), EUSART (RS-232/RS-485) |
| Comparators | 2 analog |
| In-Circuit Debug | Yes (ICD) |
| Brown-out Reset | Yes |
| Watchdog Timer | Yes (programmable) |
| Paket | 44-pin PLCC (J-lead, 16.59 x 16.59 mm) |
| Tipe Mounting | Surface Mount |
| Level MSL | 3 (168 hours) |
| Status RoHS | Compliant |
Konfigurasi Pin PIC16F877A-E/L
| Pin produk 1 | MCLR/VPP — Master Clear (Reset) input / Programming voltage |
| Pin produk 2 | RA0/AN0 — PORTA bit 0 / Analog input 0 |
| Pin produk 3 | RA1/AN1 — PORTA bit 1 / Analog input 1 |
| Pin produk 4 | RA2/AN2/VREF- — PORTA bit 2 / Analog input 2 / ADC VREF- |
| Pin produk 5 | RA3/AN3/VREF+ — PORTA bit 3 / Analog input 3 / ADC VREF+ |
| Pin produk 6 | RA4/T0CKI — PORTA bit 4 / Timer0 clock input |
| Pin produk 7 | RA5/AN4/SS — PORTA bit 5 / Analog input 4 / SPI slave select |
| Pin produk 8 | RE0/RD/AN5 — PORTE bit 0 / Parallel port read control / Analog input 5 |
| Pin produk 9 | RE1/WR/AN6 — PORTE bit 1 / Parallel port write control / Analog input 6 |
| Pin produk 10 | RE2/CS/AN7 — PORTE bit 2 / Parallel port chip select / Analog input 7 |
| Pin produk 11 | VDD — Positive supply voltage (+5 V typical) |
| Pin produk 12 | VSS — Ground reference |
| Pin produk 13 | OSC1/CLKIN — Oscillator input / External clock input |
| Pin produk 14 | OSC2/CLKOUT — Oscillator output / Clock output |
| Pin produk 15 | RC0/T1OSO/T1CKI — PORTC bit 0 / Timer1 oscillator output / Timer1 clock input |
| Pin produk 16 | RC1/T1OSI/CCP2 — PORTC bit 1 / Timer1 oscillator input / CCP2 I/O |
| Pin produk 17 | RC2/CCP1 — PORTC bit 2 / CCP1 I/O (Capture/Compare/PWM) |
| Pin produk 18 | RC3/SCK/SCL — PORTC bit 3 / SPI clock / I2C clock |
| Pin produk 19 | RC4/SDI/SDA — PORTC bit 4 / SPI data in / I2C data |
| Pin produk 20 | RC5/SDO — PORTC bit 5 / SPI data out |
| Pin produk 21 | RC6/TX/CK — PORTC bit 6 / EUSART async transmit / sync clock |
| Pin produk 22 | RC7/RX/DT — PORTC bit 7 / EUSART async receive / sync data |
| Pin produk 23 | RD0/PSP0 — PORTD bit 0 / Parallel slave port bit 0 |
| Pin produk 24 | RD1/PSP1 — PORTD bit 1 / Parallel slave port bit 1 |
| Pin produk 25 | RD2/PSP2 — PORTD bit 2 / Parallel slave port bit 2 |
| Pin produk 26 | RD3/PSP3 — PORTD bit 3 / Parallel slave port bit 3 |
| Pin produk 27 | RD4/PSP4 — PORTD bit 4 / Parallel slave port bit 4 |
| Pin produk 28 | RD5/PSP5 — PORTD bit 5 / Parallel slave port bit 5 |
| Pin produk 29 | RD6/PSP6 — PORTD bit 6 / Parallel slave port bit 6 |
| Pin produk 30 | RD7/PSP7 — PORTD bit 7 / Parallel slave port bit 7 |
| Pin produk 31 | VSS — Ground reference |
| Pin produk 32 | VDD — Positive supply voltage (+5 V typical) |
| Pin produk 33 | RB0/INT — PORTB bit 0 / External interrupt input |
| Pin produk 34 | RB1 — PORTB bit 1 |
| Pin produk 35 | RB2 — PORTB bit 2 |
| Pin produk 36 | RB3/PGM — PORTB bit 3 / Low-voltage programming input |
| Pin produk 37 | RB4 — PORTB bit 4 |
| Pin produk 38 | RB5 — PORTB bit 5 |
| Pin produk 39 | RB6/PGC — PORTB bit 6 / In-circuit debugger clock |
| Pin produk 40 | RB7/PGD — PORTB bit 7 / In-circuit debugger data |
| Pin produk 41 | NC — Not connected (per datasheet) |
| Pin produk 42 | NC — Not connected (per datasheet) |
| Pin produk 43 | NC — Not connected (per datasheet) |
| Pin produk 44 | NC — Not connected (per datasheet) |
Aplikasi Umum
PIC16F877A-E/L cocok untuk 6 aplikasis: Industrial Control Systems, HVAC and Building Automation, Educational and Development Platforms, Sensor Signal Conditioning Nodes, Automotive Body Electronics, Low-Cost Instrumentation.
Industrial Control Systems
The PIC16F877A-E/L is a strong fit for industrial control with 33 digital I/O to drive relays, contactors, and discrete sensors, plus a 10-bit ADC for analog process variables. Its 2.0 V to 5.5 V supply range tolerates 24 V industrial bus rails after simple regulation. Hardware PWM and CCP modules simplify closed-loop PID loops for motor or valve control without software overhead.
Direkomendasikan
HVAC and Building Automation
The PIC16F877A-E/L handles multi-zone HVAC control by reading temperature sensors via its 10-bit ADC and driving triac/SSR outputs through its CCP/PWM modules. The MSSP interface supports I2C temperature/humidity sensor arrays, while EUSART links to building management networks. The Extended temperature grade (-40 C to +125 C) supports unconditioned rooftop and basement installations.
Direkomendasikan
Educational and Development Platforms
The PIC16F877A-E/L is the canonical reference microcontroller for embedded systems curricula, with decades of academic tutorials, datasheets, and example code. Its 44-pin PLCC is easy to socket on development boards, while the in-circuit debugger (ICD) interface enables live debugging in MPLAB X. The 14 KB Flash accommodates multiple student projects without reprogramming hardware.
Direkomendasikan
Sensor Signal Conditioning Nodes
The PIC16F877A-E/L integrates sensor signal paths by multiplexing multiple analog sensors through the 10-bit ADC, processing thresholds, and driving outputs via SPI or UART. Its 5 MIPS performance is adequate for digital filtering (moving average, basic Kalman) on slow-changing sensor signals. The wide 2.0 V to 5.5 V supply supports battery and 5 V bus operation.
Direkomendasikan
Automotive Body Electronics
The PIC16F877A-E/L is used in non-safety automotive body modules such as interior lighting controllers, seat adjusters, and HVAC panels. Its Extended temperature grade (-40 C to +125 C) handles under-dash environments, while the 33 I/O support multiple switch/LED loads. For safety-critical modules, migrate to AEC-Q100-qualified PIC16F parts; the PIC16F877A itself is not AEC-Q100 qualified.
Direkomendasikan
Low-Cost Instrumentation
The PIC16F877A-E/L drives low-cost bench instruments such as panel meters, function generators, and signal analyzers using its PWM modules to synthesize waveforms and its 10-bit ADC to digitize measurements. Its UART enables USB-to-serial interface bridges for PC connectivity. The 14 KB Flash stores lookup tables and calibration data, simplifying firmware updates.
Direkomendasikan
Ringkasan Produk Direkomendasikan
Data referensi engineering untuk PIC16F877A-E/L — pembandingan, panduan desain, dan informasi konformitas.
Panduan Pemilihan
Pembandingan dengan Alternatif
| Parameter Umum | Produk Ini | PIC16F877-20/L | PIC16F871-E/L | PIC18F458-E/L | PIC16F877A-I/L |
|---|---|---|---|---|---|
| Brand | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology |
| Package | 44-pin PLCC (J-lead) | 44-pin PLCC - same | 44-pin PLCC - same | 44-pin PLCC - same | 44-pin PLCC - same |
| Core | PIC16 (8-bit, 14-bit instruction) | PIC16 - same | PIC16 - same | PIC18 (16-bit instruction) | PIC16 - same |
| Program Memory (Flash) | 14 KB Flash | ROM (one-time programmable) | 13 KB Flash | 32 KB Flash | 14 KB Flash |
| Data Memory (SRAM) | 368 bytes | 368 bytes | 368 bytes | 1536 bytes | 368 bytes |
| Maximum Clock Frequency | 20 MHz | 20 MHz | 20 MHz | 40 MHz | 20 MHz |
| Operating Temperature | -40 C to +125 C (Extended) | 0 C to +70 C (Commercial) | -40 C to +125 C (Extended) | -40 C to +125 C (Extended) | -40 C to +85 C (Industrial) |
| ADC Channels | 8 x 10-bit | 8 x 10-bit | 5 x 10-bit | 8 x 10-bit | 8 x 10-bit |
Diferensiator Kunci
- Extended temperature grade for industrial/automotive environments (vsPIC16F877A-I/L)
- Decades of design heritage and reference material (vsPIC16F887-I/L)
- More ADC channels than PIC16F871 (vsPIC16F871-E/L)
Catatan Desain
Place 100 nF ceramic decoupling capacitors as close as possible to each VDD/AVDD pin (pins 11 and 32), plus a 10 uF bulk capacitor near the MCU. VSS pins (12 and 31) must both be returned to a common low-impedance ground plane. Estimated: the PIC16F877A typically draws 5-15 mA active at 20 MHz and 5 V; the brown-out reset (BOR) is configurable via the configuration word to assert below 4.0 V.
The PLCC-44 package uses J-leads and accepts through-hole sockets that simplify programming and rework. Use a PLCC-44 socket (e.g., 3M Textool) on development boards. Estimated: keep the MCLR pull-up (typically 10 kohm) within 5 mm of pin 1 to avoid spurious resets; route the PGC/PGD ICD signals (RB6/RB7) away from switching traces to preserve debug signal integrity.
Do not leave MCLR floating - always tie it to VDD through a 10 kohm pull-up or directly if hardware reset is not needed. Watchdog timer must be disabled in configuration or cleared in software to avoid unintended resets. The internal oscillator (INTOSC) saves an external crystal but limits timing accuracy to roughly 2%, which is insufficient for UART communication without calibration.
Informasi Konformitas
RoHS compliance verified from Microchip product page. PIC16F877A-E/L is not AEC-Q100 qualified; for AEC-Q100 automotive, use PIC16F877A-E/L equivalent devices in the Microchip automotive portfolio.