ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:526.59KB ,
资源ID:3532540      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3532540.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数字温度计设计剖析.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数字温度计设计剖析.docx

1、数字温度计设计剖析安阳师范学院本科学生毕业论文基于单片机的数字温度计设计作 者 马克思 院 (系) 物理与电气工程学院专 业 电气工程及其自动化年 级 2011级 学 号 111102027 指导老师 恩格斯 日 期 2015.5.1 诚信承诺书郑重承诺:所呈交的论文是作者个人在导师指导下进行的研究工作及取得的研究成果。除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写的研究成果,也不包含为获得安阳师范学院或其他教育机构的学位或证书所使用过的材料。与作者一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。作者签名: 日期:导师签名: 日期:院长签名:

2、日期:论文使用授权说明本人完全了解安阳师范学院有关保留、使用学位论文的规定,即:学校有权保留送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部或部分内容,可以采用影印、缩印或其他复制手段保存论文。保密论文在解密后遵守此规定。作者签名:导师签名:日期:基于单片机的数字温度计设计马克思(安阳师范学院 物理与电气工程学院 河南 安阳 455000)摘 要:在这里基于AT89C51单片机的温度测量及控制系统的硬件结构以及C语言程序设计,选用单片机作为核心部件进行逻辑控制及信号的产生。用单片机本生的优势节约成本,使电路更简单。该系统设计和布线简单,结构紧凑,体积小,重量轻,抗干扰能力强,性价

3、比高,扩展方便,在大型仓库,工厂,智能化建筑等领域的多点温度检测中有广阔的应用前景。 关键词:DS18B20;AT89C51;proteus软件;温度测量1引言温度的测量对人类日常生活、工业生产、气象预报、物资仓储等都起着极其重要的作用,因此研究温度的测量方法和装置具有重要的意义。近年来,温度检测领域发展迅速,并且随着数字技术的发展,温度的测控芯片也相应的登上历史 的舞台,能够在工业、农业等各个领域中广泛使用。1.1本课题的研究意义温度的测量的关键之处是温度传感器,其往往决定着一个温度检测系统的性能。传统的温度检测以热敏电阻和AD590为温度敏感元件。热敏电阻虽成本低, 但需信号处理电路,电路

4、复杂,可靠性较低,测温准确度及抗干扰能力也有一定的不足。近年来,传感器正处于传统型向新型传感器转型的发展阶段。新型的温度传感器的特点是微型化、数字化、智能化、多功能化、系统化、网络化,它提高了抗干扰能力和可靠性,而且使系统结构更简洁,维护方便,缩小了空间。单片机具有集成度高、功能强、体积小、价格低、抗干扰能力等优于一般CPU的优点,因此往往采用单片机作为数字控制器取代模拟控制器。1.2 本课题的基本内容,提出解决问题的方法和措施数字温度计采用温度敏感元件也就是温度传感器(如铂电阻,热电偶,半导体,热敏电阻等),将温度的变化转换成电信号的变化,如电压和电流的变化,温度变化和电信号的变化有一定的关

5、系,如线性关系,一定的曲线关系等,将电信号转换成数字信号。如单片机或者PC机等,处理单元经过内部的软件计算将这个数字信号和温度联系起来,成为可以显示出来的温度数值。该系统利用AT89C52芯片控制温度传感器DS18B20进行时温度检测并显示,能够实现快速检测环境温度。可能遇到的问题及注意事项:(1)较小的硬件开销需要相对复杂的软件进行补偿,由于DS18B20与微处理器间采用串行数据传送,因此,在对DS18B20进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。 (2)在DS18B20的有关资料中均未提及单总线上所挂DS18B20数量问题,容易使人误认为可以挂任意多个DS18B20

6、,在实际应用中并非如此。 (3)连接DS18B20的总线电缆是有长度限制的。(4)在DS18B20测温程序设计中,向DS18B20发出温度转换命令后,程序总要等待DS1820的返回信号,一旦某一个DS18B20接触不好或断线,当程序读该DS18B20时,将没有返回信号,程序进入死循环。1.3本课题拟采用的研究手段(途径)和可行性分析DS18B20采用单总线的接口方式与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。经济性好,抗干扰能力强,适用于恶劣的环境现场温度测量,使用方便。同事测量温度范围宽,在使用中不需要任何外围元件体积更小,可以选用更小的封装方式完成。2 方案设

7、计2.1总体初步方案采用数字温度芯片DS18B20测量温度,输出信号全数字化。便于单片机处理和控制,省去传统的测温方法的很多外围电路。且该芯片的物理化学性质稳定,它温用作工业测温元件,此元件线性较好。在0-100摄氏度时,最大线性偏差小于1摄氏度。DS18B20的最大特点之一是采用了单总数的数据传输,由数字温度计DS18B20和微控制器AT89C51构成温度测量装置,它直接输出温度的数字信号,可直接和计算机连接。这样温度系统的结构就比较简单,体积也不大。采用51单片机控制软件编程的自由度大,而且体积小,硬件实现简单,安装方便。该系统利用AT89C51芯片控制温度传感器DS18B20进行温度的实

