主页 > 技术资料 >

劳易测温度传感器DS18B20的简介

  概 述 随着现代信息技术的飞速发展和传统工业改造的逐步实现,能够独立工作的温度检测和显示系统已经 应用于诸多领域。传统的温度检测以热敏电阻为温度敏感元件,热敏电阻成本低,但需要后续信号处理电路, 而且热敏电阻的可靠性相对较差,测量温度的准确度低,检测系统的精度差。我们选用了美国DALLAS公司最 新推出的DS18B20数字式温度传感器,DS18B20是DS1820的更新产品,它与传统的热敏电阻温度传感器不同,它能够 直接读出被测温度并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式,可以分别在93.75ms和 750ms内将温度值转化9位和12位的数字量。因而使用DS18B20可使系统结构更趋简单,可靠性更高。
 
  2 AT89C2051单片机 本文选用的单片机为AT89C2051,它是一个只有20引脚的体积小、价格便宜的Flash ROM 型单片机。提供以下标准功能:一个8位CPU、2KB的闪烁存储器、128字节RAM、15根I/O线、两个16位定时器、一个 全双工串行口、5个中断源,还有片内振荡电路和时钟电路及一个精密模拟比较器。具有与MCS-51完全兼容的指 令系统,因而系统硬件设计简单,软件设计也十分方便。
 
  3 DS18B20温度传感器的特点
 
  ·单线接口,只有一根信号线与CPU连接 ·传送串行数据,不需要外部元件·不需要备份电源、可用数据线供电 ·温度测量范围从-50oC~125oC,-10oC~85oC时测量精度为±0.5oC·通过编程可实现9~12位的数字值读数方式,在93.75ms和750ms内将温度值转化9位和12位的数字量·用户可自设定非易失性的报警上下限值 ·报警搜索命令可以识别哪片DS18B20温度超限4 DS18B20温度传感器的存储器 DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可 电擦除的E2RAM,后者存放高温度和低温度触发器TH、TL和结构寄存器。暂存存储器包含了8个连续字节,前两个 字节是测得的温度信息,第一个字节的内容是温度的低八位,第二个字节是温度的高八位。第三个和第四个字节是 TH、TL的易失性拷贝,第五个字节是结构寄存器的易失性拷贝,这三个字节的内容在每一次上电复位时被刷新。 第六、七、八个字节用于内部计算。第九个字节是冗余检验字节。 暂存存储器的前两个子节代表的数据格式 是:
 
  温度低位字节(A)  温度高位字节(B)
 
  温度算法:①SSSSS=11111b,D=-1;SSSSS=00000b,D=1 最小分辨率为0.0625oC:② 当D=1时,温度值 ③  当D=-1时,温度值 结构寄存器的内容用于确定温度值的数字转换分辨率。该字节各位的意义如下:
 
  MSB  LSB
 
  TM R1 R0 1 1 1 1 1
 
  低五位一直都是1 ,TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。在DS18B20出厂时该位 被设置为0,用户不要去改动。R1和R0用来设置分辨率,如下表所示:(DS18B20出厂时被设置为12位)表1 分辨率设置表R1 R0  分辨率  温度最大转换时间
 
  0 0 9位 93.75ms
 
  0 1 10位 187.5ms
 
  1 0 11位 375ms
 
  1 1 12位 750ms
 
  5数码显示 利用AT89C2051串行口的移位寄存器工作方式,通过外接美国MAXIM公司推出的MAX7219串行LED显 示驱动器,避免了CPU直接定时对LED服务,使CPU让出更多的时间去处理被控制对象。MAX7219是串行输入共阴极 显示驱动器,每片可驱动8个LED数码管。用户只需对片内的位和控制寄存器编程,即可选择译码方式、LED个数 、显示亮度和关闭等一些功能[3]。
 
  6 硬件电路 系统硬件结构图如图1所示:
 
  7系统软件概述 由于DS18B20的分辨率可以通过编程进行选择,使得DS18B20比DS1820在分辨率提高的前提下, 整体表现出一致性很好。
 
  系统的主程序用C51编写,主要是C51调用汇编语言,完成对DS18B20的调用、中断管理、测量温度值的计算 及温度值的显示等功能。显示程序实现定时对各路温度值的巡检和显示,并且在一个通道上允许修正中断, 以实现根据温度标称值修正传感器的目的。使用者只需打开电源就可以从观察屏上看到关心的温度变化情况 并且很方便纪录数据。