beautypg.com

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

background image

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)