Product Overview
The PIC16F873A-I is a 28-pin, 8-bit Flash-based CMOS microcontroller from Microchip Technology, featuring the enhanced Mid-Range PIC architecture with self-programming capability and built-in ICD debug support. This ‘A’ revision of the popular PIC16F873 offers 7KB (4K x 14 words) of Flash program memory, 192 bytes of RAM, and 128 bytes of data EEPROM. Operating at up to 20 MHz with a 200 ns instruction cycle, it integrates a 5-channel 10-bit ADC, two analog comparators, two Capture/Compare/PWM (CCP) modules, a Synchronous Serial Port (SSP) for SPI/I2C, and a Universal Synchronous Asynchronous Receiver Transmitter (USART). With its enhanced Flash (100K erase/write cycles), EEPROM data memory, In-Circuit Debug (ICD), and self-programming capability, the PIC16F873A is a versatile 28-pin MCU ideal for industrial control, automotive, consumer appliances, and sensor applications requiring on-chip debugging and non-volatile data storage.
Key Specifications
| Core Architecture | 8-bit PIC (Mid-Range Core, ‘A’ revision) |
| Program Memory | 7KB Flash (4K x 14 words), 100K E/W cycles |
| RAM | 192 bytes |
| Data EEPROM | 128 bytes, 1M E/W cycles |
| Maximum Speed | 20 MHz (5 MIPS) |
| Operating Voltage | 2.0V to 5.5V |
| I/O Pins | 22 |
| ADC | 10-bit, 5 channels |
| Comparators | 2 |
| Timers | 2 x 8-bit (TMR0/TMR2) + 1 x 16-bit (TMR1) |
| PWM | 2 x CCP (Capture/Compare/PWM), 10-bit |
| Communication | SPI, I2C (SSP), USART |
| Debug | In-Circuit Debug (ICD) built-in |
| Self-Programming | Yes (self-write Flash capability) |
| Stack Levels | 8 |
| Interrupt Sources | Up to 14 |
| Operating Temperature | -40°C to +85°C (Industrial) |
| Package | 28-pin PDIP / SOIC / SSOP / QFN |
Features
- High-performance RISC CPU with only 35 single-word instructions
- Enhanced Flash: 100,000 erase/write cycles typical
- Data EEPROM: 128 bytes with 1M erase/write cycles
- Self-reprogrammable under software control
- Built-in In-Circuit Debug (ICD) support via two pins
- 5-channel 10-bit Analog-to-Digital Converter (ADC)
- Two analog comparators with programmable on-chip voltage reference
- Two Capture/Compare/PWM (CCP) modules: 16-bit capture, 10-bit PWM
- Synchronous Serial Port (SSP) with SPI and I2C (Master/Slave)
- Universal Synchronous Asynchronous Receiver Transmitter (USART/SCI)
- Timer0: 8-bit timer/counter with 8-bit programmable prescaler
- Timer1: 16-bit timer/counter with prescaler, can increment during Sleep
- Timer2: 8-bit timer/counter with period register, prescaler, and postscaler
- Power-on Reset (POR), Power-up Timer (PWRT), Oscillator Start-up Timer (OST)
- Programmable Brown-out Reset (BOR)
- Watchdog Timer (WDT) with on-chip RC oscillator
- Programmable code protection for program and data memory
- In-Circuit Serial Programming (ICSP) via two pins
- Power-saving Sleep mode
- High sink/source current: 25 mA per I/O pin
- Pinout compatible with PIC16F873 (non-A version)
Applications
- Industrial control and sensor interfaces
- Automotive sensor modules and body electronics
- Consumer electronics and smart appliances
- Motor control and power management
- Battery-powered data loggers
- Medical devices and instrumentation
- Home automation and smart home devices