基于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的温度采集系统

数字化产品设计报告 专业:嵌入式系统 班级 姓名: 指导教师: 哈尔滨工业大学华德应用技术学院 2010 年 12 月 9 日 姓名:班级:学号:14课题编号:02课题名称:基于DS18B20的温度采集系统基本功能:设计实现基于DS18B20的温度采集系统,并要求实现使用LCD1602显示采集到的温度。 扩展功能:实现多路温度采集及显示。 成绩:评审老师: 需求分析: 应用场合 该设计可应用于各种地点的温度测量,测量温度在-55~125度之间,可以实现多点测试。 设计目的 掌握DS18B20数字温度传感器的工作原理和使用方法; 掌握对18B20转换数据进行处理的方法; 熟练单片机在实际中的基本应用方法; 提高自身的动手能力。 立题意义 通过这个实验,希望能够对动手能力有所帮助,能够在实际中做到对单片机的基础应用,将课程所学初步应用到实际中,自己动手设计一个属于自己的开发板。 硬件设计方案 用AT89S52控制DS18B20,读取数据,并对DS18B20转换后的数据进行处理,最后在数码管上显示DS18B20的温度。 在设计中用到单片机最小系统:复位电路以及时钟(晶振)电路、DS18B20温度传感器、共阴极7段数码管显示系统。 复位电路: 复位是单片机的初始化操作,目的是使CPU以及各个寄存器处于一个确定的初始状态。分为手动复位方式和上电自动方式。 时钟电路: 51单片机的时钟信号可由芯片内部的震荡电路产生,也可以由外部产生。 DS18B20: DS18B20数字温度传感器是达拉斯半导体公司生产的1——Wire器件,即单总线器件,它与传统的热敏电阻不同的是,它可以直接将被测温度转换成串行数字信号供主机处理,并且根据具体要求,通关简单的编程实现9位温度度数。具有线路简单,体积小的特点。 它有三个引脚(如图1.1): GND脚:接地; DQ脚:数据输入输出引脚。开漏单总线接口引脚。当被用在寄生电源下,也可以向器件提供电源(注:需要在该引脚出加一个上拉电阻) VDD:可选的VDD引脚,接电源。在工作于寄生电源时,必须接地。 图1.1 温度传感器仿真图 7段共阴极数码管: 用于显示采集到的温度数据给用户。七段数码管有四个片选信号点,分别控制四个7段数码管显示(如图1.2),另外八个引脚接受数据显示段码。由此实现数码管的显示。 图1.2 7段共阴极数码管仿真图 软件设计方案(*画流程图、写出算法分析) 首先初始化设置,设置常量,再进行对DS18B20进行初始化,之后进行温度采集,给DS18B20一个温度转换命令实现温度转换,读取转换的温度值,通过数据处理,将处理后的数据传送到数码管中显示出来,实现温度的采集与显示。 流程图: 主程序流程图(如图1.3) DS18B20复位子程序流程图(如图1.4) 读温度值子程序(如图1.5) 写DS18B20命令子程序(如图1.6) 读温度子程序流程图(如图1.7) DQ置1 DQ置0 延时最少573us DQ置1 短延时,等待DS18B20回应 DQ置1 DQ=0?? FLAG1置1 延时 FLAG1置0 返回 显示温度值 生成显示码 调用数据处理子程序 读取温度转换值 调用DS18B20初始化子程序 初始化,设置常量 开始 N Y 图1.3 主程序流程图 图1.4 DS18B20复位子程序流程图 DQ置0 写入数据右移1位 DQ置1 写入数据的最低一位 循环次数i=8次 短延时 短延时 返回 i=i-1;i=0? Y N DQ置0 读入数据右移1位 DQ置1 读入数据的最高一位 循环次数i=8次 短延时 短延时 返回 i=i-1;i=0? Y N 图1.5 读温度值子程序流程 图1.6 写命令子程序流程图 DQ置1 DS18B20复位 跳过ROM匹配 发送温度转换命令44H 写入CCH命令跳过ROM 延时750us以上 DS18B20初始化 FLAG1=1? 发送读温度命令BEH 调用读数据子程序 返回 N Y 图1.7 读温度子程序流程图 系统调试 在设计中,用到了Proteus ISIS与Keil软件联合仿真系统,在手动焊接电路后用到了捎写电路以及捎写程序软件。在课堂上所学的仿真器材在本课程设计中得到了正确的应用。 总结 问题1:在程序中DS18B20的初始化总是不成功。 解决办法:由于DS18B20对程序的时序要求严格,在延时程序中没有注意到这一点导致出错,经过老师指点,顺利解决问题。 问题2:无法读取DS18B20中的数据。 解决办法:由于在电路中没有在DS18B20的DQ引脚加上上拉电阻,在上拉电阻加上后完成数据采集。 问题3:数码管显示不正常。 解决办法:由于对真实的数码管了解不够,不知道哪

文档评论(0)

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

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

1亿VIP精品文档

相关文档