当前位置:首页 > 基于单片机的数字电子钟温度计的设计 - 毕设论文 - 图文
华东交通大学毕业设计(论文)
3.3 DS18B20温度传感器
DS18B20数字温度传感器接线方便,封装成后可应用于多种场合,主要根据应用场合的不同而改变其外观。封装后的DS18B20可用于电缆沟测温,高炉水循环测温,锅炉测温,机房测温,农业大棚测温,洁净室测温,弹药库测温等各种非极限温度场合。耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。
图3-6 DS18B20内部结构
(1)DS18B20技术性能
独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。测温范围-55℃~+125℃,固有测温分辨率0.5℃。支持多点组网功能,多个DS18B20可以并联在唯一的三线上,最多只能并联8个,实现多点测温,如果数量过多,会使供电电源电压过低,从而造成信号传输的不稳定。工作电源: 3~5V,在使用中不需要任何外围元件。测量结果以9~12位数字量方式串行传送,温度转换为12位数字格式最大值为750毫秒。 (2) DS18B20有4个主要的数据部件
1)光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。64位光刻ROM的排列是:开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。但本设计只用到一个DS18B20,所以不必读取ROM中的64位序列号。
11
基于单片机的数字电子钟温度计的设计
2)DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以0.0625℃/LSB形式表达,其中S为符号位。
图3-7 DS18B20温度值格式表
这是12位转化后得到的12位数据,存储在DS18B20的两个8比特的RAM中,二
进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度,如表3-3。
表3-3 DS18B20温度数据表
TEMPERATURE +125℃ +85℃ +25.0625℃ +10.125℃ +0.5℃ 0℃ -0.5℃ -10.125℃ -25.0625℃ -55℃ DIGITAL OUTPUT(Binary) 0000 0111 1101 0000 0000 0101 0101 0000 0000 0001 1001 0001 0000 0000 1010 0010 0000 0000 0000 1000 0000 0000 0000 0000 1111 1111 1111 1000 1111 1111 0101 1110 1111 1110 0110 1111 1111 1100 1001 0000 DIGITAL OUTPUT(Hex) 07D0H 0550H 0191H 00A2H 0008H 0000H FFF8H FF5EH FE6FH FC90H
3)DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的EEPRAM,后者存放高温度和低温度触发器TH、TL和结构寄存器。
4)配置寄存器,该字节各位的意义如下:
表3-4 配置寄存器结构
TM R1 R0 1 1 1 1 1 12
华东交通大学毕业设计(论文)
低五位一直都是1 ,TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。在DS18B20出厂时该位被设置为0,用户不要去改动。R1和R0用来设置分辨率,如表3-5所示:(DS18B20出厂时被设置为12位)分辨率设置表:
表3-5温度值分辨率设置表
R1 0 0 1 1 R0 0 1 0 1 分辨率 9位 10位 11位 12位 温度最大转换时间 93.75ms 187.5ms 375ms 750ms (3)高速暂存存储器
高速暂存存储器由9个字节组成,其分配如表3-7所示。当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第0和第1个字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式如表3-4所示。对应的温度计算:当符号位S=0时,直接将二进制位转换为十进制;当S=1时,先将补码变为原码,再计算十进制值。第九个字节是冗余检验字节。
表3-6 DS18B20暂存寄存器分布 寄存器内容 温度值低位 温度值高位 高温限值TH 低温限值TL 配置寄存器 保留 保留 保留 CRC检验 字节地址 0 1 2 3 4 5 6 7 8 根据DS18B20的通讯协议,主机控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。复位要求主CPU将数据线下拉500微秒,
13
基于单片机的数字电子钟温度计的设计
然后释放,DS18B20收到信号后等待16~60微秒左右,后发出60~240微秒的存在低脉冲,主CPU收到此信号表示复位成功[8]。
表3-7 ROM指令表
指 令 约定代码 功 能 读ROM 33H 读DS18B20 ROM中的编码(即64位地址) 发出此命令之后,接着发出64位ROM编码,访问单总线符合ROM 55H 上与该编码相对应的DS18B20使之作出响应,为下一步对该DS18B20的读写作准备。 用于确定挂接在同一总线上DS18B20的个数和识别64搜索ROM 0F0H 位ROM地址。为操作各器件作好准备。 忽略64位ROM地址,直接向DS18B20发温度变换命令。跳过ROM 0CCH 适用于单片工作。 执行后只有温度超过设定值上限或下限的片子才做出响告警搜索命令 0ECH 应。
表3-8 RAM指令表
指 令 约定代码 功 能 启动DS18B20进行温度转换,转换时最长为500ms(典温度变换 44H 型为200ms)。结果存入内部9字节RAM中。 读暂存器 0BEH 内部RAM中9字节的内容 发出向内部RAM的3、4字节写上、下限温度数据命令,写暂存器 4EH 紧跟该命令之后,是传送两字节的数据。 复制暂存器 48H 将RAM中第3、4字节的内容复制到EEPROM中。 重调EEPROM 0B8H 将EEPROM中内容恢复到RAM中的第3、4字节。 读DS18B20的供电模式。寄生供电时DS18B20发送读供电方式 0B4H “0”,外接电源供电DS18B20发送“1”。 14
共分享92篇相关文档