PIC18F2220/2320/4220/4320
The module has five registers:
19.0 10-BIT ANALOG-TO-DIGITAL
• A/D Result High Register (ADRESH)
• A/D Result Low Register (ADRESL)
• A/D Control Register 0 (ADCON0)
• A/D Control Register 1 (ADCON1)
• A/D Control Register 2 (ADCON2)
CONVERTER (A/D) MODULE
The Analog-to-Digital (A/D) converter module has 10
inputs for the PIC18F2X20 devices and 13 for the
PIC18F4X20 devices. This module allows conversion
of an analog input signal to a corresponding 10-bit
digital number.
The ADCON0 register, shown in Register 19-1,
controls the operation of the A/D module. The
ADCON1 register, shown in Register 19-2, configures
the functions of the port pins. The ADCON2 register,
shown in Register 19-3, configures the A/D clock
source, programmed acquisition time and justification.
A new feature for the A/D converter is the addition of
programmable acquisition time. This feature allows the
user to select a new channel for conversion and setting
the GO/DONE bit immediately. When the GO/DONE bit is
set, the selected channel is sampled for the programmed
acquisition time before a conversion is actually started.
This removes the firmware overhead that may have been
required to allow for an acquisition (sampling) period (see
Register 19-3 and Section 19.3 “Selecting and
Configuring Automatic Acquisition Time”).
REGISTER 19-1: ADCON0 REGISTER
U-0
—
U-0
—
R/W-0
CHS3
R/W-0
CHS2
R/W-0
CHS1
R/W-0
CHS0
R/W-0
R/W-0
ADON
GO/DONE
bit 7
bit 0
bit 7-6 Unimplemented: Read as ‘0’
bit 5-3 CHS3:CHS0: Analog Channel Select bits
0000= Channel 0 (AN0)
0001= Channel 1 (AN1)
0010= Channel 2 (AN2)
0011= Channel 3 (AN3)
0100= Channel 4 (AN4)
0101= Channel 5 (AN5)(1,2)
0110= Channel 6 (AN6)(1,2)
0111= Channel 7 (AN7)(1,2)
1000= Channel 8 (AN8)
1001= Channel 9 (AN9)
1010= Channel 10 (AN10)
1011= Channel 11 (AN11)
1100= Channel 12 (AN12)
1101= Unimplemented(2)
1110= Unimplemented(2)
1111= Unimplemented(2)
Note 1: These channels are not implemented on the PIC18F2X20 (28-pin) devices.
2: Performing a conversion on unimplemented channels returns full-scale results.
bit 1
bit 0
GO/DONE: A/D Conversion Status bit
When ADON = 1:
1= A/D conversion in progress
0= A/D Idle
ADON: A/D On bit
1= A/D converter module is enabled
0= A/D converter module is disabled
Legend:
R = Readable bit
W = Writable bit
‘1’ = Bit is set
U = Unimplemented bit, read as ‘0’
‘0’ = Bit is cleared x = Bit is unknown
- n = Value at POR
2003 Microchip Technology Inc.
DS39599C-page 211