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/CLKI
OSC2/CLKO
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)
2000-2013 Microchip Technology Inc.
PIC16F871
DS30569C-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/CLKI
OSC2/CLKO
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
RA4/T0CKI
RA5/AN4
RE0/RD/AN5
RE1/WR/AN6
RE2/CS/AN7
V
DD
V
SS
OSC1/CLKI
OSC2/CLKO
RC0/T1OSO/T1CK1
NC
39
38
37
36
35
34
33
32
31
30
9
PIC16F870
PLCC
RC6/TX/CK
RC5
RC4
RD3/PSP3
RD2/PSP2
RD1/PSP1
RD0/PSP0
RC3
RC2/CCP1
RC1/T1OSI
NC
TQFP
44
43
42
41
40
39
38
37
36
35
34
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/CLKO
OSC1/CLKI
V
SS
V
DD
RE2/CS/AN7
RE1/WR/AN6
RE0/RD/AN5
RA5/AN4
RA4/T0CKI
DS30569C-page 2
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
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
2000-2013 Microchip Technology Inc.
PIC16F870/871
Key Features
Mid-Range MCU Family Reference Manual
(DS33023)
PICmicro
TM
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
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
2000-2013 Microchip Technology Inc.
DS30569C-page 3
PIC16F870/871
Table of Contents
1.0 Device Overview .......................................................................................................................................................................... 5
2.0 Memory Organization ................................................................................................................................................................. 11
3.0 Data EEPROM and Flash Program Memory.............................................................................................................................. 27
4.0 I/O Ports ..................................................................................................................................................................................... 33
5.0 Timer0 Module ........................................................................................................................................................................... 45
6.0 Timer1 Module ........................................................................................................................................................................... 49
7.0 Timer2 Module ........................................................................................................................................................................... 53
8.0 Capture/Compare/PWM Modules .............................................................................................................................................. 55
9.0 Addressable Universal Synchronous Asynchronous Receiver Transmitter (USART)................................................................ 61
10.0 Analog-to-Digital (A/D) Converter Module .................................................................................................................................. 79
11.0 Special Features of the CPU ...................................................................................................................................................... 87
12.0 Instruction Set Summary .......................................................................................................................................................... 103
13.0 Development Support............................................................................................................................................................... 111
14.0 Electrical Characteristics .......................................................................................................................................................... 117
15.0 DC and AC Characteristics Graphs and Tables ....................................................................................................................... 137
16.0 Packaging Information.............................................................................................................................................................. 149
Appendix A: Revision History............................................................................................................................................................. 157
Appendix B: Device Differences......................................................................................................................................................... 157
Appendix C: Conversion Considerations ........................................................................................................................................... 158
Appendix D: Migration from Mid-Range to Enhanced Devices .......................................................................................................... 158
Appendix E: Migration from High-End to Enhanced Devices............................................................................................................. 159
Index .................................................................................................................................................................................................. 161
On-Line Support................................................................................................................................................................................. 167
Systems Information and Upgrade Hot Line ...................................................................................................................................... 167
Reader Response .............................................................................................................................................................................. 168
PIC16F870/871 Product Identification System .................................................................................................................................. 169
TO OUR VALUED CUSTOMERS
It is our intention to provide our valued customers with the best documentation possible to ensure successful use of your Microchip
products. To this end, we will continue to improve our publications to better suit your needs. Our publications will be refined and
enhanced as new volumes and updates are introduced.
If you have any questions or comments regarding this publication, please contact the Marketing Communications Department via
E-mail at
docerrors@mail.microchip.com
or fax the
Reader Response Form
in the back of this data sheet to (480) 792-4150.
We welcome your feedback.
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).
Errata
An errata sheet, describing minor operational differences from the data sheet and recommended workarounds, may exist for current
devices. As device/documentation issues become known to us, we will publish an errata sheet. The errata will specify the revision
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) 792-7277
When contacting a sales office or the literature center, please specify which device, revision of silicon and data sheet (include
literature number) you are using.
Customer Notification System
Register on our web site at
www.microchip.com/cn
to receive the most current information on all of our products.
DS30569C-page 4
2000-2013 Microchip Technology Inc.
PIC16F870/871
1.0
DEVICE OVERVIEW
This document contains device specific information.
Additional information may be found in the PICmicro
TM
Mid-Range
MCU
Family
Reference Manual
(DS33023), which may be obtained from your local
Microchip Sales Representative or downloaded from
the Microchip web site. The Reference Manual should
be considered a complementary document to this data
sheet, and is highly recommended 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
13
Program Counter
FLASH
Program
Memory
8 Level Stack
(13-bit)
Program
Bus
14
Instruction reg
Direct Addr
7
Data Memory
128 Bytes
Data EEPROM
64 Bytes
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/CLKI
OSC2/CLKO
Oscillator
Start-up Timer
Power-on
Reset
Watchdog
Timer
Brown-out
Reset
In-Circuit
Debugger
Low-Voltage
Programming
8
MUX
ALU
W reg
MCLR
Timer0
Timer1
V
DD
, V
SS
Timer2
10-bit A/D
Data EEPROM
CCP1
USART
Note 1:
Higher order bits are from the STATUS register.
2000-2013 Microchip Technology Inc.
DS30569C-page 5