APP下载

浅析DS18B20数字温度计

2021-08-16张天骐

科学技术创新 2021年22期
关键词:字符温度传感器字节

张天骐

(西北民族大学,甘肃 兰州 730000)

1 系统设计

1.1 系统整体设计

DS18B20的内部结构主要有:温度传感器、配置寄存器、8位CRC发生器、高低温触发器、存储器与罗控制模块以及64位ROM和高速缓存等部件组成[1],可以将外界的信号转变成电信号,直接读取环境中被测的温度值,再将AT89S52的硬件设计与软件设计相结合,这样就完成了系统设计的方案。

总体设计框图如图1。

图1 总体设计方框图

1.2 单片机最小系统

最小系统包括晶振电路、复位电路、按键设置部分,AT89S52单片机最小系统的电路如图2所示。

图2 单片机最小系统电路

1.3 按键模块设计

按键开关:

按键开关的特点是当按下键时,由于物理连接点有弹簧弹力的作用,按键不会在按下的时刻通电,一个按键从开始按下至接触稳定要经过5~10ms的抖动时间,此时会存在一个按键抖动误差。抖动波形如图3。

图3 按键抖动电压波形

要使一个按键被按下并达到真实的按键效果需要确定两个因素,一个是是否真实有按键被按下,另一个则是按键按下时是否在抖动区域内。可以通过测量按键两端的电压值判断是否按键被真实按下。一般常用的按键消抖方法有两种,一种是物理消抖,一种是程序消抖。针对按键按压较为频繁的使用情况,采用软件的方法消除抖动效果会更好,就是在软件编程的时候采集按键是否被按下之后做一个8~12ms的延时,这样就避开了按键抖动的时间,但是这也不能完全确定按键是否接触良好,应在最后对按键两端的电压值进行检测,以确保按键的接触情况。

1.4 显示模块设计

该设计上,采用了1602A液晶显示器。1602A可以显示两行,每行有16个字符,其中一个字符包含的点阵可以由用户自由设置。1602A里有若干个点阵字符单位组成。若要想显示没有被定义的字符,可以先取得目标的图形或者字符的字模数组。可以选择通过手动提取的方法,取得相应的字模。CGRAM是用户自建字模区,有时ASCII码表不能满足个人对字符的要求,可以在这里录入想要的字模。

1.5 温度检测电路

数字温度传感器的温度转换时间相对较长。数字温度传感器分辨率越高,所需显示的温度,数据转换时间越长。因此,在实际应用中,应考虑分辨率和转换时间。我们已经使用高速临时存储器RAM的第1-5字节其余字节保持未使用状态,其余字节显示完整逻辑1。在第9个字节被读出之前,高速临时存储器RAM所有的8字节CRC码,将被用来校验数据。

当DS18B20接收到温度转换命令后,开始启动转换命令。转换完成后数字温度传感器的温度值,存储在高速暂存存储器的第1、2字节。当符号位S等于零时,数字温度传感器显示被测得的温度值为大于零值,可以直接将二进制位转换为十进制;当符号位S为非零值时,数字温度传感器显示被测得的温度值为小于值。

DS18B20内部主要有,64位ROM。数字温度传感器完成温度转换后,DS18B20其中2字节温度输出寄存器、1字节上下警报寄存器(TH和TL),就把传感器测得的温度值与RAM中的TH、TL字节内容作比较。当被测温度值大于设置的TH或温度值小于设置的TL,则DS18B20内的报警标志位置位,对主机发出的报警搜索命令作出响应。在64位ROM的最高有效字节中存储有循环冗余检验码(CRC)。主机ROM的前56位来计算循环冗余检验码值,并和存入DS18B20的循环冗余检验码值作比较,以判断CPU收到的ROM数据是否正确。

DS18B20的亮点功能是能直接读取外界温度转换成数字的温度测量。DS18B20的温度转换模式还可以自定义不同位数的精 度。DS18B20的 温 度 精 度 可 分 为0.5 OC、0.25 OC、0.125OC、0.0625OC分辨率。其原理图如图4所示。

图4 DS18B20测温原理图

2 系统仿真

在Proteus中仿真:

将keil软件生成的.hex文件调入Proteus电路图的单片机中,将.hex文件程序初始化后,通过外部输入手动调节DS18B20温度传感器的数值,液晶显示器会显示相应温度。

猜你喜欢

字符温度传感器字节
气象用温度传感器检定结果的测量不确定度评定与应用
基于HSIC的日光温室温度传感器优化配置策略
No.8 字节跳动将推出独立出口电商APP
论高级用字阶段汉字系统选择字符的几个原则
字符代表几
一种USB接口字符液晶控制器设计
图片轻松变身ASCⅡ艺术画
No.10 “字节跳动手机”要来了?
浅谈温度传感器原理及其应用
人类进入“泽它时代”