51单片机温度报警系统Word文档格式.docx

上传人:b****5 文档编号:15806506 上传时间:2022-11-16 格式:DOCX 页数:29 大小:44.28KB
下载 相关 举报
51单片机温度报警系统Word文档格式.docx_第1页
第1页 / 共29页
51单片机温度报警系统Word文档格式.docx_第2页
第2页 / 共29页
51单片机温度报警系统Word文档格式.docx_第3页
第3页 / 共29页
51单片机温度报警系统Word文档格式.docx_第4页
第4页 / 共29页
51单片机温度报警系统Word文档格式.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

51单片机温度报警系统Word文档格式.docx

《51单片机温度报警系统Word文档格式.docx》由会员分享,可在线阅读,更多相关《51单片机温度报警系统Word文档格式.docx(29页珍藏版)》请在冰豆网上搜索。

51单片机温度报警系统Word文档格式.docx

14K3EQUP2.3

15K4EQUP2.4

16;

17SPKEQUP3.4;

蜂鸣器引脚

18RELAYEQUP2.0;

继电器引脚

19XEQU2FH;

LCD地址变量

20;

―――――――――――――

21;

LCD控制引脚

22RSEQUP3.5

23RWEQUP3.6

24EEQUP3.7

25;

26FLAGEQU20H.0;

DS18B20是否存在标记

27KEY_UDEQU20H.1;

设定KEY的UP与DOWN标记

28DQEQUP2.5

29

30;

=============主程序==============

31

32MAIN:

33ACALLSET_LCD;

LCD初始化设置子程序

34ACALLWR_THL;

将报警上下线写入暂存寄存器子程序

35TOOP:

ACALLRESET_1820;

调用18B20复位子程序

36JNBFLAG,TOOP1;

DS1820不存在转移TOOP1处

37ACALLMEU_OK;

调用显示"

OK"

信息子程序

38ACALLRE_THL;

把EEROM里温度报警值拷贝回暂存器

39ACALLTEMP_BJ;

显示温度标记"

℃"

40JMPTOOP2

41TOOP1:

ACALLMEU_ERROR;

显示"

ERROR"

信息

42ACALLTEMP_BJ;

显示温度标记

43JMP$;

等待

44;

――――――――――――――

45TOOP2:

46ACALLRE_TEMP;

调用读取温度数据子程序

47ACALLSET_DATA;

调用处理显示温度数据子程序

48ACALLTEMP_COMP;

实际温度值与标记温度值比较子程序

49ACALLP_KEY;

调用按键扫描子程序

50SJMPTOOP2;

循环

51

52;

--------――读取温度数据子程序--------――

53RE_TEMP:

54ACALLRESET_1820;

18B20复位子程序

55JNBFLAG,TOOP1;

DS1820不存在

56MOVA,#0CCH;

跳过ROM匹配

57ACALLWRITE_1820;

写入子程序

58MOVA,#44H;

发出温度转换命令

59ACALLWRITE_1820;

调写入子程序

60ACALLRESET_1820;

调复位子程序

61MOVA,#0CCH;

62ACALLWRITE_1820;

63MOVA,#0BEH;

发出读温度命令

64ACALLWRITE_1820;

写入子程序

65ACALLREAD_1820;

调用读取子程序

66RET

67

68;

--------温度数据处理显示子程序----------

69SET_DATA:

70ACALLCONV_TEMP;

处理温度BCD码子程序

71ACALLDISP_BCD;

显示区BCD码温度值刷新子程序

72ACALLCONV;

LCD显示子程序

73RET

74

75;

-----------按键键扫描子程序----------

76P_KEY:

;

按键K1处理

77JBK1,PK1;

K1键未按,转到PK1处

78ACALLSPK_BZ;

K1键按下,一声鸣响

79JNBK1,$;

等按键放开

80MOVDPTR,#M_ALAX1;

存M_ALAX1表

81MOVA,#1

82ACALLLCD_PRINT;

显示字符

83ACALLLOOK_ALARM;

显示信息区子程序

84JBK3,$;

等待K3按下

85ACALLSPK_BZ;

一声鸣响

86JMPPK2;

转到标号PK2处

87PK1:

按键K2处理

88JBK2,PK3;

K2键未按,转到PK3处

