Microchip Technology IC MCU FLASH PIC16F676-I/ST TSSOP-14 MCP PIC16F676-I/ST Ficha De Dados

Códigos do produto
PIC16F676-I/ST
Página de 132
 2010 Microchip Technology Inc.
DS40039F-page 21
PIC16F630/676
3.0
PORTS A AND C
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.
3.1
PORTA and the TRISA Registers
PORTA is an 6-bit wide, bidirectional 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
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 3-1 shows how to
initialize PORTA.
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. RA3 reads ‘0’ when MCLREN = 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’.
EXAMPLE 3-1:
INITIALIZING PORTA
3.2
Additional Pin Functions
Every PORTA pin on the PIC16F630/676 has an
interrupt-on-change option and every PORTA pin,
except RA3, has a weak pull-up option. The next two
sections describe these functions.
3.2.1
WEAK PULL-UP
Each of the PORTA pins, except RA3, has an individu-
ally configurable weak internal pull-up. Control bits
WPUAx enable or disable each pull-up. Refer to
Register 3-3. Each weak pull-up is automatically turned
off when the port pin is configured as an output. The
pull-ups are disabled on a Power-on Reset by the
RAPU bit (OPTION<7>).
REGISTER 3-1:
PORTA — PORTA REGISTER (ADDRESS: 05h)                    
  
Note:
Additional information on I/O ports may be
found in the PIC
®
 Mid-Range Reference
Manual, (DS33023)
Note:
The ANSEL (91h) and CMCON (19h)
registers must be initialized to configure an
analog channel as a digital input. Pins
configured as analog inputs will read ‘0’.
The ANSEL register is defined for the
PIC16F676.
BCF
STATUS,RP0
;Bank 0
CLRF
PORTA
;Init PORTA
MOVLW
05h
;Set RA<2:0> to 
MOVWF
CMCON
;digital I/O
BSF
STATUS,RP0
;Bank 1
CLRF ANSEL
;digital 
I/O
MOVLW
0Ch
;Set RA<3:2> as inputs
MOVWF
TRISA
;and set RA<5:4,1:0>
;as outputs
BCF
STATUS,RP0
;Bank 0
U-0
U-0
R/W-x
R/W-x
R/W-x
R/W-x
R/W-x
R/W-x
RA5
RA4
RA3
RA2
RA1
RA0
bit 7
bit 0
bit 7-6:
Unimplemented: Read as ‘0’
bit 5-0:
PORTA<5:0>: PORTA I/O pin bits
1 = Port pin is >V
IH
0 = Port pin is <V
IL
Legend:
R = Readable bit
W = Writable bit
U = Unimplemented bit, read as ‘0’
- n = Value at POR
‘1’ = Bit is set
‘0’ = Bit is cleared
x = Bit is unknown