
PIC16F87XA
DS39582A-page 44
Advance Information
2001 Microchip Technology Inc.
4.3
PORTC and the TRISC Register
PORTC is an 8-bit wide, bi-directional port. The corre-
sponding data direction register is TRISC.
Setting a
TRISC bit (= 1) will make the corresponding PORTC
pin an input (i.e., put the corresponding output driver in
a Hi-Impedance mode). Clearing a TRISC bit (= 0) will
make the corresponding PORTC pin an output (i.e., put
the contents of the output latch on the selected pin).
PORTC is multiplexed with several peripheral functions
(Table 4-5). PORTC pins have Schmitt Trigger input
buffers.
When the I
2
C module is enabled, the PORTC<4:3>
pins can be configured with normal I
2
C levels, or with
SMBus levels, by using the CKE bit (SSPSTAT<6>).
When enabling peripheral functions, care should be
taken in defining TRIS bits for each PORTC pin. Some
peripherals override the TRIS bit to make a pin an out-
put, while other peripherals override the TRIS bit to
make a pin an input. Since the TRIS bit override is in
effect while the peripheral is enabled, read-modify-
write instructions (
BSF, BCF, XORWF
) with TRISC as
the destination, should be avoided. The user should
refer to the corresponding peripheral section for the
correct TRIS bit settings.
FIGURE 4-6:
PORTC BLOCK DIAGRAM
(PERIPHERAL OUTPUT
OVERRIDE) RC<2:0>,
RC<7:5>
FIGURE 4-7:
PORTC BLOCK DIAGRAM
(PERIPHERAL OUTPUT
OVERRIDE) RC<4:3>
Port/Peripheral Select
(2)
Data Bus
WR
Port
WR
TRIS
RD
Port
Data Latch
TRIS Latch
RD
TRIS
Schmitt
Trigger
Q
D
Q
CK
Q
D
EN
Peripheral Data Out
0
1
Q
D
Q
CK
P
N
V
DD
V
SS
Peripheral
OE
(3)
Peripheral Input
I/O
pin
(1)
Note 1:
I/O pins have diode protection to V
DD
and V
SS
.
2:
Port/Peripheral Select signal selects between port
data and peripheral output.
3:
Peripheral OE (output enable) is only activated if
Peripheral Select is active.
Port/Peripheral Select
(2)
Data Bus
WR
Port
WR
TRIS
RD
Port
SSPl Input
Data Latch
TRIS Latch
RD
TRIS
Schmitt
Trigger
Q
D
Q
CK
Q
D
EN
Peripheral Data Out
0
1
Q
D
Q
CK
P
N
V
DD
Vss
Peripheral
OE
(3)
I/O
pin
(1)
Note 1:
I/O pins have diode protection to V
DD
and V
SS
.
2:
Port/Peripheral Select signal selects between port data
and peripheral output.
3:
Peripheral OE (output enable) is only activated if
Peripheral Select is active.
0
1
CKE
SSPSTAT<6>
Schmitt
Trigger
with
SMBus
Levels