基于51单片机的温度报警系统设计 - 图文(4)

2020-04-17 01:28

? 测温范围-55~+125℃,以0.5℃递增

? 可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、

0.125℃和0.0625℃

? 温度数字量转换时间200ms,12位分辨率时最多在750ms内把温度转换

为数字

? 应用包括温度控制、工业系统、消费品、温度计和任何热感测系统 ? 负压特性:电源极性接反时,传感器不会因发热而烧毁,但不能正常工

4.3.2 DS18B20外形及引脚说明:

图3 DS18B20外形及引脚

? GND:地

? DQ:单线运用的数据输入/输出引脚 ? VD:可选的电源引脚

4.3.3 DS18B20接线原理图:

单总线通常要求接一个约4.7K左右的上拉电阻,这样,当总线空闲时,其状态为高电平。

15

图4 DS18B20接线原理图

4.3.4 DS18B20时序图:

主机使用时间隙来读写DS18B20的数据位和写命令字的位。

1. 初始化时序如下图:

图5 DS18B20初始化时序

2. DS18B20读写时序:

16

图6 DS18B20读写时序

4.3.5 数据处理:

高速暂存存储器由9个字节组成,其分配如表5所示。当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在 高速暂存存储器的第0和第1个字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后。

图7 字节分配

17

下表为12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0, 这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际 温度。 例如+125℃的数字输出为07D0H,

实际温度=07D0H*0.0625=2000*0.0625=125℃。

例如-55℃的数字输出为FC90H,则应先将11位数据位取反加1得370H(符号位不变,也不作运算),

实际温度=370H*0.0625=880*0.0625=55℃。

可见其中低四位为小数位。

图8 DS18B20温度数据表

4.4 DS18B20内部结构图:

18

主要由4部分组成:64 位ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。ROM中的64位序列号是出厂前被光刻好的,它可以看作 是该DS18B20的地址序列码,每个DS18B20的64位序列号均不相同。64位ROM的排的循环冗余校验码(CRC=X^8+X^5+X^4+1)。 ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。

4.5 声光报警电路

当温度超过设定温度值时,实现声光报警,蜂鸣器鸣叫、8个发光二极管点亮。蜂鸣器由单片机P2^3口控制,用三极管驱动,发光二极管接单片机P1口,由74HC673N锁存。

图10 声光报警电路

19


基于51单片机的温度报警系统设计 - 图文(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:第一单元 小数与元角分

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: