77范文网 - 专业文章范例文档资料分享平台

基于单片机的锅炉温度控制系统的设计(10)

来源:网络收集 时间:2019-08-03 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

辽宁科技大学本科生毕业设计 第42页

DB \ \

;==================================================== RESET1:

;18B20复位子程序,检测18B20是否存在

SETB DATE_LINE1

NOP

CLR DATE_LINE1

MOV R0,#6BH ;主机发出延时复位低脉冲 MOV R1,#04H TSR11: DJNZ R0,$ MOV R0,#6BH DJNZ R1,TSR11

SETB DATE_LINE1 ;然后拉高数据线 NOP NOP NOP

MOV R0,#32H

TSR21: JNB DATE_LINE1,TSR31 ;等待DS18B20回应 DJNZ R0,TSR21

JMP TSR41 ; 延时

TSR31: SETB FLAG1 ; 置标志位,表示DS1820存在 JMP TSR51

TSR41: CLR FLAG1 ; 清标志位,表示DS1820不存在 JMP TSR71 TSR51: MOV R0,#06BH

TSR61: DJNZ R0,$ ; 时序要求延时一段时间 TSR71: SETB DATE_LINE1 RET

;======================================================= RE_18B20_1:

;检测通道1的DS18B20是否存在,并设置12位精确度

JB FLAG1,RE_18B20A1 RET RE_18B20A1:

辽宁科技大学本科生毕业设计 第43页

CALL RESET1 ;检测DS18B20是否存在 MOV A,#0CCH ;跳过ROM匹配

LCALL WRITE1 ;调用传感器1写数据或命令子程序,下同 MOV A,#7FH ;12位精确度 LCALL WRITE1 RET

;-------------------------------------------------------------- ;将自定义字符写入LCD1602的CGRAM中 ;-------------------------------------------------------------- STORE_DATA:

MOV A,#40H CALL WCOM MOV R2,#08H MOV DPTR,#D_DATA MOV R3,#00H S_DATA:

MOV A,R3

MOVC A,@A+DPTR

CALL WDATA ;写入数据 INC R3

DJNZ R2,S_DATA RET

D_DATA:

DB 0CH,12H,12H,0CH,00H,00H,00H,00H

;============================================================== WRITE1:

;传感器1写数据或命令子程序

MOV R2,#8 ;一共8位数据

CLR C WR1:

CLR DATE_LINE1 ;开始写入DS18B20总线要处于复位(低)状态 MOV R3,#07

辽宁科技大学本科生毕业设计 第44页

DJNZ R3,$ ;总线复位保持16微妙以上

RRC A ;把一个字节DATA 分成8个BIT环移给C MOV DATE_LINE1,C ;写入一个BIT MOV R3,#3CH

DJNZ R3,$ ;等待100微妙 SETB DATE_LINE1 ;重新释放总线 NOP

DJNZ R2,WR1 ;写入下一个BIT SETB DATE_LINE1 RET

;============================================================== READ1:

;读取传感器1的温度子程序

MOV R4,#2 ; 将温度低位、高位从DS18B20中读出存入TEMPH、

TEMPL

MOV R1,#TEMPL RE00: MOV R2,#8 RE01: CLR CY

SETB DATE_LINE1 NOP NOP

CLR DATE_LINE1 ;读前总线保持为低 NOP NOP NOP

SETB DATE_LINE1 ;开始读总线释放 MOV R3,#09 ;延时18微妙 DJNZ R3,$

MOV C,DATE_LINE1 ;从DS18B20总线读得一个BIT MOV R3,#3CH

DJNZ R3,$ ;等待100微妙

RRC A ;把读得的位值环移给A

辽宁科技大学本科生毕业设计 第45页

DJNZ R2,RE01 ;读下一个BIT MOV @R1,A INC R1 DJNZ R4,RE00 RET

;******************按键检测程序****************************

KEY: JB K1,L1 ;判断K1是被否按下,否则转移L1

MOV R5,#1 LCALL DELAY JB K1,L1

;确认是否按下

JNB K1,$ ;等待键释放

SETB 20H.0 ;值增加置位 AJMP L2

L1: JB K2,L2 ; 判断K2是被否按下,否则转移L2

MOV R5,#1 LCALL DELAY JB K2,L2

;确认是否按下

JNB K2,$ ;等待键释放

SETB 20H.1 ;值减少置位

L2: JB K3,L3 ; 判断K2是被否按下,否则转移L3

MOV R5,#1 LCALL DELAY JB K3,L3

;确认是否按下

JNB K3,$ ;等待键释放

SETB 20H.2 ;值确定置位 L3:

RET

;***************************************************** ; 处理温度 BCD 码子程序

;**************************************************** CONVTEMP: MOV A,TEMPH ;判温度是否零下

辽宁科技大学本科生毕业设计 第46页

ANL A,#80H

JZ TEMPC1 ;温度零上转 CLR C

MOV A,TEMPL ;二进制数求补(双字节) CPL A ;取反加1 ADD A,#01H

TEMPC1: TEMPC11:

MOV TEMPL,A MOV A,TEMPH CPL A ADDC A,#00H MOV TEMPH,A SJMP TEMPC11 MOV TEMPHC,#0AH MOV A,TEMPHC SWAP A MOV TEMPHC,A MOV A,TEMPL

ANL A,#0FH ;乘0.0625 MOV DPTR,#TEMPDOTTAB MOVC A,@A+DPTR

MOV TEMPLC,A ;TEMPLC LOW=小数部分 BCD MOV A,TEMPL ;整数部分 ANL A,#0F0H ;取出高四位 SWAP A MOV TEMPL,A

MOV A,TEMPH ;取出低四位 ANL A,#0FH SWAP A

ORL A,TEMPL ;重新组合 MOV TEMP_ZH,A

;实时温度存放单元

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库基于单片机的锅炉温度控制系统的设计(10)在线全文阅读。

基于单片机的锅炉温度控制系统的设计(10).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/jiaoyu/676084.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: