Datasheet

© 2007 Microchip Technology Inc. DS39597C-page 53
PIC16F72
10.0 ANALOG-TO-DIGITAL
CONVERTER (A/D) MODULE
The analog-to-digital (A/D) converter module has five
inputs for the PIC16F72.
The A/D allows conversion of an analog input signal to
a corresponding 8-bit digital number. The output of the
sample and hold is the input into the converter, which
generates the result via successive approximation. The
analog reference voltage is software selectable to
either the device’s positive supply voltage (V
DD) or the
voltage level on the RA3/AN3/V
REF pin.
The A/D converter has a unique feature of being able
to operate while the device is in SLEEP mode. To oper-
ate in SLEEP, the A/D conversion clock must be
derived from the A/D’s internal RC oscillator.
The A/D module has three registers:
A/D Result Register ADRES
A/D Control Register 0 ADCON0
A/D Control Register 1 ADCON1
A device RESET forces all registers to their RESET
state. This forces the A/D module to be turned off and
any conversion is aborted.
The ADCON0 register, shown in Register 10-1, con-
trols the operation of the A/D module. The ADCON1
register, shown in Register 10-2, configures the func-
tions of the port pins. The port pins can be configured
as analog inputs (RA3 can also be a voltage reference)
or a digital I/O.
For more information on use of the A/D Converter, see
AN546 - Use of A/D Converter, or refer to the PIC™
Mid-Range MCU Family Reference Manual
(DS33023).
REGISTER 10-1: ADCON0: A/D CONTROL REGISTER 0 (ADDRESS 1Fh)
R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 U-0 R/W-0
ADCS1 ADCS0 CHS2 CHS1 CHS0 GO/DONE —ADON
bit 7 bit 0
bit 7-6 ADCS<1:0>: A/D Conversion Clock Select bits
00 =F
OSC/2
01 =F
OSC/8
10 =F
OSC/32
11 =F
RC (clock derived from the internal A/D module RC oscillator)
bit 5-3 CHS<2:0>: Analog Channel Select bits
000 = Channel 0, (RA0/AN0)
001 = Channel 1, (RA1/AN1)
010 = Channel 2, (RA2/AN2)
011 = Channel 3, (RA3/AN3)
100 = Channel 4, (RA5/AN4)
bit 2 GO/DONE
: A/D Conversion Status bit
If ADON = 1:
1 = A/D conversion in progress (setting this bit starts the A/D conversion)
0 = A/D conversion not in progress (this bit is automatically cleared by hardware when the A/D
conversion is complete)
bit 1 Unimplemented: Read as ‘0
bit 0 ADON: A/D On bit
1 = A/D converter module is operating
0 = A/D converter module is shut-off and consumes no operating current
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