基于单片机的单总线温度测量仪设计.docxVIP

基于单片机的单总线温度测量仪设计.docx

  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文档。上传文档
查看更多
基于单片机的单总线温度测量仪设计 1 温度信号转换模块 图1显示了sd18b20温度控制的外部形状。DS18B20的电路很简单,由一片DS18B20和一只4.7kΩ 的上拉电阻构成。DS18B20内集成了一个温度传感器、64位ROM、9字节RAM、3字节EERAM(掉电可保存),可将温度信号转换为数字信号直接输出。DS18B20与外部的接口为单总线方式,即数据的输入、输出及同步均由同一根线完成。其温度测量范围为-55℃~125℃,在-10℃~80℃范围内精度为±0.5℃,输出的温度值可编程为9~12位。VD接电源,3V~5V;GND为地;DQ为数据的输入输出。DQ作为输出时为漏极开路,必须加4.7kΩ的上拉电阻。 2 ds18b20的工作过程 DS18B20传感器进行的功能操作是在发送命令的基础上完成的,上电后传感器处于空闲状态,需要控制器发送命令才能完成温度转换。对传感器的功能操作的次序是首先完成对芯片内部的ROM操作,有5条操作ROM的指令可用于器件识别,它们分别是:Read ROM(33H)、Match ROM(55H)、Skip ROM(CCH)、Search ROM(F0H)、Alarm Search(ECH)。 Read ROM:用于读出64位ROM数据,适用于仅有1个DS18B20的场合。 Match ROM:查找与给定64位ROM数据相匹配的DS18B20。 Skip ROM:适用于仅有1个DS18B20的场合,无需给出64位码就能快速选定器件。 Search ROM:适用于多个DS18B20的场合,该指令可识别出每个器件的ID号。 Alarm Search:用于温度报警查询。 9字节RAM中,字节1、2用来存放当前测量的温度值,1为低8位,2为高8位;字节3、4用来存放预设报警温度的上下限值,3为上限,4为下限;字节5用于配置寄存器,确定温度数据的位数,相关位为D5、D6,和温度位数的对应关系如表1所示,字节5的其余位均为无关位;字节6、7、8均为保留字节,一般不用;字节9存放前8个字节循环冗余校验码(CRC码)。 3字节的EERAM分别对应于RAM区的字节3、4、5,用于备份系统设置。 对RAM的操作指令有6条,分别为:Write(4EH)、Read(BEH)、Copy(48H)、Convert(44H)、Recall(B8H)、Read Power(B4H)。 Write:写RAM存储器,随后的3个字节分别写入RAM字节3、4、5,该指令必须在复位操作前完成。 Read:读出RAM中所有9个字节的数据,该指令可随时被复位操作所终止。 Copy:将RAM区的3、4、5字节备份至EERAM。 Recall:将EERAM中的数据装入RAM。 Convert:温度转换开始指令。 Read Power:读电源指令,此处不作介绍。 对DS18B20的每一次操作均由4个步骤组成: (1)初始化(复位操作);(2)对ROM操作指令(识别器件);(3)对RAM操作指令(读、写、转换);(4)收发数据,时序图如图2所示。 初始化过程如下: 主控器将信号线拉低,持续时间T1(480μst1960μs); 主控器等待时间T2(15μst260μs); 主控器检测信号线,若为低,进行下一步,否则重新初始化; 主控器在240μs内等待信号线变高,如变高表示初始化完成,否则重新初始化; 主控器延时至少480μs,确保应答正确; 在收发数据过程中,每一位的读写时间应至少持续60μs,以确保读写正确。 3 ds18b20工作原理 以MCS-51单片机为例,图3采用寄生电源供电,P1.1口接单线总线,为保证在有效DS18B20时钟周期内提供足够的电流,可用一个MOSFET管和89C51的P1.0来完成对总线的上拉。当DS18B20处于写存储器操作和温度A/D变换操作时,总线上必须有强上拉,上拉开启时间最大为10μs。采用寄生电源供电方式时VDD和GND端均接地。由于单线制只有一根线,因此发送接收口必须是三态的。主机控制DS18B20完成温度转换必须经过初始化、ROM操作指令、存储器操作指令三个步骤,假设单片机系统所用的晶振频率为12MHz,根据DS18B20的初始化时序、写时序和读时序,分别编写RESET为初始化子程序,WRITE为写(命令或数据)子程序,READ为读数据子程序。 DS18B20初始化,读、写一个字节的程序如下: RESET: L0: CLR P1.0 MOV R2, #230 L1: NOP DJNZ R2, L1 SETB P1.0 ;主机发置位脉冲持续600μs MOV R2, #35 L4: DJNZ R2, L4 ;等待60μs CLR C ORL C, P1.0 ;数据线应变低 JC L0 ;没准备好,重新初始

文档评论(0)

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

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

1亿VIP精品文档

相关文档