⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cooker.dt

📁 这是一个发热体的控制! 这是一个发热体的控制! 这是一个发热体的控制!
💻 DT
📖 第 1 页 / 共 2 页
字号:
			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 + -