Datasheet

2011 Microchip Technology Inc. Preliminary DS41576B-page 47
PIC12F752/HV752
5.3 PORTA and the TRISA Registers
PORTA is a 6-bit wide port with 5 bidirectional and 1
input-only pin. The corresponding data direction register
is TRISA (Register 5-2). Setting a TRISA bit (= 1) will
make the corresponding PORTA pin an input (i.e.,
disable the output driver). Clearing a TRISA bit (= 0) will
make the corresponding PORTA pin an output (i.e.,
enables output driver and puts the contents of the output
latch on the selected pin). The exception is RA3, which
is input only and its TRIS bit will always read as ‘1’.
Example 5-1 shows how to initialize PORTA.
Reading the PORTA register (Register 5-2) 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. RA3 reads ‘0’ when
MCLRE = 1.
The TRISA register controls the direction of the
PORTA pins, even when they are being used as analog
inputs. The user must ensure the bits in the TRISA
register are maintained set when using them as analog
inputs. I/O pins configured as analog input always read
0’.
5.3.1 PORTA FUNCTIONS AND OUTPUT
PRIORITIES
Each PORTA pin is multiplexed with other functions. The
pins, their combined functions and their output priorities
are shown in Tab l e 5 -1 .
When multiple outputs are enabled, the actual pin
control goes to the peripheral with the highest priority.
Analog input functions, such as comparator inputs, are
not shown in the priority lists. These inputs are active
when the peripheral is enabled and the input multiplexer
for the pin is selected. The Analog mode, set with the
ANSELA register, disables the digital input buffer
thereby preventing excessive input current when the
analog input voltage is between logic states. Digital
output functions may control the pin when it is in Analog
mode with the priority shown in Table 5-1.
Note: The ANSEL register must be initialized to
configure an analog channel as a digital
input. Pins configured as analog inputs will
read ‘0’ and cannot generate an interrupt.
TABLE 5-1: PORTA OUTPUT PRIORITY
Pin Name Function Priority
(1)
RA0 ICSPDAT
REFOUT
DACOUT
COG1OUT1
(2)
RA0
RA1 RA1
RA2 COG1OUT0
(2)
C1OUT
C2OUT
CCP1
RA2
RA3 None
RA4 CLKOUT
COG1OUT1
(3)
RA4
RA5 COG1OUT0
(3)
RA5
Note 1: Priority listed from highest to lowest.
2: Default function pin (see APFCON register).
3: Alternate function pin (see APFCON register).