基于DS18B20温度传感器设计

发布时间 : 星期一 文章基于DS18B20温度传感器设计更新完毕开始阅读

四川职业技术学院毕业设计(论文)

(1)光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。64位光刻ROM的排列是:开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。

(2) DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以0.0625℃/LSB形式表达。 这是12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。

例如+125℃的数字输出为07D0H,+25.0625℃的数字输出为0191H,-25.0625℃的数字输出为FF6FH,-55℃的数字输出为FC90H。

表3-1 DS18B20温度数据表

TEMPERATURE +125℃ +85℃ +25.0625℃ +10.125℃ +0.5℃ 0℃ -0.5℃ -25.0625℃ -55℃ DIGITALOUTPUT(binary) D IGITALOUTPUT(hex) 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 1110 0110 1111 1111 1110 1001 0000 07D0h 0550h 0191h 00a2h 0008h 0000h FFF8h FE6Fh FC90h (3)DS18B20温度传感器的存储器

DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的EEPRAM,后者存放高温度和低温度触发器TH、TL和结构寄存器。

(4)配置寄存器 该字节各位的意义如下:

第 16 页共 39页

四川职业技术学院毕业设计(论文)

表3-2 配置寄存器结构

TM R1 R0 1 1 1 1 1 低五位一直都是1 ,TM是测试模式位,用于设置DS18B20在工作模式还是

在测试模式。在DS18B20出厂时该位被设置为0,用户不要去改动。R1和R0用来设置分辨率,如下表所示:(DS18B20出厂时被设置为12位)

分辨率设置表:

表3-3 温度值分辨率设置表 R1 0 0 R0 0 1 分辨率 9位 10位 11位 12位 温度最大转换时间 93.75ms 187.5ms 1 0 375ms 1 3.4.3高速暂存存储器

1 750ms 高速暂存存储器由9个字节组成,其分配如表5所示。当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第0和第1个字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式如表1所示。对应的温度计算:当符号位S=0时,直接将二进制位转换为十进制;当S=1时,先将补码变为原码,再计算十进制值。表 2是对应的一部分温度值。第九个字节是冗余检验字节。

表3-4 DS18B20暂存寄存器分布

第 17 页共 39页

四川职业技术学院毕业设计(论文)

寄存器内容 温度值低位 温度值高位 高温限值TH 低温限值TL 配置寄存器 保留 保留 保留 CRC检验 字节地址 0 1 2 3 4 5 6 7 8 根据DS18B20的通讯协议,主机控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。复位要求主CPU将数据线下拉500微秒,然后释放,DS18B20收到信号后等待16~60微秒左右,后发出60~240微秒的存在低脉冲,主CPU收到此信号表示复位成功。

表3-5 ROM指令表

指 令 约定代码 33H 功 能 读DS1820ROM中的编码(即64位地址) 发出此命令之后,接着发出64位ROM读ROM 符合ROM 55H 编码,访问单总线上与该编码相对应的DS1820使之作出响应,为下一步对该DS1820的读写作准备。 用于确定挂接在同一总线上DS1820的搜索ROM 跳过为操作各器件0F0H 个数和识别64位ROM地址。作好准备。 0CC忽略64位ROM地址,直接向DS1820第 18 页共 39页

四川职业技术学院毕业设计(论文)

ROM 告警搜索命令 H 0ECH 发温度变换命令。适用于单片工作。 执行后只有温度超过设定值上限或下限的片子才做出响应。

表3-6 RAM指令表

指 令 约定代码 功 能 启动DS1820进行温度转换,转换时最温度变换 44H 长为500ms(典型为200ms)。结果存入内部9字节RAM中。 读暂存器 0BEH 内部RAM中9字节的内容 发出向内部RAM的3、4字节写上、下写暂存器 4EH 限温度数据命令,紧跟该命令之后,是传送两字节的数据。 复制暂存器 重调EEPROM 读供电方式 H H 48H 0B8将RAM中第3、4字节的内容复制到EEPROM中。 将EEPROM中内容恢复到RAM中的第3、4字节。 0B4读DS1820的供电模式。寄生供电时DS1820发送“0”,外接电源供电DS1820发送“1”。 3.4.4 DS18B20的使用方法

由于DS18B20采用的是1-Wire总线协议方式,即在一根数据线实现数据的双向传输,而对AT89S51单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问。

由于DS18B20是在一根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。该

第 19 页共 39页

联系合同范文客服:xxxxx#qq.com(#替换为@)