温度值放入存储单元
7、将从DS18B20读出的两字节温度转换为一字节温度值(TEMPERCOV):
17
f本程序的目的是将两字节温度转换为一字节温度,通过对温度值高低位的取舍来取得适当值,最后将两字节温度转换为一字节温度,其流程图如下。
舍去温度低位中小数点后的温度值
保留温度高位的有效位
将温度值整合成一字节值
子程序返回
图7
8、按键设置(REDKEY):
此程序是通过对四个按键有无按下的判断来对其相应的TH、TL值进行相应的设置,其流程图如下。
子程序返回
K4
下限值TL减一
上限值TH增一
K1
JB0键按下
K3
18
K2
上限值TH减一
f下限值TL减一
图8
9、响铃与亮灯的设置(BD):
此程序是通过TEMPNUM与TH的比较来进行是否响铃与亮灯,其流程图如下图。
TEMPNUM
TH
Y
N
TEMPUM
TH
Y
N
子程序返回
图9
SETBP16响铃SETBP17亮灯
19
f9结语
用DS18820测量温度,在其内部就能进行AD转换,输出数字量与单片机直接通讯,无需外加AD转换器,转换速度快,降低了成本,而且简化了电路,提高了系统的集成度,使其满足了最简的要求。温度传感器加以改良,配合半导体制冷器还能实现高精度的温度控制功能。
三总结与体会经过将近两周的单片机课程设计,终于完成了数字温度传感器测
温现实系统的设计,虽然有些地方可能还存在一些小缺点,但从心底里说,还是高兴的,毕竟这次设计把实物都做了出来,高兴之余不得不深思呀!在本次设计的过程中,我们发现很多的问题,虽然以前还做过这样的设计但这次设计真的让我们长进了很多。在调程序的时候按键一度成为我们的难点,但经过反复调整修改程序,还是实现了按键功能。单片机课程设计重点就在于软件算法的设计,需要有很巧妙的程序算法,虽然以前写过几次程序,但我们觉的写好一个程序并不是一件简单的事,有好多的东西,只有我们去试着做了,才能真正的掌握,只学习理论有些东西是很难理解的,更谈不上掌握。
从这次的课程设计中,我们真真正正的意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识用到实际当中,学习单机片机更是如此,程序只有在经常的写与读的过程中才能提高,这就是我在这次课程设计中的最大收获。
20
f参考文献1李朝青单片机原理及接口技术(简明修订版)杭州:北京航空航天大学出版社,19982李广弟单片机基础[M]北京:北京航空航天大学出版社,19943阎石数字电子技术基础(第三版)北京:高等教育出版社,19894廖常初现场总线概述[J]电工技术,19995胡学海单r