DS18B20与LCD1602结合显示温度.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与LCD1602结合显示温度

DS18B20 一、DS18B20的外形及其与单片机的连接图 (a) (b) 图1 DS18B20是Dallas公司生产的1-Wire接口数字温度传感器,其外形如图1(a)所示,有三个引脚,分别为:电源地1(GND);?数字信号输入/输出端2(DQ);外接供电电源输入端3(VDD,在寄生电源接线方式时接地)。它是一种单总线数字温度传感器,所有的数据交换和控制都通过这根数据线来完成。测试温度范围-55℃-125℃,温度数据位可配置为9、10、11、12位,对应的刻度值分别为0.5℃、0.25℃、0.125℃、0.0625℃,对应的最长转换时间分别为93.75ms、187.5ms、375ms、750ms。出厂默认配置为12位数据,刻度值为0.0625℃,最长转换时间为750ms。从以上数据可以看出,DS18B20数据位越低、转换时间越短、反应越快、精度越低。?单总线没有时钟线,只有一根通信线,其读写数据是靠控制起始时间和采样时间来完成,所以时序要求很严格。图1(a)为DS18B20与单片机的连接电路图,它的数据线通常要求外接一个4.7K-10K的上拉电阻(该电阻画原理图时靠近单片机画故没有显示出来),故其闲置时状态位高电平。 提示:DS18B20外形酷似三极管,分辨引脚时,面对着扁平的那一面,左负右正一旦接反就会立刻发热64-位的光刻ROM又包括5个ROM的功能命令:读ROM,匹配ROM,跳跃ROM,查找ROM和报警查找。DS18B20读取温度时共读取16位,前5个位为符号位,当前5位为1时,读取的温度为负数;当前5位为0时,读取的温度为正。温度为正时读取方法为:将16进制数转换成10进制即可。温度为负时读取方法为:将16进制取反后加1,再转换成10进制。例:0550H = +85 度,FC90H = -55 度。非挥发的温度报警触发器TH和TLCRC?=?X8?+?X5?+?X4?+?1?? 单总线CRC可以由一个由移位寄存器和XOR门构成的多项式发生器来产生。这个回路包括一个移位寄存器和几个XOR门,移位寄存器的各位都被初始化为0。从ROM中的最低有效位或暂存器中的位0开始,一次一位移入寄存器。在传输了56位ROM中的数据或移入了暂存器的位7后,移位寄存器中就存储了CRC值。下一步,CRC的值必须被循环移入。此时,如果计算得到的CRC是正确的,移位寄存器将复0。 其他字节保留用,不需要看。 三、关于单总线系统?? 单总线系统包括一个总线控制器和一个或多个从机。DS18B20总是充当从机。当只有一只从机挂在总线上时,系统被称为“单点”系统;如果由多只从机挂在总线上,系统被称为“多点”。??所有的数据和指令的传递都是从最低有效位开始通过单总线。单总线需要一个约5KΩ的外部上拉电阻;单总线的空闲状态是高电平。无论任何理由需要暂停某一执行过程时,如果还想恢复执行的话,总线必须停留在空闲状态。在恢复期间,如果单总线处于非活动(高电平)状态,位与位间的恢复时间可以无限长。如果总线停留在低电平超过480us,总线上的所有器件都将被复位。 四、操作流程 1.DS18B20复位。 2.执行ROM指令。就是访问,搜索,匹配每个DS18B20独有的64位序列号。实验板上只连有一个DS18B20,故不需识别,也就是不需读出此序列号,写代码时直接写命令0xcc跳过。 3.执行DS18B20功能指令(RAM指令,就是读写暂存器指令)。 DS18B20的功能指令很多,比较常用的有两个: 0x44:开始转换温度。转换好的温度会储存到暂存器字节0和1。 0xBE:读暂存指令。读暂存指令,会从暂存器0到9,一个一个字节读取,如果要停止 的话,必须写下DS18B20复位。 ROM指令和RAM指令的具体情况见表3。 表3 五、读写DS18B20的时序 1、DS18B20的复位时序:1).单片机拉低总线480us~960us,然后释放总线(拉高电平)。2).这时DS18B20会拉低信号,大约60~240us表示应答。3).DS18B20拉低电平的60~240us之间,单片机读取总线的电平,如果是低电平,那么表示复位成功。4).DS18B20拉低电平60~240us之后,会释放总线。 /******************************************************************************** 复位:主机t0时刻发送一复位脉冲(最短为480us的低电平信号),接着在t1时刻释放总线( 拉高总线电平)进入接收状态。DS18B20在检测到总线的上升沿之后等待15~60us。接着DS1

文档评论(0)

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

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

1亿VIP精品文档

相关文档