📄 456.aqd
字号:
RET
TEXT_TAB:DB 54H,65H,6DH,70H,3AH,52H,65H,76H,3AH
;********************************************************
; 调速模块
;********************************************************
DP: SETB TR0 ;开计数器
MOV A,TEMP_NUM
CLR C
SUBB A,#30
JNC DP1 ;大于30度跳转
MOV R6,#66
DELAY_1: MOV R7,#250
DELAY_2: CLR SWITCH ;小于30度时,关闭风扇
MOV R5,#14
DJNZ R5,$
DJNZ R7,DELAY_2
DJNZ R6,DELAY_1
LJMP DP10 ;跳转到返回
DP1: MOV R3,A
CLR C
SUBB A,#20
JC DP2 ;小于50度跳转
CLR C
SUBB A,#10
JC DP3 ;小于60度跳转
CLR LARUM ;大于60度,发出警报
LJMP DP4
DP3: SETB LARUM ;小于60度,关警报
DP4: MOV R6,#66
DELAY_3: MOV R7,#250
DELAY_4: SETB SWITCH ;大于50度时,风扇全开
MOV R5,#14
DJNZ R5,$
DJNZ R7,DELAY_4
DJNZ R6,DELAY_3
LJMP DP10 ;跳转到返回
DP2: MOV A,R3
RL A
MOV DPTR,#LEVER_TAB
JMP @A+DPTR
LEVER_TAB: AJMP LEVER_01
AJMP LEVER_02
AJMP LEVER_03
AJMP LEVER_04
AJMP LEVER_05
AJMP LEVER_06
AJMP LEVER_07
AJMP LEVER_08
AJMP LEVER_09
AJMP LEVER_10
AJMP LEVER_11
AJMP LEVER_12
AJMP LEVER_13
AJMP LEVER_14
AJMP LEVER_15
AJMP LEVER_16
AJMP LEVER_17
AJMP LEVER_18
AJMP LEVER_19
AJMP LEVER_20
;-------------------第1级调速,温度31度,占空比30%
LEVER_01: MOV R6,#66
DELAY_01: MOV R7,#250
DELAY_02: CLR SWITCH
MOV R5,#09
DJNZ R5,$
SETB SWITCH
MOV R5,#04
DJNZ R5,$
DJNZ R7,DELAY_02
DJNZ R6,DELAY_01
LJMP DP10
;-------------------第2级调速,温度32度,占空比36%
LEVER_02: MOV R6,#66
DELAY_03: MOV R7,#250
DELAY_04: CLR SWITCH
NOP
MOV R5,#08
DJNZ R5,$
SETB SWITCH
NOP
MOV R5,#04
DJNZ R5,$
DJNZ R7,DELAY_04
DJNZ R6,DELAY_03
LJMP DP10
;-------------------第3级调速,温度33度,占空比40%
LEVER_03: MOV R6,#66
DELAY_05: MOV R7,#250
DELAY_06: CLR SWITCH
MOV R5,#08
DJNZ R5,$
SETB SWITCH
MOV R5,#05
DJNZ R5,$
DJNZ R7,DELAY_06
DJNZ R6,DELAY_05
LJMP DP10
;-------------------第4级调速,温度34度,占空比43%
LEVER_04: MOV R6,#66
DELAY_07: MOV R7,#250
DELAY_08: CLR SWITCH
NOP
MOV R5,#07
DJNZ R5,$
SETB SWITCH
NOP
MOV R5,#05
DJNZ R5,$
DJNZ R7,DELAY_08
DJNZ R6,DELAY_07
LJMP DP10
;-------------------第5级调速,温度35度,占空比46%
LEVER_05: MOV R6,#66
DELAY_09: MOV R7,#250
DELAY_10: CLR SWITCH
MOV R5,#07
DJNZ R5,$
SETB SWITCH
MOV R5,#06
DJNZ R5,$
DJNZ R7,DELAY_10
DJNZ R6,DELAY_09
LJMP DP10
;-------------------第6级调速,温度36度,占空比50%
LEVER_06: MOV R6,#66
DELAY_11: MOV R7,#250
DELAY_12: CLR SWITCH
NOP
MOV R5,#06
DJNZ R5,$
SETB SWITCH
NOP
MOV R5,#06
DJNZ R5,$
DJNZ R7,DELAY_12
DJNZ R6,DELAY_11
LJMP DP10
;-------------------第7级调速,温度37度,占空比53%
LEVER_07: MOV R6,#66
DELAY_13: MOV R7,#250
DELAY_14: CLR SWITCH
MOV R5,#06
DJNZ R5,$
SETB SWITCH
MOV R5,#07
DJNZ R5,$
DJNZ R7,DELAY_14
DJNZ R6,DELAY_13
LJMP DP10
;-------------------第8级调速,温度38度,占空比56%
LEVER_08: MOV R6,#66
DELAY_15: MOV R7,#250
DELAY_16: CLR SWITCH
NOP
MOV R5,#05
DJNZ R5,$
SETB SWITCH
NOP
MOV R5,#07
DJNZ R5,$
DJNZ R7,DELAY_16
DJNZ R6,DELAY_15
LJMP DP10
;-------------------第9级调速,温度39度,占空比60%
LEVER_09: MOV R6,#66
DELAY_17: MOV R7,#250
DELAY_18: CLR SWITCH
MOV R5,#05
DJNZ R5,$
SETB SWITCH
MOV R5,#08
DJNZ R5,$
DJNZ R7,DELAY_18
DJNZ R6,DELAY_17
LJMP DP10
;-------------------第10级调速,温度40度,占空比63%
LEVER_10: MOV R6,#66
DELAY_19: MOV R7,#250
DELAY_20: CLR SWITCH
NOP
MOV R5,#04
DJNZ R5,$
SETB SWITCH
NOP
MOV R5,#08
DJNZ R5,$
DJNZ R7,DELAY_20
DJNZ R6,DELAY_19
LJMP DP10
;-------------------第11级调速,温度41度,占空比66%
LEVER_11: MOV R6,#66
DELAY_21: MOV R7,#250
DELAY_22: CLR SWITCH
MOV R5,#04
DJNZ R5,$
SETB SWITCH
MOV R5,#09
DJNZ R5,$
DJNZ R7,DELAY_22
DJNZ R6,DELAY_21
LJMP DP10
;-------------------第12级调速,温度42度,占空比70%
LEVER_12: MOV R6,#66
DELAY_23: MOV R7,#250
DELAY_24: CLR SWITCH
NOP
MOV R5,#03
DJNZ R5,$
SETB SWITCH
NOP
MOV R5,#09
DJNZ R5,$
DJNZ R7,DELAY_24
DJNZ R6,DELAY_23
LJMP DP10
;-------------------第13级调速,温度43度,占空比73%
LEVER_13: MOV R6,#66
DELAY_25: MOV R7,#250
DELAY_26: CLR SWITCH
MOV R5,#03
DJNZ R5,$
SETB SWITCH
MOV R5,#10
DJNZ R5,$
DJNZ R7,DELAY_26
DJNZ R6,DELAY_25
LJMP DP10
;-------------------第14级调速,温度44度,占空比76%
LEVER_14: MOV R6,#66
DELAY_27: MOV R7,#250
DELAY_28: CLR SWITCH
NOP
MOV R5,#02
DJNZ R5,$
SETB SWITCH
NOP
MOV R5,#10
DJNZ R5,$
DJNZ R7,DELAY_28
DJNZ R6,DELAY_27
LJMP DP10
;-------------------第15级调速,温度45度,占空比80%
LEVER_15: MOV R6,#66
DELAY_29: MOV R7,#250
DELAY_30: CLR SWITCH
MOV R5,#02
DJNZ R5,$
SETB SWITCH
MOV R5,#11
DJNZ R5,$
DJNZ R7,DELAY_30
DJNZ R6,DELAY_29
LJMP DP10
;-------------------第16级调速,温度46度,占空比83%
LEVER_16: MOV R6,#66
DELAY_31: MOV R7,#250
DELAY_32: CLR SWITCH
NOP
MOV R5,#1
DJNZ R5,$
SETB SWITCH
NOP
MOV R5,#11
DJNZ R5,$
DJNZ R7,DELAY_32
DJNZ R6,DELAY_31
LJMP DP10
;-------------------第17级调速,温度47度,占空比86%
LEVER_17: MOV R6,#66
DELAY_33: MOV R7,#250
DELAY_34: CLR SWITCH
MOV R5,#1
DJNZ R5,$
SETB SWITCH
MOV R5,#12
DJNZ R5,$
DJNZ R7,DELAY_34
DJNZ R6,DELAY_33
LJMP DP10
;-------------------第18级调速,温度48度,占空比90%
LEVER_18: MOV R6,#66
DELAY_35: MOV R7,#250
DELAY_36: CLR SWITCH
NOP
NOP
SETB SWITCH
NOP
MOV R5,#12
DJNZ R5,$
DJNZ R7,DELAY_36
DJNZ R6,DELAY_35
LJMP DP10
;-------------------第19级调速,温度49度,占空比93%
LEVER_19: MOV R6,#66
DELAY_37: MOV R7,#250
DELAY_38: CLR SWITCH
NOP
SETB SWITCH
MOV R5,#13
DJNZ R5,$
DJNZ R7,DELAY_38
DJNZ R6,DELAY_37
LJMP DP10
;-------------------第20级调速,温度50度,占空比96%
LEVER_20: MOV R6,#66
DELAY_39: MOV R7,#250
DELAY_40: CLR SWITCH
SETB SWITCH
NOP
MOV R5,#13
DJNZ R5,$
DJNZ R7,DELAY_40
DJNZ R6,DELAY_39
LJMP DP10
DP10: CLR TR0
MOV COUNTER,TL0
MOV TL0,#00H
RET
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -