AN2688 Freescale Semiconductor / Motorola, AN2688 Datasheet - Page 20

no-image

AN2688

Manufacturer Part Number
AN2688
Description
Implementing a 10-Bit Sigma-Delta Analog-to-Digital Converter Using the HC9S08Rx MCU Family Analog Comparator
Manufacturer
Freescale Semiconductor / Motorola
Datasheet
AN2688/D
WaitState:
;*******************************************************************************************
;* Timer Interrupt (min = 48 cycles / max = 108 cycles)
;*******************************************************************************************
TPMInt:
SetOutHigh: bset
IncCounter: inc
TPMIntEnd:
END
20
bset
wait
bclr
bra
lda
bclr
bset
brset ACO,ACMPSC,SetOutHigh
bclr
bclr
bra
bset
inc
bne
inc
bne
inc
brclr 2,CounterH,TPMIntEnd ; jump to TPMIntEnd if Counter < 1024 ( 5 cycles)
bclr
mov
mov
bset
clr
clr
clr
clr
rti
DDRE1,DDRE
PTE0,PTE
WaitState
TOF,TPMSC
PTE0,PTE
PTA1,PTA
PTA2,PTA
IncCounter
PTA1,PTA
PTA2,PTA
SampleL
IncCounter
SampleH
CounterL
TPMIntEnd
CounterH
PTE1,PTE
SampleH,PTB ;PTB = CounterH (5 cycles)
SampleL,PTC ;PTC = CounterL (5 cycles)
PTE1,PTE
CounterL
CounterH
SampleL
SampleH
TPMSC
Implementing a 10-Bit Sigma-Delta Analog-to-Digital Converter
Using the HC9S08Rx MCU Family Analog Comparator
Freescale Semiconductor, Inc.
For More Information On This Product,
;enable interrupts and halt (2+ cycles)
;clear bit 0 of port PTE (5 cycles)
;jump to WaitState (3 cycles) -> Total = 10+ cycles
;clear Timer Overflow Flag (5 cycles)
;set bit 0 of port PTE (5 cycles)
;clear bit 1 of port PTA (5 cycles)
;clear bit 2 of port PTA (5 cycles)
;jump to IncCounter (3 cycles)
;set bit 1 of port PTA (5 cycles)
;set bit 2 of port PTA (5 cycles)
;increment Sample (low order) (5 cycles)
;jump to IncCounter if SampleL did not overflow (3 cycles)
;increment Sample (high order) (5 cycles)
;increment Counter (low order) (5 cycles)
;jump to TPMIntEnd if CounterL did not overflow (3 cycles)
;increment Counter (high order) (5 cycles)
;clear bit 1 of port PTE (5 cycles)
;set bit 1 of port PTE (5 cycles)
;reset Counter (low order) (5 cycles)
;reset Counter (high order) (5 cycles)
;reset Sample (low order) (5 cycles)
;reset Sample (high order) (5 cycles)
;return from interrupt routine (9 cycles)
;read TPMSC register (required before clearing TOF) (3 cycles)
Go to: www.freescale.com
;define bit 1 of port PTE as output
;jump to SetOutHigh if ACO == 1 (5 cycles)
MOTOROLA

Related parts for AN2688