Microchip Technology MA180025 Data Sheet

Page of 450
 2010 Microchip Technology Inc.
DS39933D-page 123
PIC18F87J90 FAMILY
10.4
PORTC, TRISC and 
LATC Registers
PORTC is an 8-bit wide, bidirectional port. The
corresponding Data Direction and Output Latch registers
are TRISC and LATC. Only PORTC pins, RC2 through
RC7, are digital only pins and can tolerate input voltages
up to 5.5V.
PORTC is multiplexed with CCP, MSSP and EUSART
peripheral functions (Table 10-7). The pins have
Schmitt Trigger input buffers. The pins for CCP, SPI
and EUSART are also configurable for open-drain out-
put whenever these functions are active. Open-drain
configuration is selected by setting the SPIOD,
CCPxOD and U1OD control bits (TRISG<7:5> and
LATG<6>, respectively). 
RC1 is normally configured as the default peripheral
pin for the CCP2 module. Assignment of CCP2 is
controlled by Configuration bit, CCP2MX (default state,
CCP2MX = 1). 
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 the correct TRIS bit settings.
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.
RC<7:1> pins are multiplexed with LCD segment
drives, controlled by bits in the LCDSE1, LCDSE2,
LCDSE3 and LCDSE4 registers. I/O port functionality
is only available when the LCD segments are disabled.
EXAMPLE 10-3:
INITIALIZING PORTC      
Note:
These pins are configured as digital inputs
on any device Reset.
CLRF
PORTC
;
  Initialize PORTC by
; clearing output
; data latches
CLRF
LATC
; Alternate method
; to clear output
; data latches
MOVLW
0CFh
;
  Value used to 
; initialize data       
             
; direction
MOVWF
TRISC
;
  Set RC<3:0> as inputs
; RC<5:4> as outputs
;
  RC<7:6> as inputs