Datasheet

2011 Microchip Technology Inc. Preliminary DS39977C-page 369
PIC18F66K80 FAMILY
The ANCONx registers are used to configure the
operation of the I/O pin associated with each analog
channel. Clearing an ANSELx bit configures the
corresponding pin (ANx) to operate as a digital only I/O.
Setting a bit configures the pin to operate as an analog
input for either the A/D Converter or the comparator
module, with all digital peripherals disabled and digital
inputs read as ‘
0’.
As a rule, I/O pins that are multiplexed with analog
inputs default to analog operation on any device Reset.
The analog reference voltage is software selectable to
either the device’s positive and negative supply voltage
(AV
DD and AVSS) or the voltage level on the
RA3/V
REF+/AN3 and RA2/VREF-/AN2 pins. VREF+ has
two additional internal voltage reference selections:
2.048V and 4.096V.
The A/D Converter can uniquely operate while the
device is in Sleep mode. To operate in
Sleep, the A/D
conversion clock must be derived from the A/D’s
internal RC oscillator.
The output of the sample and hold is the input into the
converter, which generates the result via successive
approximation.
Each port pin associated with the A/D Converter can be
configured as an analog input or a digital I/O. The
ADRESH and ADRESL registers contain the result of
the A/D conversion. When the A/D conversion is com-
plete, the result is loaded into the ADRESH:ADRESL
register pair, the GO/DONE
bit (ADCON0<1>) is cleared
and the A/D Interrupt Flag bit, ADIF (PIR1<6>), is set.
A device Reset forces all registers to their Reset state.
This forces the A/D module to be turned off and any
conversion in progress is aborted. The value in the
ADRESH:ADRESL register pair is not modified for a
Power-on Reset. These registers will contain unknown
data after a Power-on Reset.
The block diagram of the A/D module is shown in
Figure 23-4.
REGISTER 23-8: ANCON0: A/D PORT CONFIGURATION REGISTER 0
R/W-x R/W-x R/W-x R/W-x R/W-x R/W-x R/W-x R/W-x
ANSEL7
(1)
ANSEL6
(1)
ANSEL5
(1)
ANSEL4 ANSEL3 ANSEL2 ANSEL1 ANSEL0
bit 7 bit 0
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
bit 7-0
ANSEL<7:0>: Analog Port Configuration bits (AN7 and AN0)
(1)
1 = Pin configured as an analog channel: digital input disabled and any inputs read as ‘0
0 = Pin configured as a digital port
Note 1: AN14 through AN11 and AN7 to AN5 are implemented only on 40/44-pin and 64-pin devices. For 28-pin
devices, the corresponding ANSELx bits are still implemented for these channels, but have no effect.
REGISTER 23-9: ANCON1: A/D PORT CONFIGURATION REGISTER 1
U-1 R/W-x R/W-x R/W-x R/W-x R/W-x R/W-x R/W-x
ANSEL14
(1)
ANSEL13
(1)
ANSEL12
(1)
ANSEL11
(1)
ANSEL10 ANSEL9 ANSEL8
bit 7 bit 0
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
bit 7
Unimplemented: Read as0
bit 6-0
ANSEL<14:8>: Analog Port Configuration bits (AN14 through AN8)
(1)
1 = Pin configured as an analog channel: digital input disabled and any inputs read as ‘0
0 = Pin configured as a digital port
Note 1: AN14 through AN11 and AN7 to AN5 are implemented only on 40/44-pin and 64-pin devices. For 28-pin
devices, the corresponding ANSELx bits are still implemented for these channels, but have no effect.