找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

自学AVR单片机十九(温度传感器DS18B20)

[复制链接]
慧龙 发表于 2010-5-7 11:03:04 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
一、硬件电路
8160_12432411208sss.jpg
下面我们来看一下DS18B20的特点、结构和原理。
      DS18B20的特点:
  • 单总线接口:DS18B20与单片机只需要一根I/O口线相连即可实现双向通信,在使用过程中不需要任何外围器件即可正常工作,这使得系统结构非常简单,同时也显著增加了系统的可靠性;
  • DS18B20将测得的温度值以数字信号的方式在单总线上传输。可以通过编程实现9-12位(这里是指二进制数字的9-12位)的数字温度值;DS18B20获得9-12位温度数字的时间在93.75-750ms时间内;
  • 支持多点测温,可在但总线上并联多个DS18B20构成测温网络;
  • 工作电压范围在3.0-5.5V之间,具有负压特性,当电源极性接反时,DS18B20不会因发热而烧坏,但是这是不再能正常工作;
  • 可选择寄生电源供电方式,此时DS18B20可以不接外部电源,采用寄生电源供电方式的时候,DS18B20的电源端要连接到系统的地线上。


      DS18B20的结构
     DS18B20主要有64位ROM、温度传感器、内部存储器和配置寄存器四部分组成,其中内部存储器包括一个易失性数据存储器RAM和一个非易失性的电可擦除EEPROM。下面分别介绍:
  • 64位ROM。即64位序列号,每个DS18B20在出厂前都被光刻了一个唯一的序列号,这样就可以实现一根总线上连接多个DS18B20。64位光刻ROM的排列顺序是:开始8位是产品类型号,接下来的48位是该DS18B20得序列号,最后8位是前面56位数据的crc校验码;
  • 温度传感器。温度传感器完成温度测量,并将测量后的结果存放在内部存储器的两个8位的温度寄存器中。温度寄存器定义如下图。温度寄存器占用两个字节,分别存放温度数据的高位和低位。其中温度寄存器高位的前5位存放温度的符号位,温度为正时,前5位为全0,温度为负时,前5位为全1;温度寄存器高位的后3位和温度寄存器低位的前4位存放温度的整数位;温度寄存器低位的后四位存放温度的小数位。当温度大于0时,温度值以二进制原码存放,温度小于0时,温度值以二进制补码形式存放。当温度转换位数为12位时,温度的精度为0.0625度。温度转换位数为9位时,精度为0.5度。
  • 8160_12432411208sss.jpg
  • 对于温度的计算,以12位转换位数为例,当温度为正时,只要将测得的数值乘以0.0625即可得到实际温度;如果温度为负(小于0),那么测得的数值需要取反加1,然后再乘以0.0625才能得到实际的温度值。
            DS18B20内部存储器
           DS18B20内部存储器包括一个RAM和一个EEPROM,RAM存放温度值、报警值、配置寄存器、CRC校验码等内容,掉电后这些内容将会丢失。EEPROM用来存放温度上下限的报警值和配置寄存器的内容,掉电后内容不会丢失。
          RAM由9个字节组成,其分配表见下图,第0和第1个字节存放温度传感器测得的温度值,第2个字节存放温度的高温报警值,第3个字节存放温度的低温报警值,第4个字节是配置寄存器,第5、6、7这三个字节保留,用户可以存储对自己有用的数据,第8个字节是前面8个字节的CRC校验码。
  • 8160_1243302987E8Js.jpg
  • 配置寄存器的内容如下:
  • 8160_1243302987E8Js.jpg
  • 其中R1和R0用来设置转换精度,设置方式如下
  • 8160_1243302989rtRV.jpg
  • EEPROM存储器的格式如下
  • 8160_1243303239JD25.jpg
  • 其内容是:前两个字节存放高温报警值和低温报警值,第三个字节存放配置寄存器的内容。
          这一节就先讲到这里,下一节我们来分析利用DS18B20实现温度采集 的控制流程以及程序实现
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-11-23 06:55 , Processed in 0.055042 second(s), 10 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表