数字温度计设计。doc.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文档。上传文档
查看更多
院别:电子信息学院 课程名称:微处理器实验 班级: 姓名: 学号: 实验名称: 数字温度计设计 实验时间:2014 年12 月18 日 成绩: 教师签名: 批改时间: 一、实验原理与目的 与普通温度计相比,以单片机为核心的数字温度计具有数字显示、超温报警、记录存储、数据上传等优点,因而得到了广泛应用。根据性能要求和器件选型的不同,数字温度计可有多种不同的实现方案。 温度传感器是数字温度计中的关键器件。传统的温度传感器有热电阻、热电偶、PN结等类型,这些传感器的输出均为微弱的模拟信号,必须经过放大、滤波、A/D转换等电路处理,才能得到可为单片机接受的数字量。相比之下,新型数字温度传感器将温度传感元件、数字量转换电路、数据存储器、通信接口等部件集成在一块芯片上,可通过几根(最少只要一根)串行通信线直接输出数字形式的温度值,大大简化了数字温度计的硬件设计。 图3.12.1 数字温度计电路 DS18B20是DALLAS公司生产的单总线(1-Wire)接口的数字温度传感器,数据传输仅需一根信号线。温度测量范围为-55~+125℃,在-10~+85℃范围内,精度可达±0.5℃,有效数据位数可通过程序设置为9~12位,12位时分辨率可达0.0625℃。每个DS18B20具有唯一64位序列码,多个器件可并联在一根数据线上,实现多点测温。 ZSC-1实验箱配置了DS18B20数字温度传感器以及LED数码管、蜂鸣器、按键等外设,另外还设有RS232、USB两种外部通信接口,为实现数字温度计功能提供了很好的硬件支持。图12-1为具体硬件电路。DS18B20的数据线DQ与单片机P3.7口线相连,单片机通过程序模拟单总线时序,实现与DS18B20的通信。LED数码管用于显示DS18B20所测温度(实际只用3位),蜂鸣器BZ1用于超温报警,按键KX0~KX2用于报警温度的设置。通信接口用于连接PC机,实现温度上传等功能。 为完成一次温度采集,单片机首先按照单总线协议的时序要求,对DS18B20进行初始化,初始化成功后,发送命令字CCH,跳过ROM序列码匹配操作(多个DS18B20并联时才需要通过ROM序列码匹配命令来选择某个DS18B20),接下来发送命令字44H,启动DS18B20进行温度转换。转换一次所需时间为93.75~750ms(取决于DS18B20的位数设置,12位对应的转换时间为750ms)。此后,单片机对DS18B20重新进行初始化,并相继发送CCH和BEH命令,再进行连续两字节读操作,即可得到16位温度值(低字节在先)。 DS18B20温度值采用16位补码,其格式如图12-2所示。低字节中的D-1~D-4为小数位,12位分辨率时全部有效,11位分辨率时D-4无效,10位分辨率时D-4和D-3无效,9位分辨率时D-4、D-3和D-2无效。高字节中的S为符号位,温度为正时全为0,温度为负时全为1。 低字节 D3 D2 D1 D0 D-1 D-2 D-3 D-4 高字节 S S S S S D6 D5 D4 图3.12.2 DS18B20温度值格式 DS18B20所有总线读写操作都由一个初始化序列开始,如图3.12.3所示。单总线平时为高电平状态,初始化时,单片机先将单总线拉低至少480us然后再释放(总线将通过4.7K上拉电阻迅速拉高),从而发出一个复位脉冲。正常情况下,DS18B20会在检测到总线释放后,先等待15-60us,然后将总线拉低60-240us,再释放。至此,完成一个初始化序列。 图3.12.3 DS18B20初始化序列 DS18B20读写操作包括单片机向DS18B20发送命令、参数以及DS18B20向单片机发送序列码、温度值、CRC校验码等,每个字节包括8位,传输时低位在先,且每位各对应一个时隙(time slot)。DS18B20每个时隙至少为60us,并且两个相邻时隙之间至少需要1us的恢复时间。 图3.12.4所示的位写时隙给出了单片机通过单总线向DS18B20发送1位数据的定时要求。发送0时,单片机将总线拉低60-120us,然后释放至少1us;发送1时,单片机先将总线拉低,然后在1-15us内释放总线,直到时隙结束。 图3.12.4 DS18B20位写时隙 图3.12.5所示的位读时隙给出了单片机通过单总线从DS18B20接收1位数据的定时要求。单片机将总线拉低至少1us然后释放,并在15us内采样总线实际状态,采样得到的0或1

文档评论(0)

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

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

1亿VIP精品文档

相关文档