3 analog-to-digital converter code examples, 1 adc example 1: single conversion, 2 adc example 2: continuous conversion – Maxim Integrated MAXQ Family Users Guide: MAXQ2010 Supplement User Manual
Page 91: 3 analog-to-digital converter code examples -9, Maxq family user’s guide: maxq2010 supplement

MAXQ Family User’s Guide:
MAXQ2010 Supplement
19-9
19.3 Analog-to-Digital Converter Code Examples
19.3.1 ADC Example 1: Single Conversion
move ADCN, #0300h ; Set ADC clock to sysclk/8 (78ksps at 10MHz)
move ADST, #0010h ; Points ADDATA to config register 0
move ADDATA, #06h
; Single-ended conversion on channel AN6, AVDD ref
move ADST.6, #1
; Start conversion
waitConvert:
move C, ADST.6
jump C, waitConvert
; Conversion has completed when ADST.6 clears to 0
move ADST, #0000h ; Points ADDATA to data register 0
move Acc, ADDATA ; Get conversion result
19.3.2 ADC Example 2: Continuous Conversion
move ADCN, #0F00h ; Set ADC clock to sysclk/8 (78ksps at 10MHz),
; also set Data Available interrupt to trigger
; following every 16 samples
move ADCN.6, #1
; Enable continuous conversion mode
move ADST, #0010h ; Points ADDATA to config register 0
move ADDATA, #06h
; ACFG[0]: Single-ended conversion on AN6, AVDD ref
move ADDATA, #07h
; ACFG[1]: Single-ended conversion on AN7, AVDD ref
move ADADDR, #0001h
; Sequence runs from ACFG[0] to ACFG[1] inclusive
move ADST.6, #1
; Start conversion (continuous)
waitConvert:
move C, ADST.5
jump NC, waitConvert ; Wait for 16 samples to be captured (ADDAI=1)
move ADST.6, #0
; Stop conversion
move ADST.5, #0
; Clear data available flag
move ADST, #0000h ; Points ADDATA to data register 0
move A[0], ADDATA ; Get conversion data
move A[1], ADDATA
move A[2], ADDATA
move A[3], ADDATA
move A[4], ADDATA
move A[5], ADDATA
ADDIFF
ADCH2
ADCH1
ADCH0
ADC CONVERSION TYPE
1
X
0
0
Differential conversion: (AN0–AN1)
1
X
0
1
Differential conversion: (AN2–AN3)
1
X
1
0
Differential conversion: (AN4–AN5)
1
X
1
1
Differential conversion: (AN6–AN7)