Datasheet
Using the ATD to Measure a Potentiometer Signal
MC68HC812A4 Data Sheet, Rev. 7
Freescale Semiconductor 209
; ----------------------------------------------
; Subroutine CONVERT: ;
; ----------------------------------------------
; Set-up ATD, make single conversion and store the result to a memory location.
; Configure and start A/D conversion
; Analog Input Signal: On PORT AD6
; Convert: using single channel, non-continuous
; The result will be located in ADR2H
CONVERT:
LDAA #$06 ; Initializes ATD SCAN=0,MULT=0, PAD6,
; ; Write Clears Flag
STAA ATDCTL5 ; 4 conversions on a Single Conversion
; ; sequence,
WTCONV: BRCLR ATDSTATH,#$80,WTCONV; Wait for Sequence Complete Flag
LDD ADR2H ; Loads conversion result(ADR2H)
; ; into Accumulator
BRA CONVERT ; Continuously updates results
RTS ; Return from subroutine
;* -------------------------------
;* Subroutine DELAY 100 uS *
;* -------------------------------
; Delay Required for ATD converter to Stabilize (100 uSec)
LDAA #$C8 ; Load Accumulator with "100 uSec delay value"
DELAY: DECA ; Decrement ACC
BNE DELAY ; Branch if not equal to Zero
RTS ; Return from subroutine
END ; End of program
