📄 mnapp.asm
字号:
;**********************************************
;Name :mnapp
;Function:
;Input :
;Output :
;Register Used:
;***********************************************
mnapp:
call checkkey
call getinitparameter
call function
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
bset operateflag ;开始工作标志
bset parameterflag
bclr stoprunflag
;----
;初始化参数
clr seg3buf
bset frieddishled ;light led
bset temp160cled ;1200w
mov_ stepbuf,#4 ;level_4
jmp checkkey90
;************************************************
chaffydishkey:
;----
bset chaffydishflag
bclr stoprunflag
jmp checkkey90
;************************************************
barbecuekey:
;----
bset barbecueflag
bclr stoprunflag
jmp checkkey90
;************************************************
cookingkey:
;----
bset cookingflag
bclr stoprunflag
jmp checkkey90
;************************************************
soupingkey:
;----
bset soupingflag
bclr stoprunflag
jmp checkkey90
;************************************************
warmmilkkey:
;----
bset warmmilkflag
bclr stoprunflag
jmp checkkey90
;************************************************
boilwaterkey:
;----
bset boilwaterflag
bclr stoprunflag
jmp checkkey90
;************************************************
tenminkey:
;-----
b0bts1 settimeflag
jmp checkkey90 ;在某些功能下无效
;---
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:
;-----
b0bts1 settimeflag
jmp checkkey90 ;在某些功能下无效
;---
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:
;----
b0bts1 operateflag
jmp checkkey90
mov a,stepbuf ;0~8
sub a,#8
b0bts0 fc
jmp checkkey90
;----
incms stepbuf
nop
jmp checkkey90
;************************************************
deckey:
;----
b0bts1 operateflag
jmp checkkey90
mov a,stepbuf
b0bts0 fz
jmp checkkey90
;----
decms stepbuf
nop
jmp checkkey90
;************************************************
offkey:
;----
bclr operateflag
bset stoprunflag
bclr settimeflag
bclr ptcout ;close IGBT
jmp checkkey90
;*************************************************
checkkey90:
clr aplcode
;-----
checkkey100:
ret
;**********************************************
;Name :getinitparameter
;Function:控制参数获得
;Input :
;Output :
;Register Used:
;**********************************************
getinitparameter:
b0bts1 operateflag
jmp getinitparameter90
b0bts1 parameterflag
jmp getinitparameter90
;-----
bclr parameterflag
;---------------------------------------------
b0mov y,#steptbl1$m
b0mov z,#steptbl1$l
;---
mov a,stepbuf
add z,a
mov a,#0
adc y,a
;---
movc
mov ADCvolbufl,a
mov_ ADCvolbufh,r ;电压参数
;---------------------------------------------
b0mov y,#steptbl2$m
b0mov z,#steptbl2$l
;---
mov a,stepbuf
add z,a
mov a,#0
adc y,a
;---
movc
mov ADCcurbufl,a
mov_ ADCcurbufh,r ;电流参数
;---------------------------------------------
b0mov y,#temptbl$m
b0mov z,#temptbl$l
;---
mov a,stepbuf
add z,a
mov a,#0
adc y,a
;---
movc
mov ADCtempbufl,a
mov_ ADCtempbufh,r ;温度参数
getinitparameter90:
ret
;**********************************************
;Name :function
;Function:各种功能的切换
;Input :
;Output :
;Register Used:
;**********************************************
function:
jb0 operateflag,function90 ;工作状态下,开启功能控制
jb1 frieddishflag,frieddishfun ;炒菜功能
jb1 chaffydishflag,chaffydishfun ;火锅功能
jb1 barbecueflag,barbecuefun ;烧烤功能
jb1 cookingflag,cookingfun ;煮饭功能
jb1 soupingflag,soupingfun ;煲汤功能
jb1 warmmilkflag,warmmilkfun ;热奶功能
jb1 boilwaterflag,boilwaterfun ;煮水功能
;----
function90:
ret
;**********************************************
;Name :frieddishfun
;Function:炒菜功能控制
;Input :
;Output :
;Register Used:
;**********************************************
frieddishfun:
frieddishfun90:
ret
;**********************************************
;Name :chaffydishfun
;Function:火锅功能控制
;Input :
;Output :
;Register Used:
;**********************************************
chaffydishfun:
chaffydishfun90:
ret
;**********************************************
;Name :barbecuefun
;Function:烧烤功能控制
;Input :
;Output :
;Register Used:
;**********************************************
barbecuefun:
barbecuefun90:
ret
;**********************************************
;Name :cookingfun
;Function:煮饭功能控制
;Input :
;Output :
;Register Used:
;**********************************************
cookingfun:
cookingfun90:
ret
;**********************************************
;Name :soupingfun
;Function:煲汤功能控制
;Input :
;Output :
;Register Used:
;**********************************************
soupingfun:
soupingfun90:
ret
;**********************************************
;Name :warmmilkfun
;Function:热奶功能控制
;Input :
;Output :
;Register Used:
;**********************************************
warmmilkfun:
warmmilkfun90:
ret
;**********************************************
;Name :boilwaterfun
;Function:煮水功能控制
;Input :
;Output :
;Register Used:
;**********************************************
boilwaterfun:
boilwaterfun90:
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 + -