PIC16F631/677/685/687/689/690
The TRISC register controls the PORTC pin output
drivers, even when they are being used as analog inputs.
The user should ensure the bits in the TRISC register are
maintained set when using them as analog inputs. I/O
pins configured as analog input always read ‘0’.
4.5
PORTC and TRISC Registers
PORTC is
a 8-bit wide, bidirectional port. The
corresponding data direction register is TRISC (Register
4-10). Setting a TRISC bit (= 1) will make the
corresponding PORTC pin an input (i.e., put the
corresponding output driver in a High-Impedance mode).
Clearing a TRISC bit (= 0) will make the corresponding
PORTC pin an output (i.e., enable the output driver and
put the contents of the output latch on the selected pin).
Example 4-4 shows how to initialize PORTC. Reading
the PORTC register (Register 4-9) reads the status of the
pins, whereas writing to it will write to the PORT latch. All
write operations are read-modify-write operations.
Therefore, a write to a port implies that the port pins are
read, this value is modified and then written to the PORT
data latch.
Note:
The ANSEL and ANSELH registers must
be initialized to configure an analog
channel as a digital input. Pins configured
as analog inputs will read ‘0’.
EXAMPLE 4-4:
INITIALIZING PORTC
BCF
STATUS,RP0
;Bank 0
BCF
CLRF
BSF
CLRF
BSF
BCF
STATUS,RP1
PORTC
STATUS,RP1
ANSEL
STATUS,RP0
STATUS,RP1
0Ch
;
;Init PORTC
;Bank 2
;digital I/O
;Bank 1
;
MOVLW
MOVWF
;Set RC<3:2> as inputs
;and set RC<5:4,1:0>
;as outputs
;Bank 0
TRISC
BCF
STATUS,RP0
REGISTER 4-11: PORTC: PORTC REGISTER
R/W-0
RC7
R/W-x
RC6
R/W-x
RC5
R/W-x
RC4
R/W-x
RC3
R/W-x
RC2
R/W-x
RC1
R/W-x
RC0
bit 7
bit 0
Legend:
R = Readable bit
-n = Value at POR
W = Writable bit
‘1’ = Bit is set
U = Unimplemented bit, read as ‘0’
‘0’ = Bit is cleared
x = Bit is unknown
bit 7-0
RC<7:0>: PORTC General Purpose I/O Pin bit
1= Port pin is > VIH
0= Port pin is < VIL
REGISTER 4-12: TRISC: PORTC TRI-STATE REGISTER
R/W-1
R/W-1
R/W-1
TRISC5
R/W-1
R-1
R/W-1
R/W-1
R/W-1
TRISC7
TRISC6
TRISC4
TRISC3
TRISC2
TRISC1
TRISC0
bit 0
bit 7
Legend:
R = Readable bit
-n = Value at POR
W = Writable bit
‘1’ = Bit is set
U = Unimplemented bit, read as ‘0’
‘0’ = Bit is cleared x = Bit is unknown
bit 7-0
TRISC<7:0>: PORTC Tri-State Control bit
1= PORTC pin configured as an input (tri-stated)
0= PORTC pin configured as an output
DS41262D-page 76
© 2007 Microchip Technology Inc.