uPB2: bclr 4,porta
bclr 5,porta
lda RA
;***ENT*** confirms menu choice
;LEDs off
;get menu choice
bne SelIN
SelCM: ldhx #$A014
sthx UnitType
ldhx #$039E
sthx UnitEmpt
lda #$01
;initialize default units to cm ($A0=cm, $3F=in)
;UnitType set to $A0; UnitDiv set to $14
;UnitEmpt set to $03; UnitFull set to $9E
;clear LCD
jsr lcdcmdo
ldhx #msg03a
jsr lcdstro
;and show choice selection to be cm
;wait 1s
jsr del1s
jmp LEVEL
;let's do LEVEL now...
SelIN: ldhx #$3F08
sthx UnitType
ldhx #$033D
sthx UnitEmpt
lda #$01
;initialize default units to in ($A0=cm, $3F=in)
;UnitType set to $3F; UnitDiv set to $08
;UnitEmpt set to $03; UnitFull set to $3D
;clear LCD
jsr lcdcmdo
ldhx #msg03b
jsr lcdstro
;and show choice selection to be in
;wait 1s
jsr del1s
jmp LEVEL
;let's do LEVEL now...
;__________________________________________________________
;__________________________________________________________
;__________________________________________________________
;********************************************************************
;********************************************************************
;******** GENERAL Routines ******************************************
;********************************************************************
;********************************************************************
;-------- INITIALIZATION Routines -----------------------------------
;
;
ALLINIT: initializes HC08, sets I/O, resets LCD and LEDs
-------
ALLINIT: bset 0,config1
mov #$38,ddra
;disable COP
;PTA0=MPAK,PTA1=SEL,PTA2=ENT,PTA3=E,PTA4=RS,PTA5=clk
mov #$30,adiclk ;ADC clock /2
bclr 3,porta
bclr 4,porta
bclr 5,porta
rts
;E=0
;grn=OFF; RS=0
;red=OFF; CLK=0
;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
;
WARMUP: waits half a second while it flashes LEDs, and allows LCD to get ready
------
WARMUP: bclr 4,porta
bclr 5,porta
lda #$0A
tenx: jsr del25ms
bclr 4,porta
;LEDs off
;prepare to do this 10x
;delay
bset 5,porta
jsr del25ms
bset 4,porta
bclr 5,porta
;alternate on/off
;and off/on
dbnza tenx
jsr lcdinit
;10 times so the LCD can get ready (slow startup)
;now initialize it
AN1950
Sensors
Freescale Semiconductor
17