5.3 PORTC and TRISC Register
PORTC is an 6-bit bi-directional port. Each pin is indi-
vidually configurable as an input or output through the
TRISC register. PORTC is multiplexed with several
peripheral functions (Table 5-5). PORTC pins have
Schmitt Trigger input 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 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-mod-
ify-write instructions (BSF, BCF, XORWF) with TRISC
as destination should be avoided. The user should refer
to the corresponding peripheral section for the correct
TRIS bit settings.
EXAMPLE 5-3: INITIALIZING PORTC
BCF
BCF
CLRF
BSF
MOVLW
MOVWF
STATUS,RP0 ; Select Bank0
STATUS,RP1
PORTC
; Initialize PORTC
STATUS,RP0 ;
0xCF
; Value used to
; initialize data
; direction
TRISC
; Set RC<3:0> as inputs
; RC<5:4> as outputs
; RC<7:6> always read 0
PIC16C9XX
FIGURE 5-5:
RBPU(2)
Data bus
WR Port
WR TRIS
PORTC BLOCK DIAGRAM
(PERIPHERAL OUTPUT
OVERRIDE)
VDD
Data Latch
DQ
P
weak
pull-up
CK
TRIS Latch
DQ
CK
TTL
Input
Buffer
I/O
pin(1)
RD TRIS
RD Port
QD
EN
RB0/INT
Schmitt Trigger
Buffer
RD Port
Note 1: I/O pins have diode protection to VDD and VSS.
2: To enable weak pull-ups, set the appropriate TRIS bit(s)
and clear the RBPU bit (OPTION<7>).
TABLE 5-5: PORTC FUNCTIONS
Name
RC0/T1OSO/T1CKI
RC1/T1OSI
RC2/CCP1
RC3/SCK/SCL
Bit# Buffer Type
bit0
ST
bit1
ST
bit2
ST
bit3
ST
RC4/SDI/SDA
bit4
ST
RC5/SDO
bit5
ST
Legend: ST = Schmitt Trigger input
Function
Input/output port pin or Timer1 oscillator output or Timer1 clock input
Input/output port pin or Timer1 oscillator input
Input/output port pin or Capture input/Compare output/PWM output
Input/output port pin or the synchronous serial clock for both SPI and
I2C modes.
Input/output port pin or the SPI Data In (SPI mode) or data I/O (I2C
mode).
Input/output port pin or Synchronous Serial Port data out
TABLE 5-6: SUMMARY OF REGISTERS ASSOCIATED WITH PORTC
Address Name
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Value on
Power-on
Reset
Value on all
other resets
07h
PORTC
—
—
RC5 RC4 RC3 RC2 RC1 RC0 --xx xxxx --uu uuuu
87h
TRISC
—
— PORTC Data Direction Control Register
--11 1111 --11 1111
Legend: x = unknown, u = unchanged, - = unimplemented, read as '0'. Shaded cells are not used by PORTC.
© 1997 Microchip Technology Inc.
DS30444E - page 35