Datasheet

PIC16F688
DS41203E-page 68 © 2009 Microchip Technology Inc.
8.1.5 INTERRUPTS
The ADC module allows for the ability to generate an
interrupt upon completion of an Analog-to-Digital
Conversion. The ADC interrupt flag is the ADIF bit in
the PIR1 register. The ADC interrupt enable is the ADIE
bit in the PIE1 register. The ADIF bit must be cleared in
software.
This interrupt can be generated while the device is
operating or while in Sleep. If the device is in Sleep, the
interrupt will wake-up the device. Upon waking from
Sleep, the next instruction following the SLEEP
instruction is always executed. If the user is attempting
to wake-up from Sleep and resume in-line code
execution, the global interrupt must be disabled. If the
global interrupt is enabled, execution will switch to the
Interrupt Service Routine.
Please see Section 8.1.5 “Interrupts” for more
information.
8.1.6 RESULT FORMATTING
The 10-bit A/D Conversion result can be supplied in
two formats, left justified or right justified. The ADFM bit
of the ADCON0 register controls the output format.
Figure 8-4 shows the two output formats.
FIGURE 8-3: 10-BIT A/D CONVERSION RESULT FORMAT
Note: The ADIF bit is set at the completion of
every conversion, regardless of whether
or not the ADC interrupt is enabled.
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