TABLE 1-1:
PIC16F873 AND PIC16F876 PINOUT DESCRIPTION
DIP
Pin Name
Pin#
OSC1/CLKIN
9
OSC2/CLKOUT
10
MCLR/V
/THV
1
PP
RA0/AN0
2
RA1/AN1
3
RA2/AN2/V
-
4
REF
RA3/AN3/V
+
5
REF
RA4/T0CKI
6
RA5/SS/AN4
7
RB0/INT
21
RB1
22
RB2
23
RB3/PGM
24
RB4
25
RB5
26
RB6/PGC
27
RB7/PGD
28
RC0/T1OSO/T1CKI
11
RC1/T1OSI/CCP2
12
RC2/CCP1
13
RC3/SCK/SCL
14
RC4/SDI/SDA
15
RC5/SDO
16
RC6/TX/CK
17
RC7/RX/DT
18
V
8, 19
SS
V
20
DD
Legend:
I = input
O = output
— = Not used
Note 1: This buffer is a Schmitt Trigger input when configured as the external interrupt.
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.
© 1999 Microchip Technology Inc.
SOIC
I/O/P
Buffer
Pin#
Type
Type
9
I
ST/CMOS
10
O
—
1
I/P
ST
2
I/O
TTL
3
I/O
TTL
4
I/O
TTL
5
I/O
TTL
6
I/O
ST
7
I/O
TTL
21
I/O
TTL/ST
22
I/O
TTL
23
I/O
TTL
24
I/O
TTL
25
I/O
TTL
26
I/O
TTL
27
I/O
TTL/ST
28
I/O
TTL/ST
11
I/O
ST
12
I/O
ST
13
I/O
ST
14
I/O
ST
15
I/O
ST
16
I/O
ST
17
I/O
ST
18
I/O
ST
8, 19
P
—
20
P
—
I/O = input/output
TTL = TTL input
Description
(3)
Oscillator crystal input/external clock source input.
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.
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 can also be analog input0
RA1 can also be analog input1
RA2 can also be analog input2 or negative analog reference
voltage
RA3 can also be analog input3 or positive analog reference
voltage
RA4 can also be the clock input to the Timer0 module. Output
is open drain type.
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.
(1)
RB0 can also be the external interrupt pin.
RB3 can also be the low voltage programming input
Interrupt on change pin.
Interrupt on change pin.
(2)
Interrupt on change pin or In-Circuit Debugger pin. Serial
programming clock.
Interrupt on change pin or In-Circuit Debugger pin. Serial
(2)
programming data.
PORTC is a bi-directional I/O port.
RC0 can also be the Timer1 oscillator output or Timer1 clock
input.
RC1 can also be the Timer1 oscillator input or Capture2 input/
Compare2 output/PWM2 output.
RC2 can also be the Capture1 input/Compare1 output/PWM1
output.
RC3 can also be the synchronous serial clock input/output for
2
both SPI and I
C modes.
RC4 can also be the SPI Data In (SPI mode) or
2
data I/O (I
C mode).
RC5 can also be the SPI Data Out (SPI mode).
RC6 can also be the USART Asynchronous Transmit or
Synchronous Clock.
RC7 can also be the USART Asynchronous Receive or
Synchronous Data.
Ground reference for logic and I/O pins.
Positive supply for logic and I/O pins.
P = power
ST = Schmitt Trigger input
PIC16F87X
DS30292B-page 7
Need help?
Do you have a question about the PIC16F87X and is the answer not in the manual?