DS18B20及程序试题.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
DS18B20 数字温度传感器(参考:智能温度传感器DS18B20的原理与应用)是DALLAS 公司生产的1-Wire,即单总线器件,具有线路简单,体积小的特点。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计。DS18B20 产品的特点: (1)、只要求一个I/O 口即可实现通信。 (2)、在DS18B20 中的每个器件上都有独一无二的序列号。 (3)、实际应用中不需要外部任何元器件即可实现测温。 (4)、测量温度范围在-55 到+125之间; 在-10 ~ +85范围内误差为±5; (5)、数字温度计的分辨率用户可以从9 位到12 位选择。将12位的温度值转换为数字量所需时间不超过750ms; (6)、内部有温度上、下限告警设置。 DS18B20引脚分布图 DS18B20 详细引脚功能描述: 1、GND 地信号; 2、DQ数据输入出引脚。开漏单总线接口引脚。当被用在寄生电源下,此引脚可以向器件提供电源;漏极开路, 常太下高电平. 通常要求外接一个约5kΩ的上拉电阻. 3、VDD可选择的VDD 引脚。电压范围:3~5.5V; 当工作于寄生电源时,此引脚必须接地。 DS18B20存储器结构图 暂存储器的头两个字节为测得温度信息的低位和高位字节; 第3, 4字节是TH和TL的易失性拷贝, 在每次电复位时都会被刷新; 第5字节是配置寄存器的易失性拷贝, 同样在电复位时被刷新; 第9字节是前面8个字节的CRC检验值. 配置寄存器的命令内容如下: 0 R1 R0 1 1 1 1 1 MSB??????????????????????????????????????????????????????????????? LSB R0和R1是温度值分辨率位, 按下表进行配置.默认出厂设置是R1R0 = 11, 即12位. 温度值分辨率配置表 R1 R0 分辨率 最大转换时间(ms) 0 0 9bit 93.75(tconv/8) 0 1 10bit 183.50(tconv/4) 1 0 11bit 375(tconv/2) 1 1 12bit 750 (tconv) 4种分辨率对应的温度分辨率为0.5, 0.25℃, 0.125℃, 0.0625℃(即最低一位代表的温度值) 12位分辨率时的两个温度字节的具体格式如下: 低字节: 2^3 2^2 2^1 2^0 2^-1 2^-2 2^-3 2^-4 高字节: S S S S S 2^6 2^5 2^4 其中高字节前5位都是符号位S, 若分辨率低于12位时, 相应地使最低为0, 如: 当分辨率为10位时, 低字节为: 2^3 2^2 2^1 2^0 2^-1 2^-2 0 0 , 高字节不变.... 一些温度与转换后输出的数字参照如下: 温度 数字输出 换成16进制 +12511010000? 07D0H +85℃01010000 0550H +25.0625℃10010001 0191H +10.125℃10100010 00A2H +0.5℃00001000 0008H 0℃00000000 0000H -0.5℃11111000 FFF8H -10.125℃01011110 FFE5H -25.0625℃01101111 FF6FH -55℃10010000 FC90H 由上表可看出, 当输出是负温度时, 使用补码表示, 方便计算机运算(若是用C语言, 直接将结果赋值给一个int变量即可). DS18B20 的使用方法: 由于DS18B20 采用的是1-Wire 总线协议方式,即在一根数据线实现数据的双向传输,而对单片机来说,我们必须采用软件的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问。 由于DS18B20是在一根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。 DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。 该协议定义了几种信号的时序:初始化时序(dsInit()实现)、读时序(readByte())、写时序(writeByte())。 所有时序都是将主机作为主设备,单总线器件作为从设备。而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。数据和命令的传输都是低位在先。 DS18B20与单片机连接电路图: 利用软件模拟DS18B20的单线协议和命令:主机

文档评论(0)

yy556911 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档