Datasheet
PIC16F870/871
DS30569C-page 6 2000-2013 Microchip Technology Inc.
FIGURE 1-2: PIC16F871 BLOCK DIAGRAM
FLASH
Program
Memory
13
Data Bus
8
14
Program
Bus
Instruction reg
Program Counter
8 Level Stack
(13-bit)
RAM
File
Registers
Direct Addr
7
RAM Addr (1)
9
Addr MUX
Indirect
Addr
FSR reg
STATUS reg
MUX
ALU
W reg
Power-up
Timer
Oscillator
Start-up Timer
Power-on
Reset
Watchdog
Timer
Instruction
Decode &
Control
Timing
Generation
OSC1/CLKI
OSC2/CLKO
MCLR
VDD, VSS
PORTA
PORTB
PORTC
PORTD
PORTE
RA4/T0CKI
RA5/AN4
RC0/T1OSO/T1CKI
RC1/T1OSI
RC2/CCP1
RC3
RC4
RC5
RC6/TX/CK
RC7/RX/DT
RD7/PSP7:RD0/PSP0
RE0/RD
/AN5
RE1/WR
/AN6
RE2/CS
/AN7
8
8
Brown-out
Reset
Note 1: Higher order bits are from the STATUS register.
USART
CCP1
10-bit A/DTimer0 Timer1 Timer2
RA3/AN3/VREF+
RA2/AN2/VREF-
RA1/AN1
RA0/AN0
8
3
Data EEPROM
RB0/INT
RB1
RB2
RB3/PGM
RB4
RB5
RB6/PGC
RB7/PGD
Device Program FLASH Data Memory Data EEPROM
PIC16F871 2K 128 Bytes 64 Bytes
In-Circuit
Debugger
Low-Voltage
Programming
Parallel Slave Port