8、时检测并显示,能够实现快速测量环境温度。硬件以微控制器为核心,外接时钟电路、复位电路、温度测量电路、LED显示电路组成。硬件设计方案如图1所示。 时钟电路 图2.1 系统硬件框图2.2 方案设计与分析2.2.1 微处理器单片机AT89C2051具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。AT89C51是一个低电压,高性能CMOS 8位单片机,片内含4k bytes的可反复擦写的Flash只读程序存储器和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容

9、标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,内置功能强大的微型计算机的AT89C51提供了高性价比的解决方案。AT89C51是一个低功耗高性能单片机,40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,AT89C51可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。 图2.2 AT89C51单片机的管脚图 AT89C51单片机的管脚功能兼容MCS-51指令系统4k可反复擦写(1000次)Flash R

10、OM32个双向I/O口可编程UARL通道两个16位可编程定时/计数器全静态操作0-24MHz1个串行中断128x8bit内部RAM两个外部中断源共6个中断源可直接驱动LED3级加密位低功耗空闲和掉电模式软件设置睡眠和唤醒功能表2-1 AT89C51单片机的管脚功能XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。2.2.2 复位电路为确保两点间温度控制系统中电路稳定可靠工作,复位电路是必不可少的一 部分,复位电路的第一功能是上电复位。一般电路正常工作需要供电电源为5V5%,即4.755.25V。单片机的初始操作是复位,为了使各专用寄存器和CPU保持一个

11、确定的初始状态。比如:PC的内容初始化为0000H,那么单片机开始从000H开始进行工作。还有当单片机系统在运行操作出错导致使系统成为死锁状态,那么也需要复位还原其恢复正常工作状态。RST端两种外部复位电路方法:1.按键手动复位和上电自动复位。2.按键手动复位有脉冲方式和电平方式,本系统设计采用上电复位,如图2.0所示。上电复位是可以把RST端通过电阻接高电平进行复位。图2.0复位电路2.2.3 时钟电路单片机的时钟信号用来提供单片机内各种微操作的时间基准,时钟电路用于产生单片机工作所需要的时钟信号。单片机的时钟信号用来提供单片机片内各种微操作的时间基准,时钟信号通常用两种电路形式得到:内部振

12、荡和外部振荡。本系统设计采用内部振荡方式,如图2.2.3所示。MCS-51单片机内部有一个用于构成振荡器的高增益反向放大器,引脚XTALl和XTAL2分别是此放大电器的输入端和输出端,由于采用内部方式时,电路简单,所得的时钟信号比较稳定,实际使用中常采用这种方式。2.2.4 温度传感器温度传感器DS18B20将被测环境温度转化成带符号的数字信号(以十六位补码形式,占两个字节)在通过单片机发出命令送给显示器。它的输出脚I/O直接与单片机相连,并接一个上拉电阻,传感器采用外部电源供电。传感器控制程序是按照DS18B20的通信协议编制。系统的工作是在程序控制下,完成对传感器的读写和对温度的显示。DS

13、18B20特点 采用单总线专用技术,既可通过串行口线,也可通过其它I/O口线与微机接口,无须经过其它变换电路,直接输出被测温度值(9位二进制数,含符号位);(2) 测温范围为-55+125,测量分辨率为0.0625;(3) 内含64位经过激光修正的只读存储器ROM;(4) 适配各种单片机或系统机;(5) 用户可分别设定各路温度的上、下限;(6) 内含寄生电源。DS18B20程序流程图如图.2.2.6表2.6 DS18B20程序流程图2.2.5 LED显示电路通过排阻与LED显示器相连组成,电路图如图2.2.7图2.7 LED显示电路图3 整机电路当接通电源以后,温度传感器正常工作,温度传感器将

14、根据被测温度的不同来采集不同的数据,然后将所采集到的数据传送到比较器到中,然后由比较器将采集到的数据转变成高低电平,在送入单片机,单片机通过控制各个引脚电平的高低来来控制温度的显示输出。整机电路图如图3.1图3.1 整机电路图4 仿真与调试4.1仿真与调试此设计的电路在Proteus软件中进行仿真,运行 Proteus 的 ISIS 程序后,进入该仿真软件的主界面。主界面由菜单栏、工具栏、预览窗口、元件选择按钮、元件列表窗口、原理图绘制窗口和仿真进程控制按钮组成(如图7-2所示)。通过元件选择按钮 P (从库中选择元件命令) 命令,在弹出的 Pick Devices 窗口中选择电路所需的元件,

