单片机郭赢.docVIP

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机郭赢

单片机课程设计 基于数字温度计DS18B20的温度测量与显示系统 专业名称:航空自动化 专业班级:111141A 姓 名:郭赢 学 号:111141107 指导老师:常美华/赵淑舫 课程设计要求 ·基本要求 1.利用1个DS18B20测量室内温度(误差小于?) 2.用数码管显示温度 3.显示精度为0.1℃ ·扩展要求 1.多通道测量 2.LCD显示 3.生成印刷电路板 设计综述 本次设计使用DS18B20温度传感器,设计了一种基于单片机AT89C51的数字温度计,克服了传统温度计读数麻烦、测量速度慢、精度低、误差大等缺点。该数字温度计设计电路简单,其输出温度采用数字显示,读数直接,分辨率高,为人们工作、科研、生活提供更好、更方便的电子产品设施。为了不失通用性和智能性,本方案采用AT89C51单片机作为控制器,单总线温度传感器DS18B20进行温度采集。 总结 经过接近两周的课程设计,我圆满地完成任务。这次的实训让我们了解了DS18B20以及对AT89C51的C语言开发环境有了更好的理解。并且能够熟练的使用Keil和protues两个软件。 总之,这次的实训给了我们很多经验,对我们很有好处,不仅弥补了欠缺的知识,而且在以后的学习、工作过程中,我们会加强与同学的交流,更加注重自己的操作能力和应变能力,更贴近实际生活,以避免理论和实际脱节,避免考虑问题片面化,避免设计方案理想化。相信在不久的将来可以做出点成绩! 系统各方框的电路图 1、温度传感器DS18B20电路 对DS18B20供电的一种传统办法是从VCC引脚接入一个外部电源,见图。这样做的好处是单总线上不需要强上拉。而且总线不用在温度转换期间总保持高电平;GND端接地;DQ端经上拉电阻与AT89C51相连。 2、显示电路 1、显示电路采用4位共阳极LED数码管,P0口由上拉电阻提高驱动能力,作为段码输出并作为数码管的驱动。P2口的低四位作为数码管的位选端。采用动态扫描的方式显示。 对于扩展部分,显示电路采用LCD1602显示,P0口由上拉电阻提高驱动能力。P2.4作为数据/指令寄存器选择短,P2.5为LCD1602的使能信号端。P3.7端为DS18B20与AT89C51连接段。 对于扩展部分,多通道并显示电路采用LCD1602显示,P0口由上拉电阻提高驱动能力。P2.4作为数据/指令寄存器选择短,P2.5为LCD1602的使能信号端。P3.6和P3.7分别为DS18B20与AT89C51的连接端。 3、AT89C51的连接电路 AT89C51的第18脚和第19脚外接由C1、C2和X1构成的石英晶体震荡器电路;AT89C51的第9脚外接由K1、R1、R2和C3构成的按钮复位电路;AT89C51的第31脚外接电源,以进行片内和片外程序存储器的选择控制。 主程序流程图和各个子程序的流程图 1、主程序流程图 主程序首先对DS18B20进行初始化,然后读出DS18B20中的温 度值并进行数据处理,之后再进行数码管显示。其程序流程见图。 DS18B20初始化 结束 温度转换 跳过ROM匹配 延时 DS18B20是否存在? 跳过ROM匹配 读暂存器 转换为显示码 是 否 = 2、温度读取子程序流程图 Y 发DS18B20复位命令 发跳过ROM命令 发读取温度命令 读取操作,CRC校验 9字节完? CRC校验正?确? 移入温度暂存器 结束  N N Y 3、温度转换子程序流程图 发DS18B20复位命令 发跳过ROM命令 发温度转换开始命令 结束 1602显示程序及说明: #includereg51.h #includeabsacc.H #include intrins.h #includestdio.h #define uchar unsigned char #define uint unsigned int #define LCD_DB P0//LCD的数据端 sbit ds=P3^7;//定义DS18B20数据线 sbit LCD_RS=P2^4;//数据/指令寄存器选择端 sbit LCD_E=P2^5;//使能 uchar v[]={0,0,0,0,0};//温度值存取数组 uchar busy_flag;//忙状态标志位 bit list_flag=0;//18b20初始化正确与否标志位 uchar temp_value;//小数部分 uchar flag;//正负号标志位 void delay(uint m

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档