PIC16C9XX
12.4 A/D Conversions
Example 12-2 show how to perform an A/D conversion.
The RA pins are configured as analog inputs. The ana-
log reference (VREF) is the device VDD. The A/D inter-
rupt is enabled, and the A/D conversion clock is FRC.
The conversion is performed on the RA0 pin
(channel0).
Note: The GO/DONE bit should NOT be set in
the same instruction that turns on the A/D.
Clearing the GO/DONE bit during a conversion will
abort the current conversion. The ADRES register will
NOT be updated with the partially completed A/D con-
version sample. That is, the ADRES register will con-
tinue to contain the value of the last completed
conversion (or the last value written to the ADRES reg-
ister). After the A/D conversion is aborted, a 2TAD wait
is required before the next acquisition is started. After
this 2TAD wait, an acquisition is automatically started on
the selected channel.
EXAMPLE 12-2: DOING AN A/D CONVERSION
BCF
STATUS, RP1
; Select Bank1
BSF
STATUS, RP0
;
CLRF ADCON1
; Configure A/D inputs
BSF
PIE1, ADIE
; Enable A/D interrupts
BCF
STATUS, RP0
; Select Bank0
MOVLW 0xC1
; RC Clock, A/D is on, Channel 0 is selected
MOVWF ADCON0
;
BCF
PIR1, ADIF
; Clear A/D interrupt flag bit
BSF
INTCON, PEIE
; Enable peripheral interrupts
BSF
INTCON, GIE
; Enable all interrupts
;
; Ensure that the required acquisition time for the selected input channel has elapsed.
; Then the conversion may be started.
;
BSF
ADCON0, GO
; Start A/D Conversion
:
; The ADIF bit will be set and the GO/DONE bit
:
; is cleared upon completion of the A/D Conversion.
DS30444E - page 84
© 1997 Microchip Technology Inc.