PIC16F684-I/ML Microchip Technology Inc., PIC16F684-I/ML Datasheet - Page 33

no-image

PIC16F684-I/ML

Manufacturer Part Number
PIC16F684-I/ML
Description
MCU, 8-Bit, 2KW Flash, 128 RAM, 12 I/O, QFN-16
Manufacturer
Microchip Technology Inc.
Datasheet

Specifications of PIC16F684-I/ML

A/d Inputs
8-Channel, 10-Bit
Comparators
2
Cpu Speed
5 MIPS
Eeprom Memory
256 Bytes
Input Output
12
Memory Type
Flash
Number Of Bits
8
Package Type
16-pin QFN
Programmable Memory
3.5K Bytes
Ram Size
128 Bytes
Speed
20 MHz
Timers
2-8-bit, 1-16-bit
Voltage, Range
2-5.5 V
Lead Free Status / Rohs Status
RoHS Compliant part Electrostatic Device
4.0
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 is a 6-bit wide, bidirectional port. The
corresponding
(Register 4-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 4-1
shows how to initialize PORTA.
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
REGISTER 4-1:
REGISTER 4-2:
© 2007 Microchip Technology Inc.
bit 7
Legend:
R = Readable bit
-n = Value at POR
bit 7-6
bit 5-0
bit 7
Legend:
R = Readable bit
-n = Value at POR
bit 7-6
bit 5-0
Note 1:
U-0
U-0
2:
I/O PORTS
PORTA and the TRISA Registers
TRISA<3> always reads ‘1’.
TRISA<5:4> always reads ‘1’ in XT, HS and LP OSC modes.
data
Unimplemented: Read as ‘0’
RA<5:0>: PORTA I/O Pin bit
1 = PORTA pin is > V
0 = PORTA pin is < V
Unimplemented: Read as ‘0’
TRISA<5:0>: PORTA Tri-State Control bit
1 = PORTA pin configured as an input (tri-stated)
0 = PORTA pin configured as an output
U-0
U-0
PORTA: PORTA REGISTER
TRISA: PORTA TRI-STATE REGISTER
direction
W = Writable bit
‘1’ = Bit is set
W = Writable bit
‘1’ = Bit is set
register
TRISA5
R/W-x
R/W-1
IH
IL
RA5
is
TRISA
TRISA4
R/W-0
R/W-1
RA4
U = Unimplemented bit, read as ‘0’
U = Unimplemented bit, read as ‘0’
‘0’ = Bit is cleared
‘0’ = Bit is cleared
TRISA3
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’.
EXAMPLE 4-1:
RA3
R-x
R-1
BCF
CLRF
MOVLW 07h
MOVWF CMCON0
BSF
CLRF
MOVLW 0Ch
MOVWF TRISA
BCF
Note:
STATUS,RP0
PORTA
STATUS,RP0
ANSEL
STATUS,RP0
The ANSEL and CMCON0 registers must
be initialized to configure an analog
channel as a digital input. Pins configured
as analog inputs will read ‘0’.
TRISA2
R/W-0
R/W-1
RA2
INITIALIZING PORTA
x = Bit is unknown
x = Bit is unknown
PIC16F684
;Bank 0
;Init PORTA
;Set RA<2:0> to
;digital I/O
;Bank 1
;digital I/O
;Set RA<3:2> as inputs
;and set RA<5:4,1:0>
;as outputs
;Bank 0
TRISA1
R/W-0
R/W-1
RA1
DS41202F-page 31
TRISA0
R/W-0
R/W-1
RA0
bit 0
bit 0

Related parts for PIC16F684-I/ML