PIC16F630/676
DS40039F-page 46
2010 Microchip Technology Inc.
TABLE 7-1:
TAD 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.
Instead,
the
ADRESH:ADRESL registers will retain the value of the
previous conversion. After an aborted conversion, a
2TAD 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 (TAD)
Device Frequency
Operation
ADCS2:ADCS0
20 MHz
5 MHz
4 MHz
1.25 MHz
2 TOSC
000
100 ns(2)
400 ns(2)
500 ns(2)
1.6
s
4 TOSC
100
200 ns(2)
800 ns(2)
1.0
s(2)
3.2
s
8 TOSC
001
400 ns(2)
1.6
s2.0 s6.4 s
16 TOSC
101
800 ns(2)
3.2
s4.0 s
12.8
s(3)
32 TOSC
010
1.6
s6.4 s
8.0
s(3)
25.6
s(3)
64 TOSC
110
3.2
s
12.8
s(3)
16.0
s(3)
51.2
s(3)
A/D RC
x11
2 - 6
s(1,4)
2 - 6
s(1,4)
2 - 6
s(1,4)
2 - 6
s(1,4)
Legend: Shaded cells are outside of recommended range.
Note 1: The A/D RC source has a typical TAD time of 4
s for VDD > 3.0V.
2: These values violate the minimum required TAD 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 7bit 0
10-bit A/D Result
Unimplemented: Read as ‘0’
(ADFM = 1)
MSB
LSB
bit 7bit 0
Unimplemented: Read as ‘0’
10-bit A/D Result