Description
PIC16F877A Microcontroller
The PIC16F877A is an 8-bit CMOS microcontroller with Flash program memory for embedded applications.
Specifications
- Device: PIC16F877A
- Clock frequency: up to 20MHz
- Program memory: 14KB
- RAM: 368 bytes
- EEPROM: 256 bytes
- I/O: 33 pins
- Timers: two 8-bit timers and one 16-bit timer
- Interfaces: UART, SPI and I2C
- ADC: 10-bit, 8 channels
- Operating voltage: 2–5.5V
Operation and applications
The PIC16F877A executes instructions from Flash, processes data in RAM and communicates with peripherals through its I/O pins. The source lists in-circuit serial programming (ICSP) and sleep modes.
Applications listed include educational electronics, embedded systems, prototyping, industrial automation, robotics and user interfaces.
Use
- Program with a compatible PIC programmer (the source gives PICkit 3 as an example) and MPLAB IDE.
- Connect a supply within the device’s specified voltage range to VDD and VSS. The source’s 5V example is not the only supported voltage.
- Connect sensors, actuators and peripherals to suitable I/O pins.
- Develop and program code using MPLAB and libraries appropriate to the peripherals.
40-pin DIP pin references listed
- VDD: pins 11 and 32
- VSS: pins 12 and 31
- OSC1/CLKI: pin 13
- OSC2/CLKO: pin 14
- MCLR/VPP: pin 1
- ADC inputs: AN0–AN7
- UART TX/RX: pins 25 and 26 (RC6 and RC7)
Pin numbers above apply to the 40-pin DIP package listed. Check package-specific pinout and electrical limits in the seller-linked datasheet (PDF) or Microchip datasheet before wiring.









