PIC16F882/883/884/886/887
The TRISC register (Register 3-10) 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’.
3.5
PORTC and TRISC Registers
PORTC is
a 8-bit wide, bidirectional port. The
corresponding data direction register is TRISC
(Register 3-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 3-4 shows how to initialize PORTC.
EXAMPLE 3-4:
INITIALIZING PORTC
BANKSELPORTC
;
CLRF
BANKSELTRISC
PORTC
;Init PORTC
;
Reading the PORTC register (Register 3-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.
MOVLW
MOVWF
B‘00001100’ ;Set RC<3:2> as inputs
TRISC
;and set RC<7:4,1:0>
;as outputs
REGISTER 3-9:
PORTC: PORTC REGISTER
R/W-x
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 3-10: TRISC: PORTC TRI-STATE REGISTER
R/W-1
R/W-1
R/W-1
R/W-1
R/W-1
R/W-1
R/W-1(1)
TRISC1
R/W-1(1)
TRISC0
TRISC7
TRISC6
TRISC5
TRISC4
TRISC3
TRISC2
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
TRISC<7:0>: PORTC Tri-State Control bit
1= PORTC pin configured as an input (tri-stated)
0= PORTC pin configured as an output
Note 1: TRISC<1:0> always reads ‘1’ in LP Oscillator mode.
© 2007 Microchip Technology Inc.
Preliminary
DS41291D-page 53