2007 Microchip Technology Inc.
DS21993C-page 35
PIC16CR7X
4.3
PORTC and the TRISC Register
PORTC is an 8-bit wide, bidirectional 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 High-Impendance 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
buffers.
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
output, 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
destination should be avoided. The user should refer to
the corresponding peripheral section for the correct
on read-modify-write operations.
FIGURE 4-5:
PORTC BLOCK DIAGRAM
(PERIPHERAL OUTPUT
OVERRIDE)
TABLE 4-5:
PORTC FUNCTIONS
TABLE 4-6:
SUMMARY OF REGISTERS ASSOCIATED WITH PORTC
Port/Peripheral Select(2)
Data Bus
WR Port
WR TRIS
RD Port
Data Latch
TRIS Latch
RD TRIS
Schmitt
Trigger
Q
D
Q
CK
QD
EN
Peripheral Data Out
0
1
Q
D
Q
CK
P
N
VDD
VSS
Peripheral
OE(3)
Peripheral Input
Note
1:
I/O pins have diode protection to VDD and VSS.
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.
I/O
pin(1)
Name
Bit#
Buffer Type
Function
RC0/T1OSO/T1CKI
bit 0
ST
Input/output port pin or Timer1 oscillator output/Timer1 clock input.
RC1/T1OSI/CCP2
bit 1
ST
Input/output port pin or Timer1 oscillator input or Capture2 input/
Compare2 output/PWM2 output.
RC2/CCP1
bit 2
ST
Input/output port pin or Capture1 input/Compare1 output/PWM1 output.
RC3/SCK/SCL
bit 3
ST
RC3 can also be the synchronous serial clock for both SPI and I2C
modes.
RC4/SDI/SDA
bit 4
ST
RC4 can also be the SPI Data In (SPI mode) or Data I/O (I2C mode).
RC5/SDO
bit 5
ST
Input/output port pin or Synchronous Serial Port data output.
RC6/TX/CK
bit 6
ST
Input/output port pin or USART Asynchronous Transmit or
Synchronous Clock.
RC7/RX/DT
bit 7
ST
Input/output port pin or USART Asynchronous Receive or
Synchronous Data.
Legend: ST = Schmitt Trigger input
Address
Name
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Value on
POR,
BOR
Value on
all other
Resets
07h
PORTC
RC7
RC6
RC5
RC4
RC3
RC2
RC1
RC0
xxxx xxxx uuuu uuuu
87h
TRISC
PORTC Data Direction Register
1111 1111 1111 1111
Legend: x = unknown, u = unchanged