编辑: 阿拉蕾 | 2019-07-16 |
VDD为外接供电 电源输八端. ROM的作用是使每个DSI8B20都并不相同,这样就可以实现在枉总线上挂 多个DSl8B20的目的. 非易失性温度报警触发器TH和TL,可通过软件写入用户报警上下限数据. 可通过软件写入用户报警上下限的数据. 高速暂存RAM的结构为9字节的存储器.前2字节包含测得的温度信息.第
3、4字节是TH和TL的拷贝,是易失的,每次上电复位时被刷新.第5字节为配 置寄存器,其内容用于确定温度值的数字分辨率.DSl8B20工作时按此寄存器 中的分辨率转换为相应精度的数值. 如表5所示,低5位一直为1;
TM是测试位,用于设置DSl8B20在工作 模式还是在测试模式,在DSl8B20出厂时,该位被设置为0,用户不要去改动;
R
1、R2决定温度转换的精度位数. TM R1 R2
1 1
1 1
1 以12位转化为例说明温度高低字节存放形式及计算:12位转化后得到的 12位数据,存储在DSl8B20的两个高低两个8位的RAM中,二进制中的前面5位 是符号位.如果测得的温度大于0,S这5位为0,测得的温度值为正值,可以 直接将二进制转换为十进制;
如果温度小于0,S这5位为1,测到的数值需要 先将补码变成原码,再计算十进制值,才能得到实际温度.表6是反映了温度 数据存放的格式. 图4DS18B20 内部结构图 表5DS18B20 配置寄存器位定义 硅湖职业技术学院毕业论文(设计)
6 高8位SSSSS262521 低8位232221202-1
2 -2
2 -3
2 -4 这里举一例说明:比如测得实际的温度为30℃,那么在DSl8B20表示的值 为(0000
0001 1110 0000)2,它是由两个字节的二进制组成,高字节中的前四 位为正负表示温度,低字节的后四位为温度的小数位,中间八位凑在一起就 是用二进制表示实际测得温度的数值,即(000l 1110)2=30度. 3.5 移位寄存器 74LS164 74LS164 为8位移位寄存器,其内部结构如图
7 所示.当清除端(CLEAR) 为低电平时,输出端(QA-QH)均为低电平.串行数据输入端(A,B)可控 制数据.当A、B 任意一个为低电平,则禁止新数据输入,在时钟端(CLOCK) 脉冲上升沿作用下 Q0 为低电平.当A、B 有一个为高电平,则另一个就允许 输入数据,并在 CLOCK 上升沿作用下决定 Q0 的状态. 74LS164 电气参数:电源电压 7V;
输入电压 5.5V;
工作环境温度 0~70℃;
储存温度-65℃~150℃.其时序图如图
8 所示. 表6温度数据格式 图774LS164 内部结构图 硅湖职业技术学院毕业论文(设计)
7 4 系统电路 系统整体硬件电路包括,传感器数据采集电路,温度显示电路,上下限 报警调整电路,单片机主板电路等. 4.1 DS18B20 与单片机的接口电路 图9DS18B20 与单片机的接口电路 图8时序图 硅湖职业技术学院毕业论文(设计)
8 4.2 主板电路 图10 中有三个独立式按键可以分别调整温度计的上下限报警设置,图中 蜂鸣器可以在被测温度不在上下限范围内时,发出报警鸣叫声音,同时 LED 数码管将没有被测温度值显示,这时可以调整报警上下限,从而测出被测的 温度值.图10 中的按健复位电路是上电复位加手动复位,使用比较方便,在 程序跑飞时可以手动复位,这样就不用在重起单片机电源,就可以实现复位. 4.3 温度显示电路 显示电路是使用的串口显示,这种显示最大的优点就是使用口资源比较 少,只用 p3 口的 RXD,和TXD,串口的发送和接收,四只数码管采用 74LS164 右移寄存器驱动,显示比较清晰. 图10 单片机主板电路 硅湖职业技术学院毕业论文(设计)