内容发布更新时间 : 2024/11/17 20:48:43星期一 下面是文章的全部内容请认真阅读。
开始 DS18B20的初始化 跳过读序列号的操作 启动温度转换 DS18B20的初始化 跳过读序列号的操作 读取温度寄存器 LOW-低八位 HIGH-高八位 RET 图5-3 DS18B20读取温度的流程图
5.2.2 DS18b20的温度数据处理
读出温度数据后,LOW的低四位为温度的小数部分,可以精确到0.0625℃
[9]
,LOW的高四位和HIGH的低四位为温度的整数部分,HIGH的高四位全部
为1表示负数,全为0表示正数。所以先将数据提取出来,分为三个部分:小数部分、整数部分和符号部分。小数部分进行四舍五入处理:大于0.5℃的话,向个位进1;小于0.5℃的时候,舍去不要。当数据是个负数的时候,显示之前要进行数据转换,将其整数部分取反加一。还因为DS18B20最低温度只能为-55℃,所以可以将整数部分的最高位换成一个“-”,表示为负数。图5-4为温度数据处理程序的流程图。
开始 提取整数部分存入HT 提取小数部分存入LT LT右移三位,将精度降低到0.5摄氏度 将小数部分整数化 LT是否大于5 N HT++ Y N 是否为负数 Y 负数标志flag=1 提取符号部分存RET
图5-4 温度数据处理流程图
5.3 1602显示部分
1602的读写时序图如5-6:
图5-6 1602液晶的读时序图
图5-7 1602的写时序图
根据以上时序图可以得出读写程序流程图如 图5-8 :
开始 开始 选择写数据写命令RS=1||RS=0 选择写数据写命令RS=1||RS=0 选择写操作RW=1 选择读操作RW=0 使能EN 使能EN 准备好写入的数据DB0~DB7 禁止EN 结束 禁止EN 结束 1602的写流程图
图5-8 1602的读写流程图
1602的读流程图
5.4数据测试
用手触摸温度传感器,可以发现温度大概显示为37.2℃。将温度传感器与冰水混合物接
触,显示读数为0.01℃,;把温度传感器放入沸水中,显示器显示100℃,读数精度为0.1℃。对设计的温度计进行测试后,其结果表明能达到预设的要求。
总结
本文重点介绍了单片机和数字传感器DS18B20的原理和功能,并用DS18B20与STC89C52单片机、LCD1602组成数字温度计,有超温报警功能。该系统具有更高速、更灵敏、更简捷地获取被分析、检测、控制对象的温度信息的能力,同时具有良好的抗干扰及环境适应能力(测温范围-55 ℃~+ 125 ℃)。因其体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域,且系统结构较为简单,可大规模的采用,成本低廉。
通过这次毕业设计使我学习到了很多的东西,不仅加深了对专业知识的理解,而且更好地把理论知识与实践相结合,提高了自身的动手能力和实践水平,增强了学习单片机系统开发与设计的兴趣。
由于本人的知识有限,在本设计中不可避免存在一些不足之处,我会在后的学习生活中不断加以完善。
参 考 文 献
郭天祥. 51单片机c语言教程[M]. 北京:电子工业出版社, 2009.
[2] 戴永成等.基于DS18B20的数字温度测量仪[J]. 北华航天工业学院学报,2008 [3] 于永.51单片机C语言常用模块与综合系统设计实例精讲[M]. 北京:电子工业出版社,2008何立明.
[4] 康华光. 电子技术基础(模拟部分)(第五版)[M]. 武汉:华中科技大学出版社, 2007. [5] 王毅. 单片机器件应用手册[M]. 人民邮电出版社, 1995.
[6] 孙育才,苏学成.单片微型计算机应用系统设计与实现[M]. 南京:东南大学出版社,1990.11
[7] 张越等.基于DS18B20温度传感器的数字温度计[J]. 微电子学,2007 [8] 吴微,文军.单片机原理与制作[M]. 武汉:武汉大学出版社,1991.3
30
[9] 李勋,林广艳.单片微型计算机大学读本[M]. 北京:北京航空航天大学出版社,1998.8
致 谢
经过一个学期的忙碌,毕业设计接近尾声。在此,我要衷心感谢我的导师。在我做毕业设计期间,老师给了我很大的帮助和鼓励。在选题和搜集资料的时候,老师给了很多有用的建议,每个星期老师都抽出时间关心我的设计进度,督促我抓紧时间完成设计,在我遇到困难的时候给予我悉心的关怀、鼓励与指导,尽心尽力。我能顺利完成毕业设计与老师的帮助密不可分。同时也要感谢我的舍友,他们给我提供了很多资料也给了我不少建设性的建议。
做毕业设计求期间最大的收获是心理成熟了,期间遇到过很多困难,感谢老师和同学对我的关心、鼓励、帮助,让我用于面对困难,不断前进。
31