
2–99
Motorola Sensor Device Data
For More Information On This Product,
Go to: www.freescale.com
ADDSUM3
CLRA
ADDD
STD
LDAB
SUBB
BPL
COMB
INCB
CLRA
ADDD
STD
LDD
ADDD
STD
CPD
BLO
PULB
PULA
PULX
RTS
SUM3
SUM3
ADR4,X
OFFSET4
ADDSUM4
CALDLT4
ADDSUM4
SUM4
SUM4
COUNT
#$0001
COUNT
#SAMPLES
ADCREAD
* This subroutine computes the ball speed by dividing the overall sum by a constant.
COMPUTE
PSHX
PSHA
PSHB
LDD
SUM1
ADDD
SUM2
ADDD
SUM3
ADDD
SUM4
STD
GRNDSUM
LDX
#PRPFCTR
IDIV
XGDX
STAB
CURBIN
PULB
PULA
PULX
RTS
* This subroutine converts from binary to BCD. (Limited to number up to 99 decimal.)
BINTBCD
PSHX
PSHA
PSHB
LDX
#$0000
LDAA
CURBIN
STAA
TEMPBIN
CLRA
CLRB
BINSHFT
LSL
TEMPBIN
ROLB
LSLA
CMPB
#$10
BLO
CHKDONE
INCA
ANDB
#$0F
CHKDONE
INX
CPX
#$0008
BEQ
RAILAT9
CHKFIVE
CMPB
#$05
BLO
BINSHFT
ADDB
#$03
BRA
BINSHFT
RAILAT9
CMPA
#$09
BLS
DONE
LDD
#$0909
DONE
STD
BCD
LDX
#SEVSEG
XGDX
ADDB
BCD
XGDX
LDAA
$00,X
STAA
CURDSPL
LDX
#SEVSEG
XGDX
ADDB
BCD+1
XGDX
LDAA
$00,X
STAA
CURDSPL+1
PULB
PULA
PULX
RTS
* This subroutine displays the current speed for 5 seconds & then displays the maximum.
OUTPUT
PSHX
PSHA
PSHB
;Force the display to “99” if speed > 100 mph.
;This part finds the seven segment display codes.
F
Freescale Semiconductor, Inc.
n
.