Datasheet
PIC16F630/676
DS40039E-page 44 © 2007 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
2T
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 (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 T
OSC 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 T
AD time of 4 μs for VDD > 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 7bit 0bit 7bit 0
10-bit A/D Result Unimplemented: Read as ‘0’
(ADFM = 1)
MSB LSB
bit 7bit 0bit 7bit 0
Unimplemented: Read as ‘0 10-bit A/D Result