- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
DS18B20度传感器
4.25 DS18B20温度传感器输出显示
本例的DS18B20数字温度计是DALLAS公司生产的l-Wire式单总线器件,具有线路简单,
体积小的特点,用它组成的温度测量系统线路非常简单,只要求一个端口即可实现通信。DS18B20
的每个器件上都有唯一的序列号,其温度测量范围在一55℃—+125℃之间,数字温度计的分辨率可
以从9一12位选择,内部还有温度上、下限报警设置。
运行本例时,1602LCD将显示DS18B20所测量的外部温度,调节DS18B20模拟改变外界温
度时,新的温度值将刷新显示在LCD上。
本例电路及运行效果如图4-39所示。
程序设计调试与实训:
DS18B20内部结构主要由64位ROM,温度传感器,非易失性温度报警触发器TH和TL,
配置寄存器组成。读者在阅读本例时需要参考图4-40所示的DS18B20内存结构(含上电时的初
始状态),表4-11所示的DS18B20RAM操作命令集及表4-12所示的温度寄存器字节格式。
本例要点在于读取温度函数Read_Temperature和温度显示函数Display_Temperature的编写,
对于前者,代码中OxCC命令字节用于跳过读取ROM摩列号(参考DS18820F手册中的
DS18820ROM命令),Ox44启动温度转换,OxBE读取温度寄存器。
温度显示函数Display_Temperature根据读取的2字节温度值(保存在Temp_Value数组中)
进行显示,阅读该函数代码时,可参考表4-12所示的2字节温度格式,特别是高字节中的符号位
S和低字节中的小数bit3~bit0,因为本例仅保存一位小数,温度小数位对照表df_Table将0000~1111
对应的16个不同小数序列进行四舍五入,例如,当读取的温度低字节低4位为OIOI时,对应的
温度应为2-2+ 2_4=0.3125≈0.3,因此数组第5个元素(对应于OIOI)的值为3,又如,如果低
4位为OIIO,对应的温度应为2-2+ 2-3= 0.375岛0.4,因此,数组第6个元素(对应于0110)取
值为4。
图4-39 DS18B20温度传感器输出显示电路及运行效果
关于DS18B20的ROM操作命令、时序及其他技术细节,可参考DS18B20的技术手册。
在运行本例显示温度以后,可暂停运行,单击调试菜单中的DS18B20菜单,打开RAM和
ROM菜单,所显示的两个小窗口如图4-39所示,当前读取的2字节温度值为FFOA,由其符号位
可知该温度为负数,将FFOA取反加l可得OOF6,高字节的低四位与低字节的高四位合成字节OF,
可得温度整数部分为15,另外,OOF6中小数部分为6,即OIIO,通过计算或查表可得小数0.4.
因此所显示的温度为-15.4℃。
完成本例调试后,可修改代码,使温度显示精确到2位小数。
Temperature LSB(50h)
(85℃)
Temperature MSB(05h) TH Register or User Byte 1* TL Register or User Byte 2* Configuration Register* Reserved(FFh) Reserved(0Ch) Reserved(10h) CRC*
Byte0
TH Register or User Byte 1 TH Register or User Byte 2 Configuration Register Byte1
Byte2
Byte3
Byte4
Byte5
Byte6
Byte7
Byte8
*上电状态决定于EEPROM中保存的值
图4-40 DS18B20内存结构图
表4-11 DS18B20操作命令集
命令 说 明 协议 总线数据操作 温度转换 开始温度转换 44H DS18B20将转换状态发送给主设备 读寄存器 读所仃寄存器,包括CRC字节 BEH DS18B20将9宁节的数据发送给主设备 写寄存器 将数据写入寄存器2,3,4字节(即TH,TL和配置寄存器) 4EH 主设备向DS18B20发送3字节数 复制 将寄存器TH,TL和配置寄存器数据复制到EEPROM 48H 无 回调 由EEPROM向寄存器恢复TH,TL和配置寄存器数据 B8H DS18B20将恢复状态发
文档评论(0)