15、放置元件并调整其相对位置,对元件参数设置及元器件间连线,完成单片机系统的硬件原理图绘制。主程序流程图如图4.1所示4.2调试与运行(1)首先启动KEIL C51软件的集成开发环境,从桌面上双击uVision图标以启动软件。(2)建立工程文件。通常单片机应用系统软件包含多个源程序文件,KEIL C51使用工程这一概念,将这些参数设置和所需的所有文件都加在一个工程中。因此,需要建立一个工程文件,并为这个工程选择CPU,确定编译,汇编,连接的参数,指定调试的方式。(3)建立并添加源文件。使用菜单或者单击工具栏的新建文件按钮,出现文本便捷窗口,在该窗口中输入新编制的源程序并保存该文件。然后,我打开已经

16、画好的仿真图,再将生成的HEX文件导入单片机里,点击开始按钮,电路正常工作,并且能够实现预先设想的所有功能,而且效果很好,从而验证了我的程序的正确性。仿真成果图见附录1。5 成品制作5.1 电路板设计由于在 布线过程中需用单层布线,在我的原理图中元件多,所以我将原理图划分为了两块,一块以第一个板块主要以单片机AT89C51和温度传感器为主,用三极管替之,另一块主要以锁存器和LED显示器为主。两块原理图及封装见附录2。5.2 电路板制作 5.2.1 PCB制作流程 PCB板制作流程如表5.2.1所示:钻孔 印PCB板图腐蚀20-30分钟洗涤 烘干焊接图2.1 PCB板制作流程图5.2.2 制作工

17、艺注意事项 钻孔时,不宜将眼睛距离钻机太近,以防碎屑溅入眼内。腐蚀用筷子夹起板子时动作要缓慢,以防硫酸溅到身上。在烤箱烘烤2分钟左右即可,取出时应用夹子等工具夹出,以防烫伤手。焊接时,要正确使用焊笔和焊锡,以防烫伤。在焊接时,还应注意不能让锡将两铜导线短路。5.3器件检测 5.3.1 PCB板检测每一条线路逐个检测,如有些隐形导线腐蚀过度,造成断路的情况,要用锡将其连通。在检查时,我的板子上的线都是完好的。6实验对比分析 图6.1温度传感器正常情况下显示的温度27.8图6.2用手握着温度传感器的情况下显示的温度:30.6由此可知实验设计受外界温度影响,将温度信号的变化转化为电信号的变化显示出来

18、7 结论设计中主要是以AT89C51单片机为核心的,对温度的检测与显示进行了简单的设计与阐述。设计可以说是软硬结合,又以硬件为主。当今科技发展迅速,单片机嵌入式开发有着光明的前景。由于单片机经济实用、开发简便等特点依然在工业控制、家电等领域占据了广泛的市场。在实际的编程以及调试程序过程中,我发现自己应该学的太多太多。光靠自己在书本上所学过的这点知识是远远不够的,真正地认识到了工作就是学习的道理。由于我以前C语言没有认真钻研过,所以感觉设计的任务十分紧迫。通过对本系统的设计,我学习到了硬件开发和软件开发的基本流程并有了一定的驾御此开发过程的能力。编程的过程中,虽然不乏辛苦,但更多的是程序调试成功

19、后的喜悦。总之,这次综合实验对我来说是一次比较全面的、富有创造性和探索性的锻炼,完成了我选题时的心愿。令我深有感触,对于我今后的学习、工作和生活都将是受益非浅的! 加深了对单片机的认识,并且熟悉了单片机系统的设计流程,收获丰硕。技术在不断进步,机械式时钟已经被淘汰,电子时代已经到来。做为新时代的我们,更应该提高自身能力,适应新时代的发展。知识来自实践,多从生活中探寻所需要的。从这次的论文设计中,我真正的体会到,知识的重要性,特别是要理论联系实际,把我们所学的理论知识运用到实际生活当中,要用知识改变一切。8致谢本设计是在指导老师邹玉炜的悉心指导下完成的。从设计的选题,相关资料的查寻,到论文的撰写

20、这一整个过程中,邹老师以其广博的知识、丰富的经验 、清晰的思路,自始至终给我以指导,让我对我的论文设计思路逐渐清晰明朗,每当在我论文设计中遇到困难时充满希望,总能迎刃而解,总之非常感谢他这段时间对我们的鼓励和指导。使我能够顺利完成设计,他严谨的治学态度,精益求精的工作作风和孜孜不倦的求学精神令我受益匪浅。在此设计完成之际,向邹老师表示衷心的感谢!参考文献1刘国钧,王连成.图书馆史研究 M.高等教育出版社,1979.2孙品一.高校学报编辑工作现代化特征C.北京师范大学出版社,1998.3张和生.地质力学系统理论D.太原理工大学出版社,1998.4江力.单片机原理与应用技术M.清华大学出版社 ,2

