MOV A,#88H ;使显示出来的值不闪烁
LCALL STFS
MOV A,#0FFH
LCALL STFS
SETB P1.0
LCALL DELAY ;调用显示子程序
POP ACC
RET
CMP:
PUSH ACC ;保护现场
PUSH PSW
MOV PSW,#08
MOV ZHI,A
LCALL DISPL
JB 01H,G_XD ;置加热标志为1
JB 02H,G_BW ;置保温标志为1
JB 03H,G_TZ ;置停止标志为1
LJMP LP2
G_XD:SETB P1.5 ;加热灯亮,保温灯灭
MOV A,WD
CJNE A,#125,XD1
XD1:
JNC XD2
CLR JR ;小于125加热灯亮
LJMP LP2
XD2:
SETB JR ;超过125加热灯灭
SETB P1.5 ;保温灯灭
LJMP LP2
G_BW:
MOV A,WD
CJNE A,#50,BW1
BW1:
JNC BW2
CLR P1.5 ;小于50保温灯亮
CLR JR ;小于50加热灯亮
LJMP LP2
BW2:
CJNE A,#70,BW3
BW3:
JC BW4
SETB JR ;超过70加热灯灭
BW4:CLR P1.5 ;在50~70之间保温灯亮
LJMP LP2
G_TZ:
SETB JR ;在按了停止键的情况下加热灯灭
SETB P1.5 ;保温灯灭
LJMP LP2
LP2:
POP PSW
POP ACC
RETI
;延时子程序
DELAY:
MOV R7,#05FH
DE:MOV R6,#0AFH
DJNZ R6,$
DJNZ R7,DE
RET
END
附录二 系统总电路图
附录三 元件清单
编号 元件名称 元件型号 数量
1 驱动芯片 7407 1个
2 模数转换器 ADC0804 1个
3 最小系统板 AT89C52 1块
4 电解电容 22uf 2个
5 电解电容 1uf 1个
6 瓷片电容 0.1uf 4个
7 电位器 200Ω 3个
8 电阻 100K 1个
9 电阻 10K 4个
10 电阻 5.6K 2个
11 电阻 1K 2个
12 电阻 100Ω 2个
13 电阻 51Ω 2个
14 发光二极管 红色和黄色 2个
15 万用板 1块
16 放大芯片 IC7650 1个
17 插座 20脚 1个
18 插座 14脚 2个
19 插座 8脚 1个
附录四 设计运行图
图1 按停止键后,系统停止工作 图2 按下保温键,温度在70度以下两灯均点亮
图3 按保温键,温度达到70度时加热灯灭 图4 按加热键,温度达到125度停止加热