English
Language : 

PIC16F636T-I Datasheet, PDF (49/234 Pages) Microchip Technology – 8/14-Pin, Flash-Based 8-Bit CMOS Microcontrollers with nanoWatt Technology
PIC12F635/PIC16F636/639
4.0 I/O PORTS
There are as many as twelve general purpose I/O pins
available. Depending on which peripherals are
enabled, some or all of the pins may not be available as
general purpose I/O. In general, when a peripheral is
enabled, the associated pin may not be used as a
general purpose I/O pin.
4.1 PORTA and the TRISA Registers
PORTA is a 6-bit wide, bidirectional port. The
corresponding data direction register is TRISA
(Register 4-2). Setting a TRISA bit (= 1) will make the
corresponding PORTA pin an input (i.e., put the
corresponding output driver in a High-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). The
exception is RA3, which is input only and its TRIS bit will
always read as ‘1’. Example 4-1 shows how to initialize
PORTA.
Note: PORTA = GPIO
TRISA = TRISIO
Reading the PORTA register (Register 4-1) 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 inputs always
read ‘0’.
Note:
The CMCON0 register must be initialized
to configure an analog channel as a digital
input. Pins configured as analog inputs will
read ‘0’.
EXAMPLE 4-1: INITIALIZING PORTA
BANKSEL PORTA
CLRF PORTA
MOVLW 07h
MOVWF CMCON0
BSF STATUS,RP0
BCF STATUS,RP1
MOVLW 0Ch
MOVWF TRISA
;
;Init PORTA
;Set RA<2:0> to
;digital I/O
;Bank 1
;
;Set RA<3:2> as inputs
;and set RA<5:4,1:0>
;as outputs
4.2 Additional Pin Functions
Every PORTA pin on the PIC12F635/PIC16F636/639
has an interrupt-on-change option and a weak
pull-up/pull-down option. RA0 has an Ultra Low-Power
Wake-up option. The next three sections describe
these functions.
4.2.1 WEAK PULL-UP/PULL-DOWN
Each of the PORTA pins, except RA3, has an internal
weak pull-up and pull-down. The WDA bits select either
a pull-up or pull-down for an individual port bit.
Individual control bits can turn on the pull-up or
pull-down. These pull-ups/pull-downs are automatically
turned off when the port pin is configured as an output,
as an alternate function or on a Power-on Reset,
setting the RAPU bit of the OPTION register. A weak
pull-up on RA3 is enabled when configured as MCLR
in the Configuration Word register and disabled when
high voltage is detected, to reduce current
consumption through RA3, while in Programming
mode.
Note: PORTA = GPIO
TRISA = TRISIO
© 2007 Microchip Technology Inc.
DS41232D-page 47