欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    毕业设计(论文)基于AT89C2051单片机的数字温度计设计.doc

    • 资源ID:3978666       资源大小:1.82MB        全文页数:26页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    毕业设计(论文)基于AT89C2051单片机的数字温度计设计.doc

    河南工业职业技术学院学校毕业设计姓 名: 学 号:系 部: 电子工程系 专 业: 电子信息工程技术 设计题目: 数字温度计 指导教师: 2011 年 5 月 摘 要 温度测量在物理实验、医疗卫生、食品生产等领域,尤其在热学试验中,有特别重要的意义。随着人们生活水平的不断提高,,人们对温度计的要求越来越高,传统的温度计功能单一、精度低,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从单片机技术入手,一切向着数字化控制,智能化控制方向发展数字温度计(Digital Thermometer)简称D温度是许多监控系统中的一个重要参数。TM,它是采用数字化测量技术,把连续的温度值转换成不连续、离散的数字形式并加以显示的仪表。采用单片机控制的数字温度计,由于精度高、可扩展性强、集成方便、抗干扰能力强,得到了广泛的应用。本设计以单片机和温度传感器为核心,设计数字温度计。实现对温度的采集、监视和报警。在温度采集的实现中,使用了AT89C2051单片机和温度传感器DS18B20,温度监视部分利用动态驱动技术,以单片机驱动4位LED数码管。温度测量范围-55+125,通过按键设置上下限报警温度,并用4位共阳极LED数码管以串口传送数据,实现温度显示,能准确达到设计要求。正文还介绍了集成温度传感器DS18B20的原理,AT89C2051单片机功能和应用,给出了硬件系统的各部分电路及相关程序。关键词:单片机AT89C2051; 温度传感器DS18B20; 温度; 测量 ABSTRACTTemperature measurement in physics experiments, medical and health, food production and other fields, especially in the thermal test, has a special significance. With the continuous improvement of living standard, people have become increasingly demanding on the thermometer, the thermometer features a traditional single, low precision work for the modern, scientific research, life and provide better and more convenient facilities to need SCM technology start, all toward the digital control, intelligent control direction Digital thermometer (Digital Thermometer) referred to as D temperature monitoring system is one of many important parameters. TM, it is the use of digital measuring technology to convert the continuous temperature is not continuous, discrete digital form and displayed in the instrument. Controlled by single chip digital thermometer, due to high precision, scalability, easy integration, anti-interference ability, has been widely used. The design of a microcontroller and temperature sensors as the core, design digital thermometer. To achieve the collection of temperature, monitoring, and alarm. In the temperature acquisition implementation, using the AT89C2051 microcontroller and temperature sensor DS18B20, temperature monitoring part of the dynamic drive technology, a microcontroller-driven four LED digital tube. Temperature measurement range -55 +125 , through the upper and lower alarm temperature setting button, and with four common anode LED digital serial transmission of data to achieve temperature display, It can meet the design requirements. Text also introduces the principles of Integrated Temperature Sensor DS18B20, AT89C2051 microcontroller features and applications, given the various parts of the circuit hardware and related procedures. Key words: microcontroller AT89C2051; temperature sensor DS18B20; temperature; measurement 目 录一、 引言 1 二、系统设计方案 22.1 系统设计要求 22.2 系统的组成结构与工作原理 2三、硬件电路设计 33.1 器件选择 33.1.1 AT89C2051简介 33.1.2 DS18B20简介 43.2 系统硬件电路 83.2.1 主板电路 83.2.2 显示电路 10四、系统软件设计 124.1主程序 124.2 读出温度子程序. 134.3 计算温度子程序 13五、 总结 14致 谢. 15 参考文献 16 附录源程序 17一、 引言 温度是许多监控系统中的一个重要参数。温度测量在物理实验、医疗卫生、食品生产等领域,尤其在热学试验中,有特别重要的意义。随着人们生活水平的不断提高,,人们对温度计的要求越来越高,传统的温度计功能单一、精度低,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从单片机技术入手,一切向着数字化控制,智能化控制方向发展。数字温度计(Digital Thermometer)简称DTM,它是采用数字化测量技术,把连续的温度值转换成不连续、离散的数字形式并加以显示的仪表。采用单片机控制的数字温度计,由于精度高、可扩展性强、集成方便、抗干扰能力强,得到了广泛的应用。本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用,该设计控制器使用单片机AT89C2051,测温传感器使用DS18B20,因其内部集成了A/D转换器,使得电路结构更加简单,而且减少了温度测量转换时的精度损失,使得测量温度更加精确。数字温度传感器DS18B20只用一个引脚即可与单片机进行通信,大大减少了接线的麻烦,使得单片机更加具有扩展性。由于DS18B20芯片的小型化,更加可以通过单跳数据线就可以和主电路连接,故可以把数字温度传感器DS18B20做成探头,探入到狭小的地方,增加了实用性。本设计用4位共阳极LED数码管以串口传送数据,实现温度显示,能准确达到设计要求。二、系统设计方案2.1 系统设计要求本设计中计算机利用单片机对温度传感器采集到的温度数据定时采样,并在数码管上显示,LED数码直读显示。2.2 系统的组成结构与工作原理数码管显示温度DS18B20温度采样单片机图1 温度测控系统结构图其工作过程为:单片机定时采集温度传感器所感应到的被测对象的表面温度,并将采集到温度数据显示在数码管上.三、 硬件电路设计3.1 器件选择系统硬件主要包括: 单片机AT89C2051,传感器DS18B20、共阳数码管等。其中单片机主要完成外围硬件的控制以及一些运算功能,传感器完成信号的采样功能,LED完成温度值的显示功能。3.1.1 AT89C2051简介单片机的可擦除只读存储器可以反复擦除100次。AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C2051是一种高效微控制器。AT89C2051单片机主要特性有(1)与MCS-51 兼容;(2)4K字节可编程闪烁存储器;(3)寿命有1000写/擦循环;(4)数据保留时间可达10年;(5)全静态工作:0Hz-24Hz;(6)三级程序存储器锁定;(7)128*8位内部RAM;(8)32可编程I/O线;(9)两个16位定时器/计数器;(10)5个中断源 ;(11)可编程串行通道(12);低功耗的闲置和掉电模式;(13)片内振荡器和时钟电路。AT89C2051引脚图如下: 图2 AT89C2051引脚图AT89C2051管脚说明如下:VCC:供电电压GND:接地   P1口:P1口是一个内部提供上拉电阻的8位双向I/O口, P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。    P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流,这是由于上拉的缘故。 P3口也可作为AT89C2051的一些特殊功能口:P3.0 RXD:串行输入口;P3.1 TXD:串行输出口:P3.2 /INT0外部中断0;P3.3 /INT1:外部中断1;P3.4 T0:记时器0外部输入;P3.5 T1:记时器1外部输入;P3.7 /RD:外部数据存储器读选通,同时,P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。   XTAL2:来自反向振荡器的输出。3.1.2 DS18B20简介DS18B20是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现912位的数字值读数方式。DS18B20具有独特的单线接口仅需要一个端口引脚进行通信;多个DS18B20可以并联在惟一的三线上,实现多点组网功能;可通过数据线供电;温度以9或12位数字;用户可定义报警设置;电源极性接反时,温度计不会因发热而烧毁,但不能正常工作等性能特点。C64 位ROM和单线接口高速缓存存储器与控制逻辑温度传感器高温触发器TH低温触发器TL配置寄存器8位CRC发生器VddI/O 图 3 DS18B20内部结构DS18B20温度传感器的内部存储器还包括一个高速暂存RAM和一个非易失性的可电擦除的EERAM。高速暂存RAM的结构为8字节的存储器,结构如图4所示。头2个字节包含测得的温度信息,第3和第4字节TH和TL的拷贝,是易失的,每次上电复位时被刷新。第5个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值。该字节各位的定义如图4所示。低5位一直为,TM是工作模式位,用于设置DS18B20在工作模式还是在测试模式,DS18B20出厂时该位被设置为0,用户要去改动,R1和R0决定温度转换的精度位数,来设置分辨率。温度 LSB温度 MSBTH用户字节1TL用户字节2配置寄存器保留保留保留CRC图4 DS18B20字节定义由表1可见,DS18B20温度转换的时间比较长,而且分辨率越高,所需要的温度数据转换时间越长。因此,在实际应用中要将分辨率和转换时间权衡考虑。高速暂存RAM的第6、7、8字节保留未用,表现为全逻辑1。第9字节读出前面所有8字节的CRC码,可用来检验数据,从而保证通信数据的正确性。当DS18B20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1、2字节。单片机可以通过单线接口读出该数据,读数据时低位在先,高位在后,数据格式以0.0625LSB形式表示。当符号位S0时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;当符号位S1时,表示测得的温度值为负值,要先将补码变成原码,再计算十进制数值。表2是一部分温度值对应的二进制温度数据。 图5 DS18B20温度转换时间表DS18B20完成温度转换后,就把测得的温度值与RAM中的TH、T字节内容作比较。若TH或TTL,则将该器件内的报警标志位置位,并对主机发出的报警搜索命令作出响应。因此,可用多只DS18B20同时测量温度并进行报警搜索。在64位ROM的最高有效字节中存储有循环冗余检验码(CRC)。主机ROM的前56位来计算CRC值,并和存入DS18B20的CRC值作比较,以判断主机收到的ROM数据是否正确。DS18B20的测温原理是这样的,器件中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器;高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为减法计数器的脉冲输入。器件中还有一个计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲进行计数进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将55所对应的一个基数分别置入减法计数器、温度寄存器中,计数器和温度寄存器被预置在55所对应的一个基数值。 减法计数器对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器的预置值减到时,温度寄存器的值将加,减法计数器的预置将重新被装入,减法计数器重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器计数到时,停止温度寄存器的累加,此时温度寄存器中的数值就是所测温度值。其输出用于修正减法计数器的预置值,只要计数器门仍未关闭就重复上述过程,直到温度寄存器值大致被测温度值。温度/二进制表示十六进制表示+1250000 0111 1101 000007D0H+850000 0101 0101 00000550H+25.06250000 0001 1001 00000191H+10.1250000 0000 1010 000100A2H+0.50000 0000 0000 00100008H00000 0000 0000 10000000H-0.51111 1111 1111 0000FFF8H-10.1251111 1111 0101 1110FF5EH-25.06251111 1110 0110 1111FE6FH-551111 1100 1001 0000FC90H 图6 部分温度值对表另外,由于DS18B20单线通信功能是分时完成的,它有严格的时隙概念,因此读写时序很重要。系统对DS18B20的各种操作按协议进行。操作协议为:初使化DS18B20(发复位脉冲)发ROM功能命令发存储器操作命令处理数据。3.2系统硬件电路3.2.1 主板电路系统整体硬件电路包括,传感器数据采集电路,温度显示电路,单片机主板电路等 。+该试验板采用DS18B20温度传感器作为温度接收器件,将采样的温度以二进制代码的形式传送给单片机AT89C2051,单片机将接收到的二进制信息经过运算在以十进制的形式在数码管上显示其温度值,以便于直观读取。其图如下 图7 电路图其 PCB图如下 图8 PCB图 图9 实物图3.2.2 显示电路显示电路是使用的动态扫描方式显示,这种显示最大的优点就是使用口资源比较少,两个数码管只用一个P1口就可以实现。图10温度显示电路四、系统软件设计系统程序主要包括主程序,读出温度子程序,温度转换命令子程序,计算温度子程序,显示数据刷新子程序等4.1主程序主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量的当前温度值,温度测量每1s进行一次。这样可以在一秒之内测量一次被测温度,其程序流程见所示。开始 对温度进行采样 单片机对采样值进行分析将温度在数码管上显示图 11 主程序流程图4.2 读出温度子程序DS18B20 中 的温度传感器对 外界温度进行读取,传给单片机。4.3 计算温度子程序计算温度子程序将RAM中读取值进行BCD码的转换运算,并进行温度值正负的判定,其程序流程图如图所示发DS18B20复位命令发跳过ROM命令发温度转换开始命令 结束图10计算温度流程图五、 总结此次毕业设计是我大学生活重要的一步。从最初的选题,开题到写论文直到完成论文。其间,查找资料,与同学交流,反复修改论文,每一个过程都是对自己能力的一次检验和充实。通过这次实践,锻炼了设计实践能力,、此次毕业设计是对我专业知识和专业基础知识一次实际检验和巩固,同时也是走向工作岗位前的一次热身。 这次毕业设计收获很多,比如学会了查找相关资料相关标准,分析数据,提高了自己的制作能力。 终于完成了我的单片机课程设计,虽然没有完全达到设计要求,但从心底里说,还是高兴的,毕竟这次设计放了很多心血进去,高兴之余不得不深思呀!在本次设计的过程中,我发现很多的问题,比如缺乏综合应用专业知识的能力,对材料的不了解等等。由于时间有限,完成的不是很好。这次实践是对自己大学三年所学的一次大检阅,使我明白自己知识还很不全面。马上要毕业了,自己的求学之路还很长,以后更应该在工作实践中不断学习,努力使自己 成为一个对社会有所贡献的人。单片机课程设计重点就在于软件算法的设计,需要有很巧妙的程序算法,虽然以前写过几次程序,但我觉的写好一个程序并不是一件简单的事,只有我们去试着做了,才能真正的掌握,只学习理论有些东西是很难理解的,更谈不上掌握。从这次的课程设计中,我真真正正的意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识用到实际当中,学习单机片机更是如此,程序只有在经常的写与读的过程中才能提高,这就是我在这次课程设计中的最大收获。 致 谢漫长的设计接近了尾声,从开始的迷茫到现在的任务的完成。走过弯路,想过放弃,最后还是坚持下来了。开始的工作举步唯艰,只能是漫长的调研和上网查询,收获甚微,只好无数次的猜想和论证,走了很多弯路,感受到了什么叫万事开头难。虽然设计任务完成了,但还有很多需要改进的方面,我的努力只能说是此新课题的一个开始,希望在以后的设计中能被更多的同学去进行大胆和新思路的创新,逐步完善这个课题,吸收和借鉴国外和国内先进和时尚的理念,设计开发我们自己特色的产品。本文是在我的老师的悉心指导下以及同学的细心帮助下完成的,在论文的准备及撰写过程中,老师提出了 许多建议,同学提出了许多宝贵的意见。无论在学习上还是在日常生活中,都给予了我很大的帮助,令我受益匪浅。这次设计还是有好多不足,例如在设计电路时没有考虑报警装置,数码管显示只用了两个,能力欠缺,考虑不全,以后更要努力! 参考文献1 Lu L, Shen Y F, Chen X H, Qian L H, Lu K. Ultrahigh Strenth and High Electrical Conductivity in Copper J. Science, 2004, 304 (56): 422-426.2 张泰华,杨业敏,赵亚涛,白以龙MEMS材料力学性能的测试技术J力学进展,2002,32(4):545-562.3 徐滨士纳米表面工程M北京:化学工业出版社,2003.4 李东,陈怀宁,林泉洪高能喷丸表面纳米化技术提高接头疲劳强度的可行性研究C第十次全国焊接会议论文集(第2册)北京:2001234-237.5 王德华H-离子在强电场和磁场作用下光剥离截面的振荡特性研究D济南:山东师范大学,2003.6王明亮关于中国学术期刊标准化数据库系统工程的进展Z. 7李朝青.单片机原理及接口技术(简明修订版).杭州:北京航空航天大学出版社,19988李广弟.单片机基础.北京:北京航空航天大学出版社,199649阎石.数字电子技术基础(第三版). 北京:高等教育出版社,199910廖常初.现场总线概述J.电工技术,1999.11 丁元杰.单片微机原理及应用.机械工业出版社,200812 谢自美.电子线路设计实验测试.华中科技大学出版社,2006附录源程序 #include<AT892051.h> #include<intrins.h> #define uint unsigned int #define uchar unsigned char sbit DQ=P35; bit init_1820(); void write_1820(uchar dat);c uchar read_1820(); void ready(); void display(uchar a,uchar b); void delay(uint xms)uchar i,j;for(i=0;i<xms;i+)for(j=0;j<125;j+); uchar code smg=0xC0,0xF9,0xA4,0xB0,0x99, 0x92,0x82,0xF8,0x80,0x90; void main() uchar th,tl,time,shi,ge; while(1) ready();tl=read_1820();th=read_1820();time=th*16+tl/16;shi=(time%100)/10;ge=time%10;display(shi,ge); bit init_1820() uchar flag; uchar i; DQ=1;for(i=0;i<2;i+);DQ=0;for(i=0;i<200;i+);DQ=1;for(i=0;i<10;i+);flag=DQ;for(i=0;i<200;i+);return flag; void write_1820(uchar dat) uchar i,j; for(j=0;j<8;j+) DQ=1;_nop_();DQ=0;DQ=dat&0x01;for(i=0;i<10;i+);DQ=1;for(i=0;i<1;i+);dat>>=1;for(i=0;i<4;i+); uchar read_1820() uchar dat,i,j;for(j=0;j<8;j+) DQ=1;_nop_();DQ=0;_nop_();DQ=1;for(i=0;i<2;i+);dat>>=1;if(DQ=1)dat=dat|0x80;elsedat=dat|0x00;for(i=0;i<5;i+);return dat; void ready() init_1820();write_1820(0xcc);write_1820(0x44);init_1820();write_1820(0xcc);write_1820(0xbe); void display(uchar a,uchar b) P2=0xfe;P0=smga;delay(10);P2=0xfd;P0=smgb;delay(10);

    注意事项

    本文(毕业设计(论文)基于AT89C2051单片机的数字温度计设计.doc)为本站会员(laozhun)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开