基于51单片机的数字温度计设计19874_第1页
基于51单片机的数字温度计设计19874_第2页
基于51单片机的数字温度计设计19874_第3页
基于51单片机的数字温度计设计19874_第4页
基于51单片机的数字温度计设计19874_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、电气工程学院题目:基于51单片机的数字温度计设计学生姓名:杨宝班级:自动化083班学号:20084460318指导老师:李兰君,唐耀庚2011年12月26日基于51单片机的数字温度计设计摘要:随着时代的进步和发展,单片机技术已经普及到我们生活,工作的方方面面。单片机已经走进了我们的生活,并有了不可替代的地位。而在工业五大基本参数中,温度的测量尤其广泛,可见精确的温度对于工业发展来看有多大的作用。本文将介绍一种基于单片机的简单数字温度计,本温度计可以毕竟精确地测量并显示温度,并实现上下限的报警功能。关键字:AT89C205俾片机DS18B20温度测量报警正文:第一章绪论温度计这个词对于我们来说应

2、该都算是家喻户晓了,即使在我们孩提时,温度计也是屡见不鲜。那时候我们见得最多的就当体温计了,每次感冒生病了,量体温是必不可少的,再后来我们又见到了气温计等一系列的温度计。但是,这些温度计总的来说都是模拟的,在数字化越来越普及的当代,数字产品的有点已被我们没个人知晓。和传统的温度计相比,数字温度计具有读数方便,测温范围广,测温准确等优点。在一些需要对温度有准确测量的场所,数字温度计有传统温度计无法替代的作用。在社会发展的方向来看,数字式仪表也是科技发展的潮流。该设计是以AT89C205仰片机为控制器,DS18B2(0温度传感器,三位共阴极LED数码管为显示单元,发光二极管当报警装置的数字温度计,

3、基本能够满足实际使用的需要。目前的智能温度传感器(亦称数字温度传感器)是在20世纪90年代中期问世的,它是微电子技术、计算机技术和自动测试技术(ATE)的结晶,特点是能输出温度数据及相关的温度控制量,适配各种微控制器(MCU)社会的发展使人们对传感器的要求也越来越高,现在的温度传感器正在基于单片机的基础上从模拟式向数字式,从集成化向智能化、网络化的方向飞速发展,并朝着高精度、多功能、总线标准化、高可靠性及安全性、开发虚拟传感器和网络传感器、研制单片测温系统等高科技的方向迅速发展,本文将介绍智能集成温度传感器DS18B20勺结构特征及控制方法,并对以此传感器,89C51单片机为控制器构成的数字温

4、度测量装置的工作原理及程序设计作了详细的介绍。和传统的温度计相比,其具有读数方便,测温范围广,测温准确,输出温度采用数字显示,主要用于对测温要求比较准确的场所,或科研实验室使用。该设计控制器使用ATME公司的AT89C51单片机,测温传感器使用DALLAS司DS18B20用液晶来实现温度显示第二章总体设计方案2.1 设计方案方案的选择主要在于温度检测方面的选择,其它方面基本上都差不多。2.1.1 方案一设计一个测温电路,包括温度传感器,温度变送器,A/D转换电路。具体流程为温度传感器测量温度信号,经过温度变送器变换为电流信号,再通过A/D转换器转换为数字信号进入单片机进行处理,再在数码管上显示

5、。采用热电偶温差电路测温,温度检测部分可以使用低温热偶,热电偶由两个焊接在一起的异金属导线所组成(热电偶的构成如图2.1),热电偶产生的热电势由两种金属的接触电势和单一导体的温差电势组成。通过将参考结点保持在已知温度并测量该电压,便可推断出检测结点的温度。数据采集部分则使用带有A/D通道的单片机,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来。热电偶的优点是工作温度范围非常宽,且体积小,但是它们也存在着输出电压小、容易遭受来自导线环路的噪声影响以及漂移较高的缺点,并且这种设计需要用到A/D转换电路,感温电路比较麻烦

6、。2.1.2 方案二温度测量上使用集成芯片DS18B2Q实现温度测量并输出数字信号,由单片机接收。该系统利用AT89C5芯片控制温度传感器DS18B2进行实时温度检测并显示,能够实现快速测量环境温度,并可以根据需要设定上下限报警温度。该系统扩展性非常强,它可以在设计中加入时钟芯片DS13Q2Z获取时间数据,在数据处理同时显示时间,并可以利用AT24C165片作为存储器件,以此来对某些时间点的温度数据进行存储,利用键盘来进行调时和温度查询,获得的数据可以通过MAX232片和计算机的RS232t口进行串口通信,方便的采集和整理时间温度数LED显示系统框图如图2-1-2所示单片机复位=>时神振

7、荡温度传感器图2-1-2DS18B20温度测温系统框图2.1.3 方案选择根据上述两种方案的设计思路可以看出来方案二更加容易实现和操作,而且电路相对简单,软件设计也比较简单,所以应选择方案二。第三章系统的硬件设计根据经验硬件设计思路而得系统的硬件应由一系列的模块组成,根据本设计可以把此数字温度计分解成以下5个基本模块:温度采集模块、数值显示模块、报警模块、单片机模块、外存模块,系统框图如图3.1所示。图3.1系统模块框图3.1 温度采集模块温度测量模块是选用集成芯片DS18B20乍为温度的测量和变送,输出信号为数字信号。DS18B20K用单总线的数据传输,可以直接通过一个I/O口向单片机接收设

8、置信号和向单片机发送温度的测量值o3.1.1 DS18B20的结构DS18B20t耐磨耐碰,体积小,使用方便,封装形式多样等特点。本设计采用的封装为PR-35,其引脚图如3-1-1-1。由图所示,DS18B2以有三个弓I脚,两边的引脚为电源的正于地,中间的信号引脚可以直接于单片机的I/O相连,这就大大简化了温度测量模块的硬件电路。从图3-1-1-2我们可以看出DS18B2呐部结构主要由四部分组成:64位光刻ROM温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。DS13E20123在储黯II麟啸本GMDI/OUDDPR35封装电涯检测64位和蝌接口高速轴帮娥组端温度灵敏元件图3-1-1

9、-1DS18B20引脚图图3-1-1-2DS18B20内部结构图3-1-2DS18B20的工作步骤根据DS18B20勺通讯协议,主机控制DS18B2比成温度转换必须经过三个步骤:每一次读写之前都要对DS18B208行复位,复位成功后发送一条ROM旨令,最后发送RAM旨令,这样才能对DS18B208行预定的操作。复位要求主CPlW数据线下拉500微秒,然后释放,DS18B20攵至IJ信号后等待1660微秒左右,后发出60240微秒的存在低脉冲,主CPU攵到此信号表示复位成功。3-1-3DS18B20于单片机的硬件连接因为DS18B2M以于单片机直接连接,所以连接的硬件电路图非常简单,硬件电路如图

10、3-1-3-1所示。VCCDS1SB2O图3-1-3-1DS18B20于单片机的硬件连接图3.2 数值显示模块数值显示模块由三个带有小数点的七段数码管为主体,外加上拉电阻组成,硬件电路如图3-2-1。增加的上拉电阻是为了提高数码管的电流,依据此图,可以得知显示的范围为0999C。由于只能显示三位,所以精确都也不恒定,由0.01C变化到1C。图3.2.1数值显示模块图3.3 报警模块报警模块由5个发光二极管构成,当测量到的温度值小于报警下限或大于报警上限,发光二极管发光。也可以通过5个发光二极管的发光情况判断报警的是上限报警还是下限报警,报警电路的触发信号是由单片机的P37引脚发出的。报警模块的

11、硬件电路如图3-3-1所示。图3-3-1报警模块电路图3.4 单片机模块单片机模块是系统的控制单元主要复杂系统的调控,如接收温度模块的信号,处理并为显示模块,报警模块等模块提供信号。单片机模块是以AT89C205伪基础外加单片机的外围电路构成,外围电路如晶振电路,复位电路,按键等。3.4.1 晶振电路而输出电路,其硬晶振电路由一个12M的晶振和两个电容构成的一个无输入,件电路如图3-4-1-1所示图3-4-1-1晶振电路图图3-4-2-1复位电路图3-4-2复位电路本设计采用基本的复位电路,硬件电路如图3-4-2-103.5 外存模块,,,2外存模块是由24C08为基础组成了,24C08是8K

12、位串行|C总线EEPROM采用1024X8bit的组织结构以及两线串行接口,具有页写能力。引脚排列和模块电路如图3-5-1。ycWPAHcnA石_MAUAl6P31AJALL反图3-5-124C08的引脚图和外存模块的硬件图外存模块是为了保存一定时间段一定时刻的温度值,用来统计温度在这段时间之中的变化情况第四章系统的软件设计在一个加工程序中,如果其中有些加工内容完全相同或相似,为了简化程序,可以把这些重复的程序段单独列出,并按一定的格式编写成子程序。主程序在执行过程中如果需要某一子程序,通过调用指令来调用该子程序,子程序执行完后又返回到主程序,继续执行后面的程序段。为了进一步简化程序,可以让子

13、程序调用另一个子程序,这种程序的结构称为子程序嵌套。在编程中使用较多的是二重嵌套。|系统的软件主要有下列子程序:温度采集于处理子程序、显示数据子程序、报警子程序、外存存储子程序等,主程序主要是根据实际情况把子程序进行合理的安排运行。4.1 主程序主程序的主要功能是负责温度的实时显示,读出并处理温度采集模块测量的当前温度值,温度测量没1s进行一次。这样可以在1s之内处理完一个采集周期内的其他事情,主程序的流程见图4-1-1。图4-1-1主程序流程图没一秒中采集并刷新显示一次温度值,没五分钟保存一次温度值。4.2 显小子程序显示子程序就是把经过处理过的温度值通过三个数码管显示出来,让我们能够容易而

14、明白地知道即时的温度值。显示子程序先要判断温度值的正负大小来决定三个数码管的分工,通过判断正负来决定第一个数码管显示的是负号还是作为数据,通过判断数据的大小来决定小数点的位置,总共编辑了5种显示方案。显示子程序的流程图如图4-2-1所示。4.3 报警子程序报警子程序是在温度超过上、下限时启动报警,程序流程图如图4-3-1。4.4 外存存储子程序外存存储子程序所要实现的就是没5分钟外存空间存储一次温度值,程序流程图如图4-4-1。MH11图4-3-1报警子程序程序流程图第五章总结该系统硬件电路比较简单明了,主要是由集成芯片和一些电阻电容组成,关键的还是在系统软件方面。系统温度测量范围广,显示范围

15、可以从-99C到999Co当然数字温度计的测量范围不会这么大,但因小数点位置变化而引起显示情况的增加,就造成程序的复杂性增加了。此系统是一个基础的数字温度计系统,技术含量不是非常高,只是由一些基本的电路,子程序组成,但是组成系统的子程序比较多,这就在我们做系统时的细心是个考验。经过调试,本系统基本能满足设计要求。从这次的课程设计中,我真真正正的意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识用到实际当中,学习单机片机更是如此,程序只有在经常的写和读的过程中才能提高,这就是我在这次课程设计中的最大收获。最后,还要感谢我的指导老师和热心的同学,在他们的帮助下我的课程设计才能顺利完成,谢

16、谢你们!附录一:系统原理图RE5FTVCCP30CRXD)P37P3.KT3CD)PltiXTAL2PSXTALLPWF32a)aT0)F33P33(MT)P3P3.4(TD)PLSWPP3.5(TL)PLUMPSGKDP31附录二:系统PCB图附录三:系统3D仿真图附录四:系统元器件清单AT89C205124C08DS18B20晶振、4.7k电阻、10k电阻、电解电容各一个,按键两个,1k电阻8个,发光二极管5个,100pF电容两个附录五:部分程序#include<reg52.h>#defineucharunsignedchar#defineuintunsignedintsbit

