Datasheet

PIC18F46J11 FAMILY
DS39932D-page 142 2011 Microchip Technology Inc.
10.4 PORTC, TRISC and LATC
Registers
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-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).
The Data Latch register (LATC) is also memory
mapped. Read-modify-write operations on the LATC
register read and write the latched output value for
PORTC.
PORTC is multiplexed with several peripheral functions
(see Tab l e 1 0 -7 ). The 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 output,
while other peripherals override the TRIS bit to make a
pin an input. The user should refer to the corresponding
peripheral section for additional information.
The contents of the TRISC register are affected by
peripheral overrides. Reading TRISC always returns
the current contents, even though a peripheral device
may be overriding one or more of the pins.
EXAMPLE 10-4: INITIALIZING PORTC
Note: On a Power-on Reset, PORTC pins
(except RC2) are configured as digital
inputs. RC2 will default as an analog input
(controlled by the ANCON1 register).
CLRF LATC ; Initialize PORTC by
; clearing output
; data latches
MOVLW 0x3F ; Value used to
; initialize data
; direction
MOVWF TRISC ; Set RC<5:0> as inputs
; RC<7:6> as outputs
MOVLB 0x0F ; ANCON register is not in
Access Bank
BSF ANCON1,PCFG11
;Configure RC2/AN11 as
digital input