📄 cooker.dt
字号:
call key_delay
jz key_cnt1
ret
bs key_flag,meo_release_fg ;meo key release flag
bs key_flag,meo_key_ok_fg ;meo key ok flag
ret
key_001:
bc key_flag,meo_release_fg ;meo key release flag
bc key_flag,meo_key_ok_fg ;meo key1 ok flag
clr key_cnt1 ;reset check power key count
ret
;***************************************************************************************
;input :power_key_ok_fg, meo_ok_fg
;
;output :main_mode
;***************************************************************************************
key_control:
wdtc
jbc key_flag,power_key_ok_fg ;check power key ok flag
jmp power_key_control
jbc key_flag,meo_key_ok_fg
jmp meo_key_control
ret
power_key_control:
bc key_flag,power_key_ok_fg ;clr key ok flag
mov a,@0x01
xor mode_flag0,a ;cpl on/off mode flag
mov a,@meo1_value ;reset system meo value to meo1
mov main_mode,a
call control_sp ;open bz
call control_sp
mov a,@0x20
mov auto_time0,a
mov a,@0x1d
mov auto_time1,a
ret
meo_key_control:
bc key_flag,meo_key_ok_fg ;clr meo key ok flag
jbc mode_flag0,power_fg ;main on/off flag
ret
call control_sp ;open bz
call control_sp
mov a,@0x20
mov auto_time0,a
mov a,@0x1d
mov auto_time1,a
inc main_mode ;increase meo mode point to next meo
mov a,main_mode
sub a,@meo_top_value
jbs psw,fz ;Z flag
jmp meo_key_control_0
mov a,@meo1_value
mov main_mode,a ;reset system meo value to meo1
ret
meo_key_control_0:
mov a,main_mode ;check system mode
sub a,@meo2_value
jbc psw,fz
jmp meo2_key_control
mov a,main_mode
sub a,@meo3_value
jbc psw,fz
jmp meo3_key_control
mov a,main_mode
sub a,@meo4_value
jbc psw,fz
jmp meo4_key_control
mov a,main_mode
sub a,@meo5_value
jbc psw,fz
jmp meo5_key_control
ret
meo2_key_control:
bc p6,heat_pin ;start off heat
bc mode_flag0,duty_fg ;duty on/off flag
mov a,@time_10s_value
mov duty_cnt,a
ret
meo3_key_control:
bc p6,heat_pin
bc mode_flag0,duty_fg ;duty on/off flag
mov a,@time_20s_value
mov duty_cnt,a
ret
meo4_key_control:
bc p6,heat_pin
bc mode_flag0,duty_fg ;duty on/off flag
mov a,@time_20s_value
mov duty_cnt,a
ret
meo5_key_control:
bc p6,heat_pin
bc mode_flag0,duty_fg ;duty on/off flag
mov a,@time_20s_value
mov duty_cnt,a
ret
;*****************************************************************************************
;input : power_fg, main_mode, duty_fg
;modify : duty_cnt
;output : heat_pin
;*****************************************************************************************
heat_control:
wdtc
jbc mode_flag0,power_fg
jmp power_off_ctr
mov a,main_mode ;check system mode
sub a,@meo1_value
jbc psw,fz
jmp heat_meo1_ctr
mov a,main_mode
sub a,@meo2_value
jbc psw,fz
jmp heat_meo2_ctr
mov a,main_mode
sub a,@meo3_value
jbc psw,fz
jmp heat_meo3_ctr
mov a,main_mode
sub a,@meo4_value
jbc psw,fz
jmp heat_meo4_ctr
mov a,main_mode
sub a,@meo5_value
jbc psw,fz
jmp heat_meo5_ctr
ret
power_off_ctr:
bc p6,heat_pin ;off heat power
ret
heat_meo1_ctr:
bs p6,heat_pin ;on heat power
ret
heat_meo2_ctr:
jbs mode_flag0,duty_fg ;duty on/off flag
jmp heat_meo2_ctr_0
jbs timer,time_1s_fg ;timer 1s flag
ret
bc timer,time_1s_fg
djz duty_cnt
ret
bc p6,heat_pin ;on/off control pin
mov a,@time_20s_value ;off time cnt
mov duty_cnt,a
bc mode_flag0,duty_fg
ret
heat_meo2_ctr_0:
jbs timer,time_1s_fg ;timer 1s flag
ret
bc timer,time_1s_fg
djz duty_cnt
ret
bs p6,heat_pin ;on/off control pin
mov a,@time_30s_value ;on time cnt
mov duty_cnt,a
bs mode_flag0,duty_fg
ret
heat_meo3_ctr:
jbs mode_flag0,duty_fg ;duty on/off flag
jmp heat_meo3_ctr_0
jbs timer,time_1s_fg ;timer 1s flag
ret
bc timer,time_1s_fg
djz duty_cnt
ret
bc p6,heat_pin ;on/off control pin
mov a,@time_30s_value ;off time cnt
mov duty_cnt,a
bc mode_flag0,duty_fg
ret
heat_meo3_ctr_0:
jbs timer,time_1s_fg ;timer 1s flag
ret
bc timer,time_1s_fg
djz duty_cnt
ret
bs p6,heat_pin ;on/off control pin
mov a,@time_20s_value ;on time cnt
mov duty_cnt,a
bs mode_flag0,duty_fg
ret
heat_meo4_ctr:
jbs mode_flag0,duty_fg ;duty on/off flag
jmp heat_meo4_ctr_0
jbs timer,time_1s_fg ;timer 1s flag
ret
bc timer,time_1s_fg
djz duty_cnt
ret
bc p6,heat_pin ;on/off control pin
mov a,@time_35s_value
mov duty_cnt,a
bc mode_flag0,duty_fg
ret
heat_meo4_ctr_0:
jbs timer,time_1s_fg ;timer 1s flag
ret
bc timer,time_1s_fg
djz duty_cnt
ret
bs p6,heat_pin ;on/off control pin
mov a,@time_15s_value
mov duty_cnt,a
bs mode_flag0,duty_fg
ret
heat_meo5_ctr:
jbs mode_flag0,duty_fg ;duty on/off flag
jmp heat_meo5_ctr_0
jbs timer,time_1s_fg ;timer 1s flag
ret
bc timer,time_1s_fg
djz duty_cnt
ret
bc p6,heat_pin ;on/off control pin
mov a,@time_40s_value
mov duty_cnt,a
bc mode_flag0,duty_fg
ret
heat_meo5_ctr_0:
jbs timer,time_1s_fg ;timer 1s flag
ret
bc timer,time_1s_fg
djz duty_cnt
ret
bs p6,heat_pin ;on/off control pin
mov a,@time_10s_value
mov duty_cnt,a
bs mode_flag0,duty_fg
ret
;*****************************************************************************************
;input : main_mode
;
;output : led_dis pin
;*****************************************************************************************
led_display:
wdtc
jbc mode_flag0,power_fg
jmp power_off_dis
mov a,main_mode ;check system mode
sub a,@meo1_value
jbc psw,fz
jmp heat_meo1_dis
mov a,main_mode
sub a,@meo2_value
jbc psw,fz
jmp heat_meo2_dis
mov a,main_mode
sub a,@meo3_value
jbc psw,fz
jmp heat_meo3_dis
mov a,main_mode
sub a,@meo4_value
jbc psw,fz
jmp heat_meo4_dis
mov a,main_mode
sub a,@meo5_value
jbc psw,fz
jmp heat_meo5_dis
ret
power_off_dis:
bc p5,meo1_led ;off all led dis
bc p5,meo2_led
bc p5,meo3_led
bc p5,meo4_led
bc p6,meo5_led
ret
heat_meo1_dis:
bs p5,meo1_led ;on meo1 led
bc p5,meo2_led
bc p5,meo3_led
bc p5,meo4_led
bc p6,meo5_led
ret
heat_meo2_dis:
bc p5,meo1_led ;on meo2 led
bs p5,meo2_led
bc p5,meo3_led
bc p5,meo4_led
bc p6,meo5_led
ret
heat_meo3_dis:
bc p5,meo1_led ;on meo3 led
bc p5,meo2_led
bs p5,meo3_led
bc p5,meo4_led
bc p6,meo5_led
ret
heat_meo4_dis:
bc p5,meo1_led ;on meo4 led
bc p5,meo2_led
bc p5,meo3_led
bs p5,meo4_led
bc p6,meo5_led
ret
heat_meo5_dis:
bc p5,meo1_led ;on meo5 led
bc p5,meo2_led
bc p5,meo3_led
bc p5,meo4_led
bs p6,meo5_led
ret
;*****************************************************************************************
;
;*****************************************************************************************
key_delay:
mov a,@0x50
mov del,a
djz del
jmp $-1
ret
;*****************************************************************************************
;
;*****************************************************************************************
control_sp:
clr temp0
control_sp_lp:
mov a,@0x40
xor p6,a ;cpl bz pin
call delay_50us
call delay_50us
call delay_10us
call delay_10us
call delay_10us
djz temp0
jmp control_sp_lp
bc p6,6
ret
;******************************************************************************************
;
;******************************************************************************************
delay_10us: ;10us delay
mov a,@2
mov del,a
delay_10us0:
djz del
jmp delay_10us0
ret
;**************************
delay_50us: ;50us delay
mov a,@14
mov del,a
delay_50us0:
djz del
jmp delay_50us0
ret
;*****************************************************************************************
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -