The PIC16F877-20/P is a 8-bit 20MHz CMOS Flash-based Microcontroller. The PIC16F876 features 256 bytes of EEPROM data memory, self programming, an ICD, 5 channels of 10-bit Analogue-to-digital (A/D) converter, 2 additional timers, 2 capture/compare/PWM functions, the synchronous serial port can be configured as either 3-wire Serial Peripheral Interface (SPI?) or the 2-wire Inter-Integrated Circuit (I2C?) bus and a Universal Asynchronous Receiver Transmitter (USART). The STATUS register contains the arithmetic status of the ALU, the RESET status and the bank select bits for data memory.
High performance RISC CPU
Only 35 single word instructions to learn
All single-cycle instructions except for program branches which are two cycles
Interrupt capability (up to 14 sources)
Eight level deep hardware stack
Direct, indirect and relative addressing modes
Power-on reset (POR)
Power-up timer (PWRT) and oscillator start-up timer (OST)
Watchdog timer (WDT) with its own on-chip RC oscillator for reliable operation
Programmable code protection
Power saving sleep mode
Low power, high speed CMOS flash/EEPROM technology