📄 mnapp.asm
字号:
;**********************************************
;Name :mnapp
;Function:
;Input :
;Output :
;Register Used:
;***********************************************
mnapp:
call checkkey
mnapp90:
ret
;**********************************************
;Name :ensure which key should operate
;Function:
;Input :
;Output :
;Register Used:
;***********************************************
checkkey:
b0bts0 poweronflag
jmp checkkey90 ;刚通电,不响应按键
mov a,aplcode
@jmp_a 13
jmp checkkey90 ;0
jmp boilwaterkey ;1,煮水
jmp warmmilkkey ;2,热奶
jmp soupingkey ;3,煲汤
jmp cookingkey ;4,煮饭
jmp barbecuekey ;5,烧烤
jmp chaffydishkey ;6,火锅
jmp frieddishkey ;7,炒菜
jmp offkey ;8
jmp deckey ;9
jmp inckey ;10
jmp oneminkey ;11,一分钟
jmp tenminkey ;12,十分钟
;************************************************
frieddishkey:
;----
bset frieddishflag
jmp checkkey90
;************************************************
chaffydishkey:
;----
bset chaffydishflag
jmp checkkey90
;************************************************
barbecuekey:
;----
bset barbecueflag
jmp checkkey90
;************************************************
cookingkey:
;----
bset cookingflag
jmp checkkey90
;************************************************
soupingkey:
;----
bset soupingflag
jmp checkkey90
;************************************************
warmmilkkey:
;----
bset warmmilkflag
jmp checkkey90
;************************************************
boilwaterkey:
;----
bset boilwaterflag
jmp checkkey90
;************************************************
tenminkey:
mov a,timerbuf
and a,#0f0h
sub a,#90h
b0bts0 fc
jmp turnoffnum1
;-----
mov a,#10h
add timerbuf,a
bset refurbishflag
jmp checkkey90
;---------------------
turnoffnum1:
mov a,#0fh
and timerbuf,a
mov_ seg1buf,#0ffh
jmp checkkey90
;************************************************
oneminkey:
;-----
bset refurbishflag
mov a,timerbuf
and a,#0fh
sub a,#9
b0bts0 fc
jmp backzeronum0
;-----
mov a,#1
add timerbuf,a
jmp checkkey90
;-----
backzeronum0:
mov a,#0f0h
and timerbuf,a
jmp checkkey90
;************************************************
inckey:
jmp checkkey90
;************************************************
deckey:
jmp checkkey90
;************************************************
offkey:
jmp checkkey90
;*************************************************
checkkey90:
clr aplcode
;-----
checkkey100:
ret
;**********************************************
;Name :poweronsub
;Function:
;Input :
;Output :
;Register Used:temp0,temp1
;***********************************************
poweronsub:
b0bts1 poweronflag ;=1:刚通电,初始状态
jmp poweronsub90
b0bts0 settimeflag
jmp poweronsub10
;-----------------------
bset settimeflag
bclr t1sflag
mov_ timer1s,#100 ;定时1s
;----
mov_ combuf,#11101111b ;点亮所有的LED
mov a,#00111111b
mov seg1buf,a
mov seg2buf,a
clr seg3buf
clr seg4buf
ret
;------------------------
poweronsub10:
b0bts1 t1sflag
jmp poweronsub90
bclr t1sflag ;数码管显示0,其他LED关
bclr settimeflag
bclr poweronflag
mov a,#0ffh
mov seg3buf,a
mov seg4buf,a
;----
poweronsub90:
ret
;******************************************************
;******************************************************
;******************************************************
delay4us:
jmp $+1 ;2us
ret ;2us,2+2=4us
;-----
delay_10us:
jmp $+1
jmp $+1
jmp $+1
ret
;------
delay100us:
mov_ var3,#100
loop100us00:
decms var3
jmp loop100us00
ret
;--------
delay2ms:
mov_ var3,#2
loop2ms00:
mov_ var4,#0ffh
loop2ms01:
decms var4
jmp loop2ms01
decms var3
jmp loop2ms00
ret
;---------
delay20ms:
mov_ var3,#15
loop20ms00:
mov_ var4,#0ffh
loop20ms01:
decms var4
jmp loop20ms01
decms var3
jmp loop20ms00
ret
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -