PIC18FXX20
EXAMPLE 10-6:
INITIALIZING PORTF
10.6 PORTF, LATF, and TRISF
Registers
CLRF
PORTF
; Initialize PORTF by
; clearing output
; data latches
; Alternate method
; to clear output
; data latches
PORTF is an 8-bit wide, bi-directional port. The corre-
sponding Data Direction register is TRISF. Setting a
TRISF bit (= 1) will make the corresponding PORTF pin
an input (i.e., put the corresponding output driver in a
High-Impedance mode). Clearing a TRISF bit (= 0) will
make the corresponding PORTF pin an output (i.e., put
the contents of the output latch on the selected pin).
Read-modify-write operations on the LATF register,
read and write the latched output value for PORTF.
PORTF is multiplexed with several analog peripheral
functions, including the A/D converter inputs and
comparator inputs, outputs, and voltage reference.
CLRF
LATF
MOVLW
MOVWF
MOVLW
MOVWF
MOVLW
0x07
CMCON
0x0F
ADCON1
0xCF
;
; Turn off comparators
;
; Set PORTF as digital I/O
; Value used to
; initialize data
; direction
; Set RF3:RF0 as inputs
; RF5:RF4 as outputs
; RF7:RF6 as inputs
MOVWF
TRISF
Note 1: On a Power-on Reset, the RF6:RF0 pins
are configured as inputs and read as '0'.
2: To configure PORTF as digital I/O, turn off
comparators and set ADCON1 value.
FIGURE 10-13:
PORTF RF1/AN6/C2OUT, RF2/AN5/C1OUT BLOCK DIAGRAM
PORT/Comparator Select
Comparator Data Out
VDD
P
0
1
RD LATF
Q
Data Bus
D
I/O pin
WR LATF
or
CK
Q
WR PORTF
Data Latch
N
D
Q
Q
VSS
WR TRISF
CK
Analog
TRIS Latch
Input
Mode
Schmitt
Trigger
RD TRISF
Q
D
EN
RD PORTF
To A/D Converter
Note 1: I/O pins have diode protection to VDD and VSS.
2003 Microchip Technology Inc.
Advance Information
DS39609A-page 117