本设计主要利用单片机和DS18B20温度传感器设计一个数字温度计。选题的意义在于通过这次设计将平时在课堂上学到的关于单片机的知识应用到实践中,而且更加深入的认识到单片机在现代生活和生产中的重要性。系统由主控器STC89C52、晶振电路、按键电路,蜂鸣器电路以及传感器组成,能实现测量温度和温度报警的功能。现对于不同型号的单片机只需要相应的改变一下地址即可。该软、硬件系统具有很好的通用性,很高的实际使用价值。
2 系统设计
本文设计的数字温度计,通过51单片机发出指令使 DS18B20串行通信传感器对坏境进行温度数据采集,并且在1602LCD上显示出来,该温度计可以随环境温度变化而变化,实时显示。附加报警电路,当温度超过设定的范围时自动报警。系统组成框图如下图所示
框图中温度采集部分以温度传感器DS18B20为核心,51单片机输送操作指令控制温度传感器完成温度采集。采集的数据将存储在温度传感器的RAM中,输入获取RAM数据的指令可以获取此数据,再将温度模拟量转换成串行数字量通过LCD显示器显示。采用的显示模块核心器件是1602LCD。1602LCD可用于显示字符和数字,且最多可同时显示两行、每行16个字符的内容,市面上字符液晶大多数是由HD44780液晶芯片控制的,因此针对1602LCD写的程序有很好的移植性。1602LCD从DS18B20读取到的数据,两行多列一起显示,与传统的数码管显示器相比,不仅可以显示数字,也可以显示较为复杂的字符,且能够呈现更多的内容,方便直接观察和应用。报警模块蜂鸣器和一个按键组成。当温度超出设计的范围时蜂鸣器产生报警。当温度在设置范围内时蜂鸣器不工作。正常情况下,系统的报警功能开启。产生报警后,若温度再次进入设置温度范围内,蜂鸣器停止发出声音。也可以手动按一次按键,则系统报警系统关闭,同时在液晶上面显示OFF。需再次按下按钮,系统的报警功能才会被开启。
3 硬件设计
3。1 总体设计框图
本设计总体框图如总体设计框图
3。2 温度采集模块设计与原理
DS18B20是Dallas公司开发的串行通信数字温度传感器。在-55℃〜+ 125℃温度范围内可以9,10,11,12位转换精度将温度的模拟量进行量化,最高分辨率为0。0625℃,DS18B20默认为12位的分辨率。在接收到由主机发出的转换命令开始温度转换操作,结果被存放在一个16位存的温度寄存器,符号扩展的数据格式是二进制补码。最高的五位是符号位来代表正和负温度,“0”是一个大于零度的温度,“1”是表示零下的温度。单线微控制器接口来读取数据,低位先读,高位后读。数据输入输出的端口仅需和单片机的一个总线协议接口相连即可,不需要外部的器件,直接将采集的模拟量转换为数字量,以串行数字代码的形式输出。DS18B20可以通过输入输出端口为自身供电,并且温度报警阈值能够设置,广泛应用于精密仪器、工厂等需要精确测量温度的地方。
DS18B20具有以下优点:
●能测量的温度范围很广泛,从-55℃直到+125℃,这极大的增加了可使用本温度传感器的场景,而且在-10℃~+85℃范围内分辨率也是达到了±0。5℃,增加了温度传感器的实用性。
●DS18B20的分辨率较为准确,分辨率为9位(其中包括1位符号位)时,测温精度为0。5℃,余下的10位、11位,12位对应的可分辨温度分别为0。25℃、0。125℃和0。0625℃。这为高精度测温提供了基础。
●温度值转变成数子信号的速度较快,并且分辨率越低转换的速度越快。当设置为10位时,转换时间仅需106。03ms;