
1999 Microchip Technology Inc.
DS30292B-page 7
PIC16F87X
TABLE 1-1:
PIC16F873 AND PIC16F876 PINOUT DESCRIPTION
Pin Name
DIP
Pin#
SOIC
Pin#
I/O/P
Type
Buffer
Type
Description
OSC1/CLKIN
9
9
I
ST/CMOS
(3)
Oscillator crystal input/external clock source input.
OSC2/CLKOUT
10
10
O
—
Oscillator crystal output. Connects to crystal or resonator in crystal
oscillator mode. In RC mode, the OSC2 pin outputs CLKOUT
which has 1/4 the frequency of OSC1, and denotes the instruction
cycle rate.
MCLR/V
PP
/THV
1
1
I/P
ST
Master 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 input0
RA1/AN1
3
3
I/O
TTL
RA1 can also be analog input1
RA2/AN2/V
REF
-
4
4
I/O
TTL
RA2 can also be analog input2 or negative analog reference
voltage
RA3/AN3/V
REF
+
5
5
I/O
TTL
RA3 can also be analog input3 or positive analog reference
voltage
RA4/T0CKI
6
6
I/O
ST
RA4 can also be the clock input to the Timer0 module. Output
is open drain type.
RA5/SS/AN4
7
7
I/O
TTL
RA5 can also be analog input4 or the slave select for the
synchronous serial port.
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
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/CCP2
12
12
I/O
ST
RC1 can also be the Timer1 oscillator input or Capture2 input/
Compare2 output/PWM2 output.
RC2/CCP1
13
13
I/O
ST
RC2 can also be the Capture1 input/Compare1 output/PWM1
output.
RC3/SCK/SCL
14
14
I/O
ST
RC3 can also be the synchronous serial clock input/output for
both SPI and I
2
C modes.
RC4/SDI/SDA
15
15
I/O
ST
RC4 can also be the SPI Data In (SPI mode) or
data I/O (I
2
C mode).
RC5/SDO
16
16
I/O
ST
RC5 can also be the SPI Data Out (SPI mode).
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
— = Not used
I/O = input/output
TTL = TTL input
P = power
ST = Schmitt Trigger input
Note 1:
This buffer is a Schmitt Trigger input when configured as the external interrupt.
This buffer is a Schmitt Trigger input when used in serial programming mode.
This buffer is a Schmitt Trigger input when configured in RC oscillator mode and a CMOS input otherwise.
2:
3: