- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
5单片机的数字温度计
基于AT89S51的温度计 院 系:电子与信息工程学院 专 业:电子信息科学与技术 班 级:09信本 学生姓名:刘辉 学 号:093621059 第一部分 设计要求: 采用AT89C51单片机和LCD液晶显示器设计一个数字温度计,当外界温度变化时,显示屏上的温度值也随着变化。数字温度计的测温范围为-55°C到125°C之间。 第二部分 硬件原理框图: 硬件部分主要分为晶振振荡电路、复位电路、LCD液晶显示电路、DS18B20温度传感器采集电路、电源电路等部分组成。 第三部分 硬件原理图: 硬件模块原理图: 晶振振荡电路 该电路是由两个电容和一个晶振组成,晶振产生基本的时钟信号它给单片机提供时钟信号。 复位电路 复位的主要作用是把特殊功能寄存器的数据刷新为默认数据,单片机在运算过程中由于干扰等外界原因造成寄存器中数据混乱不能使其正常继续执行程序或产生的结果不正确时均需要复位,以使程序重新开始运行。 LCD液晶显示电路 经过温度传感器,将采集到的温度信息传给单片机,单片机处理后又将信息发给P0口,P0口与LCD的数据口相连接,液晶屏上会显示采集到的温度值。 温度传感器采集电路 单线数字温度传感器DS18B20测量温度范围为 -55°C~+125°C,-10~+85°C范围内,精度为±0.5°C。DS1822的精度较差为± 2°C 。DS18B20的管脚排列如下: DQ为数字信号输入/输出端;GND为电源地;VDD为外接供电电源输入端(在寄生电源接线方式时接地)。根据DS18B20的通讯协议,主机控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。复位要求主CPU将数据线下拉500微秒,然后释放,DS18B20收到信号后等待16~60微秒左右,后发出60~240微秒的存在低脉冲,主CPU收到此信号表示复位成功。 电源电路 设计中利用桥式整流和电容滤波以及7805集成稳压来输出+5V电压,以满足AT89C51、LCD1602、DS18B20等器件的工作需求,原理如下: 第四部分 程序流程图 N 第五部分 总结: 在本次设计的过程中,我查阅了许多文献资料,从中学到了很多有关系统开发和程序调试方面等的知识。在软件开发过程中掌握了一些技术难题的解决方法和技巧,巩固和加深了所学知识的理解,能够把所学的知识与实践相结合,培养了认真严谨的学习态度,为以后开发软件积累了大量的经验,提高了分析问题和解决问题的能力。但是由于认识上的片面和不足,各方面的条件影响也很多,本设计还有待进一步的完善和优化,这些在以后的学习中要注重积累。 第六部分 主要程序 #include reg51.h #include intrins.h #define uint unsigned int #define uchar unsigned char #definedelayNOP() {_nop_();_nop_();_nop_();_nop_();}//_nop_()为一个机器周期 sbit DQ = P3^3; sbit LCD_RS = P2^0; sbit LCD_RW = P2^1; sbit LCD_EN = P2^2; uchar code Temp_Disp_Title1[]=Now Temperature:;//液晶第一行显示的字符 uchar Temp_Display_Title2[]= TEMP: ;//第二行前半部分显示的字符 uchar code Temperature_Char[8] = { 0x0c,0x12,0x12,0x0c,0x00,0x00,0x00,0x00 }; uchar code df_Table[]= { 0,1,1,2,3,3,4,4,5,6,6,7,8,8,9,9 }; uchar CurrentT = 0; uchar TL,TH; uchar Display_Digit[]={0,0,0,0}; bit DS18B20_IS_OK = 1; void DelayXus(uint x) { uchar i; while(x--) { for(i=0;i200;i++); } } bit LCD_Busy_
您可能关注的文档
最近下载
- 一种酿酒酵母培养物及其应用.pdf VIP
- 消防增压稳压设备的维护保养保养内容和方法.docx VIP
- 乡村振兴与乡村教育事业.pptx VIP
- 标准图集-20S515-钢筋混凝土及砖砌排水检查井.pdf VIP
- 文书工作与档案管理教学课件作者第三版赵映诚12第十二章专门档案的管理与利用(3333KB).ppt VIP
- 矿用自救器的使用方法.ppt VIP
- NC6相对NC5给客户带来的新价值.pptx VIP
- 公司廉政风险防控手册模板.pdf VIP
- 2025届高中英语外研版高考复习课件:The world of science.ppt VIP
- 自觉遵守课堂纪律 班会课件(共23张PPT).pptx VIP
文档评论(0)