English
Language : 

PIC16F72-E Datasheet, PDF (23/136 Pages) Microchip Technology – 28-Pin, 8-Bit CMOS FLASH Microcontoller with A/D Converter
3.0 I/O PORTS
Some pins for these I/O ports are multiplexed with an
alternate function for the peripheral features on the
device. In general, when a peripheral is enabled, that
pin may not be used as a general purpose I/O pin.
Additional information on I/O ports may be found in the
PIC™ Mid-Range MCU Reference Manual,
(DS33023).
3.1 PORTA and the TRISA Register
PORTA is a 6-bit wide, bi-directional port. The corre-
sponding data direction register is TRISA. Setting a
TRISA bit (= 1) will make the corresponding PORTA pin
an input (i.e., put the corresponding output driver in a
Hi-Impedance mode). Clearing a TRISA bit (= 0) will
make the corresponding PORTA pin an output (i.e., put
the contents of the output latch on the selected pin).
Reading the PORTA register, 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.
Pin RA4 is multiplexed with the Timer0 module clock
input to become the RA4/T0CKI pin. The RA4/T0CKI
pin is a Schmitt Trigger input and an open drain output.
All other RA port pins have TTL input levels and full
CMOS output drivers.
Other PORTA pins are multiplexed with analog inputs
and analog VREF input. The operation of each pin is
selected by clearing/setting the control bits in the
ADCON1 register (A/D Control Register1).
Note: On a Power-on Reset, these pins are con-
figured as analog inputs and read as ‘0’.
The TRISA register controls the direction of the RA
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.
EXAMPLE 3-1: INITIALIZING PORTA
BANKSEL
CLRF
BANKSEL
MOVLW
MOVWF
MOVLW
MOVWF
PORTA
PORTA
ADCON1
0x06
ADCON1
0xCF
TRISA
; select bank for PORTA
; Initialize PORTA by
; clearing output
; data latches
; Select Bank for ADCON1
; Configure all pins
; as digital inputs
; Value used to
; initialize data
; direction
; Set RA<3:0> as inputs
; RA<5:4> as outputs
; TRISA<7:6> are always
; read as ‘0’.
PIC16F72
FIGURE 3-1:
BLOCK DIAGRAM OF
RA3:RA0 AND RA5 PINS
Data
Bus
WR
Port
D
Q
CK Q
Data Latch
VDD
VDD
P
D
Q
N
I/O pin
WR
TRIS
CK Q
TRIS Latch
VSS
VSS
Analog
Input
Mode
RD TRIS
TTL
Input
Buffer
Q
D
EN
RD Port
To A/D Converter
FIGURE 3-2:
BLOCK DIAGRAM OF
RA4/T0CKI PIN
Data
Bus
WR
Port
WR
TRIS
DQ
CK Q
Data Latch
DQ
CK Q
TRIS Latch
N
I/O pin
VSS
VSS
Schmitt
Trigger
Input
Buffer
RD TRIS
QD
RD Port
ENEN
TMR0 Clock Input
© 2007 Microchip Technology Inc.
DS39597C-page 21