21、006.5 靳达. 单片机典型模块设计实例导航M.北京:人民邮电出版社,2003.6 刘迎春, 叶湘滨. 传感器原理设计与应用(第三版) M.长沙:国防科技大学出版社,19977潘新民,王燕芳.微型计算机实用系统设计M.北京:人民邮电出版社,1992.Microcontroller Based Digital ThermometerKang Zhenxing(College of Physics & Electrical Engineering ,Anyang Normal University, Anyang, Henan 455000)Abstract: The hardwarestruc

22、ture ofthe temperature measurement and control system of AT89C51 microcontrollerandC programming languagebased onhere,whichadopts a single chip as the core componentsof logic control andsignal.Withtheadvantage ofSCMcost savings, make the circuit simple.The system design and layout is simple,compact

23、structure, small volume,light weight,strong anti-interference ability,high cost,easy to expand,inlarge warehouses,factories,has wide application prospect inintelligent multi-point temperature measurementin the field ofconstruction etc.Key words:DS18B20;AT89C51; Proteus software; temperature measurem

24、ent附录附录1:数字温度计PCB图附录2:数字温度计原理图附录3:元件列表元器件名称型号数量电阻2.2K4个单片机最小系统板AT89C511个温度传感器DS18B201个按键2个晶振12MHz1个瓷片电容30pF2个三极管90124个四位一体共阳数码管ZS5641BS1个电阻10K2个附录4:数字温度计源程序#include #define ui unsigned int#define uc unsigned char /宏定义sbit DQ =P37; /定义DS18B20总线I/O bit bdata fuhao;uc qian,bai,shi,ge;uc code led = 0x5F

25、,0x44,0x9D,0xD5,0xC6,0xD3,0xDB,0x47,0xDF,0xD7;uc code led_dian = 0x7f,0x64,0xbd,0xf5,0xe6,0xf3,0xfb,0x67,0xff,0xf7;/=DS18B20=/*延时子程序*/void Delay(int num) while(num-) ;/*初始化DS18B20*/void Init_DS18B20() DQ = 1; /DQ复位 Delay(8); /稍做延时 DQ = 0; /单片机将DQ拉低 Delay(80); /精确延时,大于480us DQ = 1; /拉高总线 Delay(40);/*

26、读一个字节*/uc ReadOneChar() uc i=0; uc dat = 0; for (i=8;i0;i-) DQ = 0; / 给脉冲信号 dat=1; DQ = 1; / 给脉冲信号 if(DQ) dat|=0x80; Delay(4); return(dat);/*写一个字节*/void WriteOneChar(uc dat) uc i=0; for (i=8; i0; i-) DQ = 0; DQ = dat&0x01; Delay(5); DQ = 1; dat=1; /*读取温度*/ui ReadTemperature() ui a=0,b=0,t=0; float t

27、t=0; Init_DS18B20(); WriteOneChar(0xCC); /跳过读序号列号的操作 WriteOneChar(0x44); /启动温度转换 Init_DS18B20(); WriteOneChar(0xCC); /跳过读序号列号的操作 WriteOneChar(0xBE); /读取温度寄存器 a=ReadOneChar(); /读低8位 b=ReadOneChar(); /读高8位 t=b; t=8; t=t|a; if(t&0xf800) t=t+1; fuhao=1; else fuhao=0; tt=t*0.0625; t=tt*10+0.5; /放大10倍输出并四

28、舍五入 return(t);/*读取温度*/void check_wendu() ui f; f=ReadTemperature(); /获取温度值并减去DS18B20的温漂误差 qian=f/1000; bai=(f%1000)/100; /计算得到十位数字 shi=(f%1000)%100)/10; /计算得到个位数字 ge=(f%1000)%100)%10; /计算得到小数位/*显示温度子程序*/void Disp_Temperature() /显示温度 if(qian=0) if(fuhao=1) P0=0x7f; /1011 1111 else P0=0xff; P2=0xfd; D

29、elay(10); P2 = 0xff; else if(qian!=0) P0 =ledqian; P2 = 0xfd; Delay(10); P2 = 0xff; if(bai=0)&(qian=0) P0=0xff; / P2=0xf7; Delay(10); P2=0xff; else if(bai=0)&(qian!=0) P0=ledbai; P2=0xf7; Delay(10); P2=0xff; else if(bai!=0) P0=ledbai; / P2=0xf7; Delay(10); P2=0xff; P0=led_dianshi; / P2=0xdf; Delay(10); P2=0xff; P0=ledge; /显示符号 P2=0x7f; Delay(10); P2=0xff; /关闭显示/*主函数*/void main() uc z; fo

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1