51单片机温度控制程序.doc

上传人:re****.1 文档编号:556270664 上传时间:2022-09-26 格式:DOC 页数:12 大小:43.51KB
返回 下载 相关 举报
51单片机温度控制程序.doc_第1页
第1页 / 共12页
51单片机温度控制程序.doc_第2页
第2页 / 共12页
51单片机温度控制程序.doc_第3页
第3页 / 共12页
51单片机温度控制程序.doc_第4页
第4页 / 共12页
51单片机温度控制程序.doc_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《51单片机温度控制程序.doc》由会员分享,可在线阅读,更多相关《51单片机温度控制程序.doc(12页珍藏版)》请在金锄头文库上搜索。

1、51单片机温度控制程序(续) 功能说明: 本装置的功能是对温度进行实时监测与控制。由温度传感器DS18B20对温度进行采样和转换成数字信号送入单片机,并与设定的报警温度上、下限值进行比较,信息通过LCD显示出来。如实时温度超过设定的上、下限值,一方面由LC功能说明:本装置的功能是对温度进行实时监测与控制。由温度传感器DS18B20对温度进行采样和转换成数字信号送入单片机,并与设定的报警温度上、下限值进行比较,信息通过LCD显示出来。如实时温度超过设定的上、下限值,一方面由LCD显示信息,并发出警报声;另一方面自动控制继电器(Relay)开接通或断开,从而控制加热源的开与断,达到对温度进行实时控

2、制的目的。程序:LCD2402.ASM01 ; 02 ; 温度值存放单元03 TEMP_ZH EQU 24H ;实时温度值存放单元04 TEMPL EQU 25H ;低温度值存放单元05 TEMPH EQU 26H ;高温度值存放单元06 TEMP_TH EQU 27H ;高温报警值存放单元07 TEMP_TL EQU 28H ;低温报警值存放单元08 TEMPHC EQU 29H ;存十位数 BCD码09 TEMPLC EQU 2AH ;存个位数 BCD码10 ;11 按键输入引脚定义 12 K1 EQU P2.113 K2 EQU P2.214 K3 EQU P2.315 K4 EQU P

3、2.416 ;17 SPK EQU P3.4 ;蜂鸣器引脚18 RELAY EQU P2.0 ;继电器引脚19 X EQU 2FH ;LCD 地址变量20 ; 21 ;LCD控制引脚 22 RS EQU P3.523 RW EQU P3.624 E EQU P3.725 ; 26 FLAG EQU 20H.0 ;DS18B20是否存在标记27 KEY_UD EQU 20H.1 ;设定 KEY 的UP与DOWN 标记28 DQ EQU P2.52930 ; 主程序 3132 MAIN: 33 ACALL SET_LCD ;LCD初始化设置子程序34 ACALL WR_THL ;将报警上下线写入暂

4、存寄存器子程序35 TOOP: ACALL RESET_1820 ;调用18B20复位子程序36 JNB FLAG,TOOP1 ;DS1820不存在转移TOOP1处37 ACALL MEU_OK ;调用显示OK信息子程序38 ACALL RE_THL ;把EEROM里温度报警值拷贝回暂存器39 ACALL TEMP_BJ ;显示温度标记40 JMP TOOP241 TOOP1: ACALL MEU_ERROR ;显示ERROR信息42 ACALL TEMP_BJ ;显示温度标记43 JMP $ ;等待44 ;45 TOOP2:46 ACALL RE_TEMP ;调用读取温度数据子程序47 AC

5、ALL SET_DATA ;调用处理显示温度数据子程序48 ACALL TEMP_COMP ;实际温度值与标记温度值比较子程序49 ACALL P_KEY ;调用按键扫描子程序50 SJMP TOOP2 ;循环5152 ; 读取温度数据子程序 53 RE_TEMP:54 ACALL RESET_1820 ;18B20复位子程序 55 JNB FLAG,TOOP1 ;DS1820不存在56 MOV A,#0CCH ;跳过ROM匹配57 ACALL WRITE_1820 ;写入子程序58 MOV A,#44H ;发出温度转换命令59 ACALL WRITE_1820 ;调写入子程序 60 ACAL

6、L RESET_1820 ;调复位子程序 61 MOV A,#0CCH ;跳过ROM匹配62 ACALL WRITE_1820 ;写入子程序63 MOV A,#0BEH ;发出读温度命令64 ACALL WRITE_1820 ;写入子程序 65 ACALL READ_1820 ;调用读取子程序66 RET6768 ; 温度数据处理显示子程序69 SET_DATA:70 ACALL CONV_TEMP ;处理温度 BCD 码子程序71 ACALL DISP_BCD ;显示区 BCD 码温度值刷新子程序72 ACALL CONV ;LCD显示子程序 73 RET7475; 按键键扫描子程序 76

7、P_KEY: ;按键K1处理 77 JB K1, PK1 ;K1键未按,转到PK1处 78 ACALL SPK_BZ ;K1键按下,一声鸣响79 JNB K1,$ ;等按键放开80 MOV DPTR,#M_ALAX1 ;存M_ALAX1表81 MOV A,#182 ACALL LCD_PRINT ;显示字符83 ACALL LOOK_ALARM ;显示信息区子程序84 JB K3, $ ;等待K3按下85 ACALL SPK_BZ ;一声鸣响86 JMP PK2 ;转到标号 PK2处87 PK1: ; 按键K2处理88 JB K2, PK3 ;K2键未按,转到PK3处 89 ACALL SPK

8、_BZ ;K2键按下,一声鸣响 90 JNB K2,$ ;等按键放开91 MOV DPTR, #TA1 ;存#TA1表 92 MOV A,#1 93 ACALL LCD_PRINT ;显示字符 94 ACALL SET_ALARM ;设定报警值 TH、TL 95 ACALL WR_THL ;将设定的TH,TL值写入DS18B20内96 ACALL WRITE_E2 ;调用报警值拷贝EEROM子程序97 PK2:98 ACALL MEU_OK ;显示OK信息子程序99 ACALL TEMP_BJ ;显示温度标记子程序 100 PK3:101 RET102 ;103 TA1: ;菜单表104 DB

9、 RESET ALERT CODE105 ;106107 ; 设定报警值 TH、TL子程序 108 SET_ALARM:109 ACALL LOOK_ALARM ;调用显示信息区子程序110 A0: JB K1,A2 ;按下K1(查看键),程序向下运行111 ACALL SPK_BZ ;蜂鸣器响一声112 JNB K1,$ ;等放开113 CPL 20H.1 ;UP/DOWN 标记反向114 A2: JB 20H.1,A3 ;20H.1=1,UP,转移到A3。115 JMP A8 ;20H.1=0,DOWN,转移到A8116 ;117 ; TH值调整(增加)118 A3: JB K2, A5 ;按下K2(设定键),程序向下运行 119 ACALL SPK_BZ ;蜂鸣器响一声120 INC TEMP_TH ;TH值调整(增加)121 MOV A,TEMP_TH ;TH值送入A122 CJNE A,#120,A4 ;TH值增到120,程序向下运行123

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号