1.0
DEVICE OVERVIEW
This document contains device-specific information.
Additional information may be found in the PICmicro™
Mid-Range Reference Manual, (DS33023), which may
be obtained from your local Microchip Sales Represen-
tative or downloaded from the Microchip website. The
Reference Manual should be considered a comple-
mentary document to this data sheet, and is highly rec-
ommended reading for a better understanding of the
device architecture and operation of the peripheral
modules.
FIGURE 1-1:
PIC16F873 AND PIC16F876 BLOCK DIAGRAM
Device
Program
FLASH
PIC16F873
4K
PIC16F876
8K
FLASH
Program
Memory
Program
14
Bus
Instruction reg
Instruction
Decode &
Control
Timing
Generation
OSC1/CLKIN
OSC2/CLKOUT
Timer0
Data EEPROM
Note 1: Higher order bits are from the STATUS register.
© 1999 Microchip Technology Inc.
Data Memory
EEPROM
192 Bytes
128 Bytes
368 Bytes
256 Bytes
13
Program Counter
8 Level Stack
(13-bit)
7
Direct Addr
8
Power-up
Timer
Oscillator
Start-up Timer
Power-on
Reset
Watchdog
Timer
Brown-out
Reset
In-Circuit
Debugger
Low-Voltage
Programming
MCLR
V
, V
DD
SS
Timer1
Timer2
Synchronous
CCP1,2
Serial Port
There are four devices (PIC16F873, PIC16F874,
PIC16F876 and PIC16F877) covered by this data
sheet. The PIC16F876/873 devices come in 28-pin
packages and the PIC16F877/874 devices come in 40-
pin packages. The 28-pin devices do not have a Paral-
lel Slave Port implemented.
The following two figures are device block diagrams
sorted by pin number; 28-pin for Figure 1-1 and 40-pin
for Figure 1-2. The 28-pin and 40-pin pinouts are listed
in Table 1-1 and Table 1-2, respectively.
Data
8
Data Bus
RAM
File
Registers
RAM Addr (1)
9
Addr MUX
Indirect
8
Addr
FSR reg
STATUS reg
3
MUX
ALU
8
W reg
10-bit A/D
USART
PIC16F87X
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
PORTC
RC0/T1OSO/T1CKI
RC1/T1OSI/CCP2
RC2/CCP1
RC3/SCK/SCL
RC4/SDI/SDA
RC5/SDO
RC6/TX/CK
RC7/RX/DT
DS30292B-page 5
-
+
Need help?
Do you have a question about the PIC16F87X and is the answer not in the manual?