89ACALLSPK_BZ;

K2键按下,一声鸣响

90JNBK2,$;

等按键放开

91MOVDPTR,#TA1;

存#TA1表

92MOVA,#1

93ACALLLCD_PRINT;

显示字符

94ACALLSET_ALARM;

设定报警值TH、TL

95ACALLWR_THL;

将设定的TH,TL值写入DS18B20内

96ACALLWRITE_E2;

调用报警值拷贝EEROM子程序

97PK2:

98ACALLMEU_OK;

99ACALLTEMP_BJ;

显示温度标记子程序

100PK3:

101RET

102;

103TA1:

菜单表

104DB"

RESETALERTCODE"

105;

106

107;

---------设定报警值TH、TL子程序--------

108SET_ALARM:

109ACALLLOOK_ALARM;

调用显示信息区子程序

110A0:

JBK1,A2;

按下K1(查看键),程序向下运行

111ACALLSPK_BZ;

蜂鸣器响一声

112JNBK1,$;

等放开

113CPL20H.1;

UP/DOWN标记反向

114A2:

JB20H.1,A3;

20H.1=1,UP,转移到A3。

115JMPA8;

20H.1=0,DOWN,转移到A8

116;

117;

TH值调整(增加)

118A3:

JBK2,A5;

按下K2(设定键),程序向下运行

119ACALLSPK_BZ;

120INCTEMP_TH;

TH值调整(增加)

121MOVA,TEMP_TH;

TH值送入A

122CJNEA,#120,A4;

TH值增到120,程序向下运行

123MOVTEMP_TH,#0;

TH值清0

124A4:

ACALLLOOK_ALARM;

125MOVR5,#10

126ACALLDELAY;

调用延时程序

127JMPA3;

128;

129;

TL值调整(增加)

130A5:

JBK3,A7;

按下K3(TL值设定键)程序向下运行

131ACALLSPK_BZ;

132INCTEMP_TL;

TL值增加1

133MOVA,TEMP_TL;

TL值送入A

134CJNEA,#99,A6;

比较,若A=99,程序向下运行

135MOVTEMP_TL,#00H;

TL值清0

136A6:

137MOVR5,#10

138ACALLDELAY;

139JMPA5;

程序转移到A5,循环

140;

141;

确定调整OK

142A7:

JBK4,A0;

按下K4(调整确定键),程序向下运行

143ACALLSPK_BZ;

144JNBK4,$;

145RET;

程序返回

146;

147;

TH值调整(减少)

148A8:

JBK2,A10;

149ACALLSPK_BZ;

150DECTEMP_TH;

TH值减1

151MOVA,TEMP_TH;

152CJNEA,#0FFH,A9;

比较,若A=0FF,程序向下运行

153JMPA12;

转移到A12

154A9:

155MOVR5,#10

156ACALLDELAY;

调用延时子程序

157JMPA0;

158;

159;

TL值调整(减少)

160A10:

JBK3,A13;

按K3(TL值设定键),程序向下运行

161ACALLSPK_BZ;

162DECTEMP_TL;

TL值减1

163MOVA,TEMP_TL;

164CJNEA,#0FFH,A11;

165JMPA12;

166A11:

167MOVR5,#10

168ACALLDELAY;

169JMPA0;

转移到A0

170A12:

CPL20H.1;

171JMPA3;

转移到A3,TH值调整(增加)

172A13:

JMPA7;

转移到A7,确定调整OK

173RET;

子程序返回

174

175;

----------显示信息区子程序-----------

176LOOK_ALARM:

177MOVDPTR,#M_ALAX2;

存表

178MOVA,#2;

显示在第二行

179ACALLLCD_PRINT;

调用显示字符子程序

180MOVA,#0C6H;

显示起始地址为第二行第7位

181ACALLTEMP_BJ1;

调用显示温度标记子程序

182MOVA,TEMP_TH;

加载TH数据

183MOVX,#3;

设置位置

184ACALLSHOW_LINE2H;

显示数据

185;

186MOVA,#0CEH;

设定显示起始地址为第二行第15位

187ACALLTEMP_BJ1;

188MOVA,TEMP_TL;

加载TL数据

189MOVX,#12;

190ACALLSHOW_L

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 调查报告

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1