
PIC16F630/676
DS40039C-page 44
2003 Microchip Technology Inc.
TABLE 7-1:
T
AD
vs. DEVICE OPERATING FREQUENCIES
7.1.5
STARTING A CONVERSION
The A/D conversion is initiated by setting the
GO/DONE bit (ADCON0<1>). When the conversion is
complete, the A/D module:
Clears the GO/DONE bit
Sets the ADIF flag (PIR1<6>)
Generates an interrupt (if enabled).
If the conversion must be aborted, the GO/DONE bit
can be cleared in software. The ADRESH:ADRESL
registers will not be updated with the partially complete
A/D
conversion
sample.
ADRESH:ADRESL registers will retain the value of the
Instead,
the
previous conversion. After an aborted conversion, a
2 T
AD
delay is required before another acquisition can
be initiated. Following the delay, an input acquisition is
automatically started on the selected channel.
7.1.6
CONVERSION OUTPUT
The A/D conversion can be supplied in two formats: left
or right shifted. The ADFM bit (ADCON0<7>) controls
the output format. Figure 7-2 shows the output formats.
FIGURE 7-2:
10-BIT A/D RESULT FORMAT
A/D Clock Source (T
AD
)
Device Frequency
Operation
ADCS2:ADCS0
20 MHz
100 ns
(2)
200 ns
(2)
400 ns
(2)
800 ns
(2)
1.6
μ
s
3.2
μ
s
2 - 6
μ
s
(1,4)
5 MHz
400 ns
(2)
800 ns
(2)
1.6
μ
s
3.2
μ
s
6.4
μ
s
12.8
μ
s
(3)
2 - 6
μ
s
(1,4)
4 MHz
500 ns
(2)
1.0
μ
s
(2)
2.0
μ
s
4.0
μ
s
8.0
μ
s
(3)
16.0
μ
s
(3)
2 - 6
μ
s
(1,4)
1.25 MHz
1.6
μ
s
3.2
μ
s
6.4
μ
s
12.8
μ
s
(3)
25.6
μ
s
(3)
51.2
μ
s
(3)
2 - 6
μ
s
(1,4)
2 T
OSC
000
4 T
OSC
100
8 T
OSC
001
16 T
OSC
101
32 T
OSC
010
64 T
OSC
110
A/D RC
x11
Legend: Shaded cells are outside of recommended range.
Note 1:
The A/D RC source has a typical T
AD
time of 4
μ
s for V
DD
> 3.0V.
2:
These values violate the minimum required T
AD
time.
3:
For faster conversion times, the selection of another clock source is recommended.
4:
When the device frequency is greater than 1 MHz, the A/D RC clock source is only recommended if the
conversion will be performed during SLEEP.
Note:
The GO/DONE bit should not be set in the
same instruction that turns on the A/D.
ADRESH
ADRESL
(ADFM = 0)
MSB
LSB
bit 7
bit 0
bit 7
bit 0
10-bit A/D Result
Unimplemented: Read as ‘0’
(ADFM = 1)
MSB
LSB
bit 7
bit 0
bit 7
bit 0
Unimplemented: Read as ‘0
10-bit A/D Result