
2001 Microchip Technology Inc.
DS30292C-page 9
PIC16F87X
PORTC is a bi-directional I/O port.
RC0 can also be the Timer1 oscillator output or a
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 both SPI and I
2
C modes.
RC4 can also be the SPI Data In (SPI mode) or
data I/O (I
2
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.
PORTD is a bi-directional I/O port or parallel slave port
when interfacing to a microprocessor bus.
RC0/T1OSO/T1CKI
15
16
32
I/O
ST
RC1/T1OSI/CCP2
16
18
35
I/O
ST
RC2/CCP1
17
19
36
I/O
ST
RC3/SCK/SCL
18
20
37
I/O
ST
RC4/SDI/SDA
23
25
42
I/O
ST
RC5/SDO
RC6/TX/CK
24
25
26
27
43
44
I/O
I/O
ST
ST
RC7/RX/DT
26
29
1
I/O
ST
RD0/PSP0
RD1/PSP1
RD2/PSP2
RD3/PSP3
RD4/PSP4
RD5/PSP5
RD6/PSP6
RD7/PSP7
19
20
21
22
27
28
29
30
21
22
23
24
30
31
32
33
38
39
40
41
2
3
4
5
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
ST/TTL
(3)
ST/TTL
(3)
ST/TTL
(3)
ST/TTL
(3)
ST/TTL
(3)
ST/TTL
(3)
ST/TTL
(3)
ST/TTL
(3)
PORTE is a bi-directional I/O port.
RE0 can also be read control for the parallel slave
port, or analog input5.
RE1 can also be write control for the parallel slave
port, or analog input6.
RE2 can also be select control for the parallel slave
port, or analog input7.
Ground reference for logic and I/O pins.
Positive supply for logic and I/O pins.
These pins are not internally connected. These pins
should be left unconnected.
P = power
ST = Schmitt Trigger input
RE0/RD/AN5
8
9
25
I/O
ST/TTL
(3)
RE1/WR/AN6
9
10
26
I/O
ST/TTL
(3)
RE2/CS/AN7
10
11
27
I/O
ST/TTL
(3)
V
SS
V
DD
NC
12,31
11,32
—
13,34
12,35
1,17,28,
40
6,29
7,28
12,13,
33,34
P
P
—
—
—
TABLE 1-2:
PIC16F874 AND PIC16F877 PINOUT DESCRIPTION (CONTINUED)
Pin Name
DIP
Pin#
PLCC
Pin#
QFP
Pin#
I/O/P
Type
Buffer
Type
Description
Legend:
I = input
O = output
—
= Not used
I/O = input/output
TTL = TTL input
Note 1:
This buffer is a Schmitt Trigger input when configured as an 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 as general purpose I/O and a TTL input when used in the Parallel
Slave Port mode (for interfacing to a microprocessor bus).
4:
This buffer is a Schmitt Trigger input when configured in RC oscillator mode and a CMOS input otherwise.