V2 EQU P1.4 V3 EQU P1.5 SET_KEY EQU P1.5 V3 EQU P1.5 V3 EQU P1.5 SET_KEY EQU P1.5 ADD_KEY EQU P1.6 SUB_KEY EQU P1.7 L1 EQU P0.6 L2 EQU P0.7 L3 EQU P2.5 L4 EQU P2.6 MAIN:CLR A START:LCALL INIT1
LCALL KEY
LCALL GETWD
MOV 62H , R0 INC DATA LCALL GETWD
MOV 63H , R0 DEC DATA MOV R3 , 62H
LCALL DISP MOV A , 60H CLR C
HIGH:CJNE A , 62H , HIGH1 ; 7 AJMP HIGH2
HIGH1:JC HIGH3 HIGH2:SETB V1
LCALL OPEN AJMP LOW
21
28 ; 初始化 ; 键盘扫描 ; 获得冷藏室温度
; 获得冷冻室温度
; 显示两室温度值
冷藏室温度等于高于设定值时; 开启压缩机
MOV R4 , 63H
HIGH3:MOV A , 61H
CLR C
CJNE A , 63H , HIGH4 ; 冷冻室温度等于高于设定值时
AJMP HIGH5
HIGH4:JC LOW HIGH5:SETB V2
LCALL OPEN LOW: MOV A , 61H
CLR C
CJNE A , 63H , LOW1 ; AJMP LOW2
LOW1:JNC LOW3 LOW2:CLR V2
LCALL CLOSE AJMP LS
LOW3:MOV A , 60H
CLR C
CJNE A , 62H , LOW4 ; AJMP LOW5
LOW4:JNC LS LOW5:CLR V1
LCALL CLOSE
LS:MOV R1 , #10H
LS1:LCALL DLY_100MS
DJNZ R1 , LS1 INC 65H
MOV A , 65H
8 CJNE A , #00H , LS2 INC 66H
LS2: MOV A , 65H
CJNE A , #08H , LOOP MOV A , 66H
22
28 ; 开启压缩机
冷冻室温度等于低于最低值时 ; 关闭压缩机
冷冻室温度等于低于最低值时 ; 关闭压缩机 ; 延时1S
; 化霜时间计数加1
CJNE A , #07H , LOOP JB V1 , LOOP ; 化霜定时时间到且V1,V2均关闭
JB V2 , LOOP SETB V3
MOV R0 , #50
LS3 :LCALL DLY_100MS
DJNZ R0 , LS3
LOOP:AJMP START
END
初始化子程序
9 INTI1:CLR A MOV DPTR , #20H
MOVC A , @DPTR LCALL DLY_100MS
MOV 60H , A INC DPTR
MOVC A , @DPTR LCALL DLY_100MS MOV 61H , A
SETB EX0 SETB IT0 SETB EA
RET
键盘扫描子程序
KEY:CLR A ; 打开V3开始化霜
; 化霜时间5 S
; 读取冷藏室温度设定值
; 延时确保数据读完
; 读取冷藏室温度设定值 ; 延时确保数据读完 ; 清空各状态位 ; 允许外部中断0中断 ; 选择边沿触发方式 ; CPU开中断
10
;键盘扫描子程序
23
28
MOV 64H , #00H
MOV R0 , #00H
START:MOV R4 , #1EH
; 边延时边扫描3S
LOOP:LCALL DLY_100MS JNB SETB_KEY , SET JNB ADD-KEY , ADD JNB SUB_KEY , SUB DJNZ R4 , LOOP AJMP EXIT
; 3SSET:CJNE R0 , #03H , SET1 ; CLR L1 CLR L2
AJMP EXIT SET1:INC R0
CJNE R0 , #01H , SET2 ; SETB L1 AJMP START SET2:CLR L1
SETB L2 AJMP START
ADD:CJNE R0 , #01H , ADD1
MOV A , 60H JB ACC.7 , ADD_1 INC A
AJMP DSP ADD_1:CLR ACC.7
DEC A SETB ACC.7 MOV 60H , A AJMP DSP
ADD1:CJNE R0 , #02H , START 11 MOV A , 61H
24
28 内没有键按下结束扫描
设置键按下三次,设置完成设置键按下一次
设置键按下二次 加键按下
冷藏室温度为正时加1
冷藏室温度为负时加1
冷冻室温度为正时加1
; ; MOV 60H , A
; ; ;
JB ACC.7 , ADD1_1 INC A MOV 61H , A AJMP DSP
ADD1_1:CLR ACC.7
; 冷冻室温度为负时加1
DEC A SETB ACC.7 MOV 61H , A
AJMP DSP ; SUB:CJNE R0 , #01H , SUB1 MOV A , 60H JB ACC.7 , SUN_1 DEC A MOV 60H , A AJMP DSP SUB_1:CLR ACC.7
INC A SETB ACC.7 MOV 60H , A AJMP DSP
SUB1:CJNE R0 , #02H , START CLR ACC.7
JB ACC.7 , SUB1_1
MOV 61H , A AJMP DSP
SUB1_1:CLR ACC.7
INC A SETB ACC.7 MOV 61H , A AJMP DSP
12
DSP:MOV DPTR , #20H ; 25
28 减键按下 冷藏室温度为正时减1
冷藏室温度为负时减1 冷冻室温度为正时减1
冷冻室温度为负时减1
将设定值存放在闪烁存储器上 DEC A
; ; ; ;
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库直冷式电冰箱(5)在线全文阅读。
相关推荐: