51单片机电子温度计课程设计和毕业论文

开始 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

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4