- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
小明汇编语言版字温度控制源程序
数字温度控制源程序
TEMP_ZH EQU 24H ;实测温度存放单元
TEMPL EQU 25H
TEMPH EQU 26H
TEMP_TH EQU 27H ;高温报警值存放单元
TEMP_TL EQU 28H ;低温报警值存放单元
TEMPHC EQU 29H ;正负温度值标记
TEMPLC EQU 2AH
TAMPFC EQU 2BH
K1 EQU P1.4 ;查询按键
K2 EQU P1.5 ;设置/调整按键
K3 EQU P1.6 ;调整键
K4 EQU P1.7 ;确定键
BEEP EQU P3.7 ;蜂鸣器
RELAY EQU P1.3 ;指示灯
LCD_X EQU 2FH ;LCD字符显示位置
LCD_RS EQU P2.0 ;LCD寄存器选择信号
LCD_RW EQU P2.1 ;LCD读写信号
LCD_EN EQU P2.3 ;LCD允许信号
FLAG1 EQU 20H.1 ;DS18B20是否存在标志
KEY_UD EQU 20H.1 ;设定按键的增减标志
DQ EQU P3.3 ;DS18B20数据信号
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN: MOV SP,#60H ;堆栈指针
MOV A,#00H
MOV R0,#20H ;将20H—2FH单元清零
MOV R1,#10H
CLEAR: MOV @R0,A
INC R0
DJNZ R1,CLEAR
LCALL SET_LCD
LCALL RE_18B20
START: LCALL RST
JNB FLAG1,START1 ;DS18B20不存在
LCALL MENU_OK ;DS18B20存在
MOV TEMP_TH,#055H ;设置TH初值为85°C
MOV, TEMP_TL ,#019H ;设置TL初值为25°C
LCALL RE_18B20A ;调用暂存器操作子程序
LCALL WRITE_E2 ;写入DS18B20
LCALL TEMP_BJ ;显示温度标记
JMP START2
START1: LCALL MENU_ERROR ;调用显示出错子程序
LCALL TEMP_BJ ;显示温度标记
SJMP $
START2: LCALL RST ;调用DS18B20复位子程序
JNB FLAG1 START1 ; DS18B20不存在
MOV A,#0CCH ;跳过ROM匹配命令
LCALL WRITE
MOV A,#44H ;温度转换命令
LCALL WRITE
LCALL RST
MOV A,#0CCH ;跳过ROM匹配命令
LCALL WRITE
MOV A,#0BEH ;读温度命令
LCALL WRITE
LCALL READ ;调用DS18B20数据读取操作子程序
LCALL CONVTEMP ;调用温度数据BCD码处理子程序
LCALL DISPBCD ;调用温度处理显示子程序
LCALL CONV ;调用LCD显示处理子程序
LCALL TEMP_COMP ;调用实测温度值与温度值比较子程序
LCALL PROC_KEY ;调用键扫描子程序
SJMP START2
;****************键扫描子程序***********************
PROC_KEY:
JB K1, PROC_K1
LCALL BEEP_BL
JNB K1,$
MOV DPTR ,#M_ALAX1
MOV A ,#1
LCALL LCD_PRINT
LCALL LOOK_ALARM
JB K3 ,$
LCALL BEEP_BL
JMP PROC_K2
PROC_K1:
JB K2, PROC_END
LCALL BEEP_BL
JNB K2,$
MOV DPTR ,#RST_A1
MOV A ,#1
LCALL LCD_PRINT
LCALLSET_ALARM
LCALL BE_18B20 ;将设定的TH、TL值写入DS18B20
LCALL WRITE_E2
PROC_K2:
LCALL MENU_OK
LCALL TEMP_BJ
PROC_END: RET
;****************设定温度的报警值TH、TL******
文档评论(0)