PIC16F87X
FIGURE 1-2:
Device
PIC16F874
PIC16F877
PIC16F874 AND PIC16F877 BLOCK DIAGRAM
Program
FLASH
4K
8K
Data Memory
192 Bytes
368 Bytes
13
FLASH
Program
Memory
8 Level Stack
(13-bit)
Program Counter
Data
EEPROM
128 Bytes
256 Bytes
Data Bus
8
PORTA
RA0/AN0
RA1/AN1
RA2/AN2/V
REF
-
RA3/AN3/V
REF
+
RA4/T0CKI
RA5/AN4/SS
PORTB
RB0/INT
RB1
RB2
RB3/PGM
RB4
RB5
RB6/PGC
RB7/PGD
RC0/T1OSO/T1CKI
RC1/T1OSI/CCP2
RC2/CCP1
RC3/SCK/SCL
RC4/SDI/SDA
RC5/SDO
RC6/TX/CK
RC7/RX/DT
PORTD
W reg
RD7/PSP7:RD0/PSP0
RAM
File
Registers
Program
Bus
14
Instruction reg
Direct Addr
7
RAM Addr (1)
9
Addr MUX
8
Indirect
Addr
FSR reg
STATUS reg
8
3
PORTC
Power-up
Timer
Instruction
Decode &
Control
Timing
Generation
OSC1/CLKIN
OSC2/CLKOUT
Oscillator
Start-up Timer
Power-on
Reset
Watchdog
Timer
Brown-out
Reset
In-Circuit
Debugger
Low-Voltage
Programming
8
MUX
ALU
Parallel Slave Port
PORTE
RE0/AN5/RD
RE1/AN6/WR
MCLR
V
DD
, V
SS
RE2/AN7/CS
Timer0
Timer1
Timer2
10-bit A/D
Data EEPROM
CCP1,2
Synchronous
Serial Port
USART
Note 1:
Higher order bits are from the STATUS register.
DS30292B-page 6
©
1999 Microchip Technology Inc.