Datasheet
2000-2013 Microchip Technology Inc. DS30569C-page 7
PIC16F870/871
TABLE 1-1: PIC16F870 PINOUT DESCRIPTION
Pin Name
DIP
Pin#
SOIC
Pin#
I/O/P
Type
Buffer
Type
Description
OSC1/CLKI 99 I
ST/CMOS
(3)
Oscillator crystal input/external clock source input.
OSC2/CLKO 10 10 O — Oscillator crystal output. Connects to crystal or resonator in
Crystal Oscillator mode. In RC mode, the OSC2 pin outputs
CLKO, which has 1/4 the frequency of OSC1, and denotes the
instruction cycle rate.
MCLR
/VPP/THV 11 I/P STMaster Clear (Reset) input or programming voltage input or High
Voltage Test mode control. This pin is an active low RESET to the
device.
PORTA is a bi-directional I/O port.
RA0/AN0 2 2 I/O TTL RA0 can also be analog input 0.
RA1/AN1 3 3 I/O TTL RA1 can also be analog input 1.
RA2/AN2/V
REF- 4 4 I/O TTL RA2 can also be analog input 2 or negative analog reference
voltage.
RA3/AN3/VREF+ 5 5 I/O TTL RA3 can also be analog input 3 or positive analog reference
voltage.
RA4/T0CKI 66 I/OST/OD RA4 can also be the clock input to the Timer0 module. Output
is open drain type.
RA5/AN4 7 7 I/O TTL RA5 can also be analog input 4.
PORTB is a bi-directional I/O port. PORTB can be software
programmed for internal weak pull-up on all inputs.
RB0/INT 21 21 I/O
TTL/ST
(1)
RB0 can also be the external interrupt pin.
RB1 22 22 I/O TTL
RB2 23 23 I/O TTL
RB3/PGM 24 24 I/O
TTL/ST
(1)
RB3 can also be the low voltage programming input.
RB4 25 25 I/O TTL Interrupt-on-change pin.
RB5 26 26 I/O TTL Interrupt-on-change pin.
RB6/PGC 27 27 I/O
TTL/ST
(2)
Interrupt-on-change pin or In-Circuit Debugger pin. Serial
programming clock.
RB7/PGD 28 28 I/O
TTL/ST
(2)
Interrupt-on-change pin or In-Circuit Debugger pin. Serial
programming data.
PORTC is a bi-directional I/O port.
RC0/T1OSO/T1CKI 11 11 I/O ST RC0 can also be the Timer1 oscillator output or Timer1 clock
input.
RC1/T1OSI 12 12 I/O ST RC1 can also be the Timer1 oscillator input.
RC2/CCP1 13 13 I/O ST RC2 can also be the Capture1 input/Compare1 output/
PWM1 output.
RC3 14 14 I/O ST
RC4 15 15 I/O ST
RC5 16 16 I/O ST
RC6/TX/CK 17 17 I/O ST RC6 can also be the USART Asynchronous Transmit or
Synchronous Clock.
RC7/RX/DT 18 18 I/O ST RC7 can also be the USART Asynchronous Receive or
Synchronous Data.
V
SS 8, 19 8, 19 P — Ground reference for logic and I/O pins.
V
DD 20 20 P — Positive supply for logic and I/O pins.
Legend: I = input O = output I/O = input/output P = power
OD = Open Drain — = Not used TTL = TTL input ST = Schmitt Trigger input
Note 1: This buffer is a Schmitt Trigger input when configured as the external interrupt or LVP mode.
2: This buffer is a Schmitt Trigger input when used in Serial Programming mode.
3: This buffer is a Schmitt Trigger input when configured in RC Oscillator mode and a CMOS input otherwise.