English
Language : 

PIC16F1946 Datasheet, PDF (140/440 Pages) Microchip Technology – 64-Pin Flash-Based, 8-Bit CMOS Microcontrollers with LCD Driver and nanoWatt XLP Technology
PIC16F/LF1946/47
12.7 PORTF Registers
PORTF is a 8-bit wide, bidirectional port. The
corresponding data direction register is TRISF
(Register 12-21). 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., enable the output driver and
put the contents of the output latch on the selected pin).
Example 12-4 shows how to initialize PORTF.
Reading the PORTF register (Register 12-13) 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 (LATF).
The TRISF register (Register 12-14) controls the
PORTF pin output drivers, even when they are being
used as analog inputs. The user should ensure the bits
in the TRISF register are maintained set when using
them as analog inputs. I/O pins configured as analog
input always read ‘0’.
12.7.1 ANSELF REGISTER
The ANSELF register (Register 12-23) is used to
configure the Input mode of an I/O pin to analog.
Setting the appropriate ANSELF bit high will cause all
digital reads on the pin to be read as ‘0’ and allow
analog functions on the pin to operate correctly.
The state of the ANSELF bits has no affect on digital
output functions. A pin with TRIS clear and ANSEL set
will still operate as a digital output, but the Input mode
will be analog. This can cause unexpected behavior
when executing read-modify-write instructions on the
affected port.
Note:
The ANSELF register must be initialized to
configure an analog channel as a digital
input. Pins configured as analog inputs will
read ‘0’.
EXAMPLE 12-6: INITIALIZING PORTF
BANKSEL
CLRF
BANKSEL
CLRF
BANKSEL
CLRF
BANKSEL
MOVLW
MOVWF
PORTF
;
PORTF
;Init PORTF
LATF
;Data Latch
LATF
;
ANSELF
;
ANSELF
;digital I/O
TRISF
;
B'11110000' ;Set RF<7:4> as inputs
TRISF
;and set RF<3:0> as
;outputs
DS41414A-page 138
Preliminary
 2010 Microchip Technology Inc.