17、DQ=P1A4;ds18b20和单片机连接口unsignedcharcodeStr=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x39;/共阴数码管字码表unsignedcharcodestr1=0x0bf,0x86,0x0db,0x0cf,0x0e6,0x0ed,0x0fd,0x87,0x0ff,0x0ef,0x39;/个位带小数点字码表unsignedcharcodewei=0x0fe,0x0fd,0x0fb,0x0f7;uchardatadisdata5;uinttvalue;/温度值uchartflag;/温度正负标志/*ds1

18、820延时1微秒*/voiddelay_18B20(unsignedinti)/while(i-);)voidds1820rst()/*ds1820复位*/unsignedcharx=0;DQ=1;/DQ复位delay_18B20(4);/延时DQ=0;/DQ拉低delay_18B20(100);/精确延时大于480usDQ=1;/拉高delay_18B20(40);)uchards1820rd()/*读数据*/unsignedchari=0;unsignedchardat=0;for(i=8;i>0;i-)DQ=0;/给脉冲信号dat>>=1;DQ=1;/给脉冲信号if(D

19、Q)dat|=0x80;delay_18B20(10);)return(dat);)voidds1820wr(ucharwdata)/*写数据*/unsignedchari=0;for(i=8;i>0;i-)DQ=0;DQ=wdata&0x01;delay_18B20(10);DQ=1;wdata>>=1;read_temp()/*读取温度值并转换*/uchara,b;ds1820rst();ds1820wr(0xcc);/*跳过读序列号*/ds1820wr(0x44);*启动温度转换*/ds1820rst();ds1820wr(0xcc);/*跳过读序列号*/ds1820wr(0xbe);/*读取温度*/a=ds1820rd();b=ds1820rd();tvalue=b;tvalue<<=8;tvalue=tvalue|a;if(tvalue<0x0fff)tflag=0;elsetvalue=tvalue+1;tflag=1;tvalue=tvalue*(0.625);温度值扩大10倍,精确到1位小数return(tvalue);尸*1voidds1820disp()/温度值显示ucharflagdat;uchari;disdata0=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论