|
PIC16LF1847 Datasheet, PDF (144/408 Pages) Microchip Technology – 18/20/28-Pin Flash Microcontrollers with nanoWatt XLP Technology | |||
|
◁ |
PIC16(L)F1847
16.2.6 A/D CONVERSION PROCEDURE
This is an example procedure for using the ADC to
perform an Analog-to-Digital conversion:
1. Configure Port:
⢠Disable pin output driver (Refer to the TRIS
register)
⢠Configure pin as analog (Refer to the ANSEL
register)
2. Configure the ADC module:
⢠Select ADC conversion clock
⢠Configure voltage reference
⢠Select ADC input channel
⢠Turn on ADC module
3. Configure ADC interrupt (optional):
⢠Clear ADC interrupt flag
⢠Enable ADC interrupt
⢠Enable peripheral interrupt
⢠Enable global interrupt(1)
4. Wait the required acquisition time(2).
5. Start conversion by setting the GO/DONE bit.
6. Wait for ADC conversion to complete by one of
the following:
⢠Polling the GO/DONE bit
⢠Waiting for the ADC interrupt (interrupts
enabled)
7. Read ADC Result.
8. Clear the ADC interrupt flag (required if interrupt
is enabled).
Note 1: The global interrupt can be disabled if the
user is attempting to wake-up from Sleep
and resume in-line code execution.
2: Refer to Section 16.3 âA/D Acquisition
Requirementsâ.
EXAMPLE 16-1: A/D CONVERSION
;This code block configures the ADC
;for polling, Vdd and Vss references, Frc
;clock and AN0 input.
;
;Conversion start & polling for completion
; are included.
;
BANKSEL ADCON1
;
MOVLW
Bâ11110000â ;Right justify, Frc
;clock
MOVWF
ADCON1
;Vdd and Vss Vref
BANKSEL TRISA
;
BSF
TRISA,0
;Set RA0 to input
BANKSEL ANSEL
;
BSF
ANSEL,0
;Set RA0 to analog
BANKSEL ADCON0
;
MOVLW
Bâ00000001â ;Select channel AN0
MOVWF
ADCON0
;Turn ADC On
CALL
SampleTime ;Acquisiton delay
BSF
ADCON0,ADGO ;Start conversion
BTFSC
ADCON0,ADGO ;Is conversion done?
GOTO
$-1
;No, test again
BANKSEL ADRESH
;
MOVF
ADRESH,W
;Read upper 2 bits
MOVWF
RESULTHI
;store in GPR space
BANKSEL ADRESL
;
MOVF
ADRESL,W
;Read lower 8 bits
MOVWF
RESULTLO
;Store in GPR space
DS41453A-page 144
Preliminary
ï£ 2011 Microchip Technology Inc.
|
▷ |