PIC16F870/871
28/40-Pin 8-Bit CMOS FLASH Microcontrollers
Devices Included in this Data Sheet:
• PIC16F870
• PIC16F871
Pin Diagram
PDIP
MCLR/V
PP
/THV
RA0/AN0
RA1/AN1
RA2/AN2/V
REF
-
RA3/AN3/V
REF
+
RA4/T0CKI
RA5/AN4
RE0/RD/AN5
RE1/WR/AN6
RE2/CS/AN7
V
DD
V
SS
OSC1/CLKIN
OSC2/CLKOUT
RC0/T1OSO/T1CKI
RC1/T1OSI
RC2/CCP1
RC3
RD0/PSP0
RD1/PSP1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
RB7/PGD
RB6/PGC
RB5
RB4
RB3/PGM
RB2
RB1
RB0/INT
V
DD
V
SS
RD7/PSP7
RD6/PSP6
RD5/PSP5
RD4/PSP4
RC7/RX/DT
RC6/TX/CK
RC5
RC4
RD3/PSP3
RD2/PSP2
Microcontroller Core Features:
• High-performance RISC CPU
• Only 35 single word instructions to learn
• All single cycle instructions except for program
branches which are two cycle
• Operating speed: DC - 20 MHz clock input
DC - 200 ns instruction cycle
• 2K x 14 words of FLASH Program Memory
128 x 8 bytes of Data Memory (RAM)
64 x 8 bytes of EEPROM Data Memory
• Pinout compatible to the PIC16CXXX 28 and 40-
pin devices
• Interrupt capability (up to 11 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
• Selectable oscillator options
• Low-power, high-speed CMOS FLASH/EEPROM
technology
• Fully static design
• In-Circuit Serial Programming™ (ICSP) via two
pins
• Single 5V In-Circuit Serial Programming capability
• In-Circuit Debugging via two pins
• Processor read/write access to program memory
• Wide operating voltage range: 2.0V to 5.5V
• High Sink/Source Current: 25 mA
• Commercial and Industrial temperature ranges
• Low-power consumption:
- < 1.6 mA typical @ 5V, 4 MHz
- 20
µA
typical @ 3V, 32 kHz
- < 1
µA
typical standby current
Peripheral Features:
• Timer0: 8-bit timer/counter with 8-bit prescaler
• Timer1: 16-bit timer/counter with prescaler,
can be incremented during sleep via external
crystal/clock
• Timer2: 8-bit timer/counter with 8-bit period
register, prescaler and postscaler
• One Capture, Compare, PWM module
- Capture is 16-bit, max. resolution is 12.5 ns
- Compare is 16-bit, max. resolution is 200 ns
- PWM max. resolution is 10-bit
• 10-bit multi-channel Analog-to-Digital converter
• Universal Synchronous Asynchronous Receiver
Transmitter (USART/SCI) with 9-bit address
detection
• Parallel Slave Port (PSP) 8-bits wide, with
external RD, WR and CS controls (40/44-pin only)
• Brown-out detection circuitry for
Brown-out Reset (BOR)
©
1999 Microchip Technology Inc.
Preliminary
PIC16F871
DS30569A-page 1
PIC16F870/871
Pin Diagrams
DIP, SOIC, SSOP
MCLR/V
PP
/THV
RA0/AN0
RA1/AN1
RA2/AN2/V
REF
-
RA3/AN3/V
REF
+
RA4/T0CKI
RA5/AN4
V
SS
OSC1/CLKIN
OSC2/CLKOUT
RC0/T1OSO/T1CKI
RC1/T1OSI
RC2/CCP1
RC3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
28
27
26
25
24
23
22
21
20
19
18
17
16
15
RB7/PGD
RB6/PGC
RB5
RB4
RB3/PGM
RB2
RB1
RB0/INT
V
DD
V
SS
RC7/RX/DT
RC6/TX/CK
RC5
RC4
RA3/AN3/V
REF
+
RA2/AN2/V
REF
-
RA1/AN1
RA0/AN0
MCLR/V
PP
/THV
NC
RB7/PGD
RB6/PGC
RB5
RB4
NC
6
5
4
3
2
1
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
9
PIC16F870
PLCC
TQFP
44
43
42
41
40
39
38
37
36
35
34
RC6/TX/CK
RC5
RC4
RD3/PSP3
RD2/PSP2
RD1/PSP1
RD0/PSP0
RC3
RC2/CCP1
RC1/T1OSI
NC
NC
NC
RB4
RB5
RB6/PGC
RB7/PGD
MCLR/V
PP
/THV
RA0/AN0
RA1/AN1
RA2/AN2/V
REF
-
RA3/AN3/V
REF
+
12
13
14
15
16
17
18
19
20
21
22
RC7/RX/DT
RD4/PSP4
RD5/PSP5
RD6/PSP6
RD7/PSP7
V
SS
V
DD
RB0/INT
RB1
RB2
RB3/PGM
1
2
3
4
5
6
7
8
9
10
11
PIC16F871
33
32
31
30
29
28
27
26
25
24
23
NC
RC0/T1OSO/T1CKI
OSC2/CLKOUT
OSC1/CLKIN
V
SS
V
DD
RE2/AN7/CS
RE1/AN6/WR
RE0/AN5/RD
RA5/AN4
RA4/T0CKI
DS30569A-page 2
Preliminary
RC1/T1OSI
RC2/CCP1
RC3
RD0/PSP0
RD1/PSP1
RD2/PSP2
RD3/PSP3
RC4
RC5
RC6/TX/CK
NC
18
19
20
21
22
23
24
25
26
27
282
RA4/T0CKI
RA5/AN4
RE0/RD/AN5
RE1/WR/AN6
RE2/CS/AN7
V
DD
V
SS
OSC1/CLKIN
OSC2/CLKOUT
RC0/T1OSO/T1CK1
NC
7
8
9
10
11
12
13
14
15
16
17
PIC16F871
RB3/PGM
RB2
RB1
RB0/INT
V
DD
V
SS
RD7/PSP7
RD6/PSP6
RD5/PSP5
RD4/PSP4
RC7/RX/DT
©
1999 Microchip Technology Inc.
PIC16F870/871
Key Features
PICmicro™ Mid-Range Reference Manual (DS33023)
Operating Frequency
Resets (and Delays)
FLASH Program Memory
(14-bit words)
Data Memory (bytes)
EEPROM Data Memory
Interrupts
I/O Ports
Timers
Capture/Compare/PWM modules
Serial Communications
Parallel Communications
10-bit Analog-to-Digital Module
Instruction Set
PIC16F870
DC - 20 MHz
POR, BOR
(PWRT, OST)
2K
128
64
10
Ports A,B,C
3
1
USART
—
5 input channels
35 Instructions
PIC16F871
DC - 20 MHz
POR, BOR
(PWRT, OST)
2K
128
64
11
Ports A,B,C,D,E
3
1
USART
PSP
8 input channels
35 Instructions
©
1999 Microchip Technology Inc.
Preliminary
DS30569A-page 3
PIC16F870/871
Table of Contents
1.0 Device Overview ................................................................................................................................................... 5
2.0 Memory Organization.......................................................................................................................................... 11
3.0 I/O Ports .............................................................................................................................................................. 27
4.0 Data EEPROM and FLASH Program Memory.................................................................................................... 39
5.0 Timer0 Module .................................................................................................................................................... 47
6.0 Timer1 Module .................................................................................................................................................... 51
7.0 Timer2 Module .................................................................................................................................................... 55
8.0 Capture/Compare/PWM Module ......................................................................................................................... 57
9.0 Addressable Universal Synchronous Asynchronous Receiver Transmitter (USART) ........................................ 63
10.0 Analog-to-Digital Converter (A/D) Module........................................................................................................... 79
11.0 Special Features of the CPU............................................................................................................................... 89
12.0 Instruction Set Summary ................................................................................................................................... 105
13.0 Development Support ....................................................................................................................................... 113
14.0 Electrical Characteristics ................................................................................................................................... 119
15.0 DC and AC Characteristics Graphs and Tables................................................................................................ 135
16.0 Packaging Information ...................................................................................................................................... 137
Index .......................................................................................................................................................................... 145
On-Line Support .......................................................................................................................................................... 151
Reader Response ....................................................................................................................................................... 152
Product Identification System...................................................................................................................................... 153
To Our Valued Customers
Most Current Data Sheet
To obtain the most up-to-date version of this data sheet, please register at our Worldwide Web site at:
http://www.microchip.com
You can determine the version of a data sheet by examining its literature number found on the bottom outside corner of any page.
The last character of the literature number is the version number. e.g., DS30000A is version A of document DS30000.
New Customer Notification System
Register on our web site (www.microchip.com/cn) to receive the most current information on our products.
Errata
An errata sheet may exist for current devices, describing minor operational differences (from the data sheet) and recommended
workarounds. As device/documentation issues become known to us, we will publish an errata sheet. The errata will specify the revi-
sion of silicon and revision of document to which it applies.
To determine if an errata sheet exists for a particular device, please check with one of the following:
• Microchip’s Worldwide Web site; http://www.microchip.com
• Your local Microchip sales office (see last page)
• The Microchip Corporate Literature Center; U.S. FAX: (480) 786-7277
When contacting a sales office or the literature center, please specify which device, revision of silicon and data sheet (include liter-
ature number) you are using.
Corrections to this Data Sheet
We constantly strive to improve the quality of all our products and documentation. We have spent a great deal of time to ensure
that this document is correct. However, we realize that we may have missed a few things. If you find any information that is missing
or appears in error, please:
• Fill out and mail in the reader response form in the back of this data sheet.
• E-mail us at webmaster@microchip.com.
We appreciate your assistance in making this a better document.
DS30569A-page 4
Preliminary
©
1999 Microchip Technology Inc.
PIC16F870/871
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.
There are two devices (PIC16F870 and PIC16F871)
covered by this data sheet. The PIC16F870 device
comes in a 28-pin package and the PIC16F871 device
comes in a 40-pin package. The 28-pin device does not
have a Parallel 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.
FIGURE 1-1:
Device
PIC16F870
PIC16F870 BLOCK DIAGRAM
Program
FLASH
2K
Data Memory
128 Bytes
Data
EEPROM
64 Bytes
13
Program Counter
FLASH
Program
Memory
8 Level Stack
(13-bit)
Program
Bus
14
Instruction reg
Direct Addr
7
Data Bus
8
PORTA
RA0/AN0
RA1/AN1
RA2/AN2/V
REF
-
RA3/AN3/V
REF
+
RA4/T0CKI
RA5/AN4
PORTB
RB0/INT
RB1
RB2
RB3/PGM
RB4
RB5
RB6/PGC
RB7/PGD
RC0/T1OSO/T1CKI
RC1/T1OSI
RC2/CCP1
RC3
RC4
RC5
RC6/TX/CK
RC7/RX/DT
RAM
File
Registers
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
W reg
MCLR
V
DD
, V
SS
Timer0
Timer1
Timer2
10-bit A/D
Data EEPROM
CCP1
USART
Note 1:
Higher order bits are from the STATUS register.
©
1999 Microchip Technology Inc.
Preliminary
DS30569A-page 5