温度检测系统设计 温度检测系统论文.doc_第1页
温度检测系统设计 温度检测系统论文.doc_第2页
温度检测系统设计 温度检测系统论文.doc_第3页
温度检测系统设计 温度检测系统论文.doc_第4页
温度检测系统设计 温度检测系统论文.doc_第5页
免费预览已结束,剩余27页可下载查看

下载本文档

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

文档简介

河南工程学院毕业设计基于AT89C52温度检测系统的设计学生姓名 王欢欢系(部) 电气信息工程系专 业 电子信息工程技术指导教师 詹自熬2009年月日河南工程学院毕业设计摘 要随着现代信息技术的飞速发展,在工业生产中温度的准确测量是一个比较困难的事情从最初的酒精、水银温度计到现在的数字化、集成化的温度检测系统。可见传感器的发展是飞快的。它快速的发展必将带来新一轮的工业化的革命和社会发展的飞跃。本文从硬软件两个方面介绍了基于AT89C52单片机温度自动检测系统的设计。系统硬件由控制电路、温度采集电路、键盘和LED显示电路组成。软件设计从设计思路、软件系统框图出发,先介绍整体的思路后,再逐一分析各模块程序算法的实现,最终编写出满足任务需求的程序。最终通过DS18B20采集温度并显示出来,由此对周围环境的温度进行有效检测与报警。基本上满足了温度检测与报警的要求,具有超调量小,采样值与设定值基本一致,操作简单等优点。本设计创新点在于采用数字式温度传感器DS18B20 作为感温元件, 占用单片机引脚少, 因而可以利用空余引脚通过软件模拟和温度显示。关键词: 温度检测 AT89C52 LED显示器 DS18B20温度传感器AbstractWith modern information technology to the rapid development of industrial production in the accurate measurement of temperature is a more difficult task from the initial alcohol, mercury thermometer to the current digital, integrated temperature detection system. The development of sensors can be seen fast. Its rapid development will bring a new round of industrialization and social development of the revolutionary leap forward.In this paper, two aspects of hardware and software introduced AT89C52 single-chip microcomputer-based system automatically detects the temperature of the design. System hardware is made of the control module, temperature acquisition module, and keyboard and display modules. Software design ideas from the design, software, system block diagram, the first introduced the idea of a whole and then to analyze the procedures of the algorithm module, the ultimate task of preparing to meet needs. DS18B20 collected through the final temperature and show the resulting temperature of the surrounding environment for effective detection and alarm. To meet the basic needs of the temperature detection and alarm requirements, with a small amount of overshoot, sample values are basically the same settings, the advantages of simple operation. The design innovation is the use of digital temperature sensor DS18B20 as temperature components, pin less occupied by single-chip, which can use the spare pins through software simulation and temperature display.Key words: Temperature Measuring AT89C52 LED display DS18B20 Temperature Sensor目 录第一章 绪论1第一节 系统背景1第二节 系统概述1第二章 系统方案设计3第一节 方案一3第二节 方案二3第三节 方案论证4第三章 硬件电路设计5第一节 系统总体设计5第二节 各部分硬件电路设计5一、时钟电路设计5二、看门狗电路设计6三、报警与控制电路设计8四、LED显示电路设计9五、温度检测电路设计10第四章 软件设计12第一节 主程序方案12第二节 各个模块子程序设计13一、温度采集程序13二、数码管显示模块16三、温度处理程序17四、EEPROM处理程序17第五章 系统调试20结 束 语21参考文献22附录一:系统原理图23附录二: 主程序清单24致 谢28III第一章 绪 论第一节 系统背景测量控制的作用是从生产现场中获取各种参数,运用科学计算的方法,综合各种先进技术,使每个生产环节都能够得到有效的控制,不但保证了生产的规范化、提高产品质量、降低成本,还确保了生产安全。所以,测量控制技术已经被广泛应用于炼油、化工、冶金、电力、电子、轻工和纺织等行业。温度采集控制系统是在嵌入式系统设计的基础上发展起来的。嵌入式系统虽然起源于微型计算机时代,但是微型计算机的体积、价位、可靠性,都无法满足广大对象对嵌入式系统的要求,因此,嵌入式系统必须走独立发展道路。这条道路就是芯片化道路。将计算机做在一个芯片上,从而开创了嵌入式系统独立发展的单片机时代。单片机以其集成度高、运算速度快、体积小、运行可靠、价格低廉等优势,在过程控制、数据采集、机电一体化、智能化仪表、家用电器以及网络技术等方面得到了广泛的应用,特别是单片机嵌入式技术的开发与应用,标志着计算机发展史上又一个新的里程碑。作为计算机两大发展方向之一的单片机,以面向对象的实时控制为己任,嵌入到如家用电器、汽车、机器人、仪器仪表等设备中,使其智能化。目前国内外各大电气公司,大的半导体厂商正在不断的开发、使用单片机,使其无论在控制能力,减小体积,降低成本,还是开发环境的改善等方面,都得到空前迅速的发展。温度检测控制系统在工业生产、科学研究和人们的生活领域中,得到了广泛应用。在工业生产过程中,很多时候都需要对温度进行严格的监控,以使得生产能够顺利的进行,产品的质量才能够得到充分的保证。使用自动温度控制系统可以对生产环境的温度进行自动控制,保证生产的自动化、智能化能够顺利、安全进行,从而提高企业的生产效率。温度检测系统应用十分广阔。第二节 系统概述本器件以AT89C52单片机系统进行温度采集与控制,AT89C52的时钟为11.0592M,I/O口可达32个,高的时钟频率和丰富的I/O,都为实现电路功能提供了非常有利的条件。同时也AT89C52内含4KB FLASH ROM,开发环境友好,易用,方便,大大加快本系统设计开发。实时显示电路的设计,使温度信息更迅速,直观地发布。本制作的设计中使用了传感器的只是插座电路,因此,该系统的可扩展性很强。整个系统硬件简单、可靠,系统成本低。温度信号由模拟温度传感器DS18B20采集串行转换输入AT89C52,温度数据传输采用RS485多机通讯,主控器能对各温度检测器通过串行传输线实现远程温度数据的传输以及显示。本机实现了: 检测温度范围:0+100。 检测分辨率1。 各检测器与主控器之间的距离100米(实验中用10米传输线代替) 各检测器单元可显示检测的温度值。 设计并制造了各检测器及主控器所用的直流稳压电源。由单相220V交流电压供电。第二章 系统方案设计第一节 方案一采用普通电阻式温度传感器,放大器,A/D转换器作为测量温度的电路。采用两种不同材质的导体,如在某点互相连接在一起,对这个连接点加热,在它们不加热的部位就会出现电位差。这个电位差的数值与不加热部位测量点的温度有关,和这两种导体的材质有关。这种现象可以在很宽的温度范围内出现,如果精确测量这个电位差,再测出不加热部位的环境温度,就可以准确知道加热点的温度。由于它必须有两种不同材质的导体,所以称之为“热电偶”。不同材质做出的热电偶使用于不同的温度范围,它们的灵敏度也各不相同。热电偶的灵敏度是指加热点温度变化1时,输出电位差的变化量。对于大多数金属材料支撑的热电偶而言,这个数值大约在540微伏之间。热电偶传感器有自己的优点和缺陷,它灵敏度比较低,容易受到环境干扰信号的影响,也容易受到前置放大器温度漂移的影响,因此不适合测量微小的温度变化。由于热电偶温度传感器的灵敏度与材料的粗细无关,用非常细的材料也能够做成温度传感器。也由于制作热电偶的金属材料具有很好的延展性,这种细微的测温元件有极高的响应速度,可以测量快速变化的过程。第二节 方案二采用数字可编程温度传感器作为温度检测元件。数字可编程温度传感器可以直接读出被测温度值。不需要将温度传感器的输出信号接到A/D转换器上,减少了系统的硬件电路的成本和整个系统的体积。美国Dallas半导体公司的数字化温度传感器DS1820是世界上第一片支持 “一线总线”接口的温度传感器,在其内部使用了在板(ON-B0ARD)专利技术。全部传感元件及转换电路集成在形如一只三极管的集成电路内。“一线总线”独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。现在,新一代的DS18B20体积更小、更经济、更灵活。使你可以充分发挥“一线总线”的优点。 同DS1820一样,DS18B20也支持“一线总线”接口,测量温度范围为-55C+125C,在-10+85C范围内,精度为0.5C。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。与前一代产品不同,新的产品支持3V5.5V的电压范围,使系统设计更灵活、方便。而且新一代产品更便宜,体积更小它还有很多特性:适应电压范围更宽,电压范围:3.05.5V,寄生电源方式下可由数据线供;独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯;DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温;DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内;温范围55125,在-10+85时精度为0.5;可编程的分辨率为912位,对应的可分辨温度分别为0.5、0.25、0.125和0.0625,可实现高精度测温;在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快;测量结果直接输出数字温度信号,以“一线总线”串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力;负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。第三节 方案论证方案一硬件电路复杂,需要设计A/D转换电路,以及与其相关的编程,总体设计起来较困难,软件、硬件调试复杂,硬件成本较高。而且器传感器有以下缺点:它灵敏度比较低,容易受到环境干扰信号的影响,也容易受到前置放大器温度漂移的影响。所以总体来说,方案一在硬件、软件上的成本都比较高,而且易受外部环境的影响,系统工作不稳定。方案二由于采用的是具有一总线特点的温度传感器,所以电路连接简单;而且该传感器拥有强大的通信协议,同过几个简单的操作就可以实现传感器与单片机的交互,包括复位传感器、对传感器读写数据、对传感器写命令。软件、硬件易于调试,制作成本较低。也使得系统所测结果精度大大提高。经过对这两种方案的比较,本设计决定采用方案二。第三章 硬件电路设计第一节系统总体设计本次设计采用采样值和键盘设定值进行比较运算的方法来简单精确地控制温度。它的整体思想是先通过键盘输入设定温度的范围,保存在AT89C52的指定单元中,再利用温度传感器DS18B20进行信号的采集,送入单片机中,保存在采样值单元。然后把采样值与设定值进行比较运算,得出控制量,从而调节继电器触发端的通断,来实现将温度控制在一定的范围内。单片机控制系统是一个完整的智能化的集数据采集、显示、处理、控制于一体的系统。由传感器、LED显示单片机及执行机构控制部分等组成。系统结构框图如图3.1所示。图.1 系统硬件结构框图第二节 各部分硬件电路设计一、时钟电路设计时钟电路是用来产生AT89C52单片机工作时所必须的时钟信号,AT89C52本身就是一个复杂的同步时序电路,为保证工作方式的实现,AT89C52在唯一的时钟信号的控制下严格的按时序执行指令进行工作 ,时钟的频率影响单片机的速度和稳定性。通常时钟由于两种形式:内部时钟和外部时钟。我们系统采用内部时钟方式来为系统提供时钟信号。AT89C52内部有一个用于构成振荡器的高增益反向放大器,该放大器的输入输出引脚为XTAL1和XTAL2,它们跨接在晶体振荡器和用于微调的电容,便构成了一个自激励振荡器。电路中的C1、C2的选择在30PF左右,但电容太小会影响振荡的频率、稳定性和快速性。晶振频率为在1.2MHZ12MHZ之间,频率越高单片机的速度就越快,但对存储器速度要求就高。为了提高稳定性我们采用温度稳定性好的NPO电容,采用的晶振频率为12MHZ。本次系统的时钟电路设计如图3.2所示。图3.2 时钟电路图二、看门狗电路设计在单片机的工作现场,存在着各种各样的干扰源。这些干扰源很可能引起程序跑飞,造成死机或程序的非正常运行,如不及时复位,容易造成损失。为了保证单片机稳定而可靠的运行,需要电压监控电路,避免掉电时能及时把重要数据保护起来。看门狗就是在程序跑飞或死机时,对系统进行重新置位或者复位,以使系统恢复正常运行的一种专用电路。现在常用的看门狗主要有两种:软件狗和硬件狗。软件狗实际上就是通常所说的软件陷阱,是纯软件的处理方法。硬件狗现在更多地被采用。所谓硬件狗,就是一个能够发出“复位”信号的计数器或定时器电路。本次设计使用的复位芯片为IMP813L微处理器专用监控器,构成的看门狗电路如图3.3所示。图3.3 看门狗电路与单片机的连接1. IMP813L 的引脚功能(1)人工复位输入端可直接与复位开关相连,当其电压降至0.8V 以下时片内产生一高电平有效的复位脉冲,宽度为140 280ms,可有效地消除机械开关的抖动。(2)WDI 看门狗检测输入端当此端跳变为低电平或高电平时,片内的看门狗定时器开始计数,若低电平或高电平的维持时间等于1. 6s,看门狗定时器完成计数,端输出低电平。(3)看门狗输出当内部看门狗定时器完成1. 6s 计数,该端输出低电平,看门狗定时器清零后它又恢复为高电平。且当电源电压( VCC ) 低于复位门限电压(4. 65V )时, 端也变为低电平;当VCC 上升到复位门限电压以上, 该端变为高电平(无效) 且无延时。(4) RST 复位信号输出端高电平有效,当VCC 上升超过复位门限电压或 端由低电平变为高电平后,该端仍保持200ms 有效高电平。当VCC 低于复位门限电压,该端一直有效。( 5) PFI 电源故障监控输入端当PFI端电压(V PF I)小于1. 25V 时,端变为低电平。( 6) 电源故障输出端当V PF I 0;i-) DQ = 0; / 给脉冲信号 dat=1; DQ = 1; / 给脉冲信号 if(DQ) dat|=0x80; delay(4); return(dat);/写一个字节WriteOneChar(unsigned char dat) unsigned char i=0; for (i=8; i0; i-) DQ = 0; DQ = dat&0x01; delay(5); DQ = 1; dat=1; /读取温度ReadTemperature(void)unsigned char a=0;unsigned char b=0;unsigned int t=0;float tt=0;Init_DS18B20();WriteOneChar(0xCC); / 跳过读序号列号的操作WriteOneChar(0x44); / 启动温度转换Init_DS18B20();WriteOneChar(0xCC); /跳过读序号列号的操作WriteOneChar(0xBE); /读取温度寄存器等(共可读9个寄存器) 前两个就是温度a=ReadOneChar();b=ReadOneChar();t=b;t=8;t=t|a;tt=t*0.0625;t= tt*100;return(t);2、 数码管显示模块 本系统采用共阳极数码管,用模拟串口的动态显示数据。其流程图如图4.3所示: 图4.3 数码管显示流程图其程序如下:void xianshi(unsigned int m) /显示模块 三位移位扫描数码管 if (m=q)goto bbb; ss3=m/1000; ss2=m%1000/100; ss1=m%1000%100/10; for (s=1;s3;s+) a=sss; if(s=2)a=hha-1; else a=hha; for (e=0;e=1; ss_data=CY; ss_clk=0; ss_clk=1; bbb: q=m; 三、温度处理程序系统通过DS18B20采集到温度和设置的上、下限进行比较得出结果(大于上限打开FMQ小于下限打开JDQ)送继电器输出。void wenkong(unsigned int xx) if(xxxiaxian)p12=1; if(xxgaowen)p13=p13; if(xxgaowen)p13=1; 四、EEPROM处理程序 本系统采用AT24c04芯片进行数据存储。当接口设备从AT24C04,的数据线上读取数据时,称为数据输入。数据总是按字节8位逐位串行输入,每个时钟脉冲输入一位,AT24C04的EEPROM在SCL地电平时期间将数据送往SDA总线上,在SCL高电平期间,SDA总线上的数据稳定,可供接口设备读取数据。其程序流程图如图4.4:图4.4 存储程序流程图具体程序如下:/*startcommand*/ voidat24_start(void)at24_scl=1;_nop_();at24_sda=1;_nop_();at24_sda=0;_nop_();at24_scl=0;/*stopcommand*/voidat24_stop(void) at24_scl=1;_nop_();at24_sda=0;_nop_();at24_sda=1;_nop_();/*MCUacknowledge*/voidm_ack(void)at24_sda=0;_nop_();at24_scl=1;/_nop_();/_nop_();_nop_();at24_scl=0;/*deviceacknowledge*/voidd_ack(void)at24_sda=1;_nop_();at24_scl=1;_nop_();_nop_();_nop_();at24_sda=0;at24_scl=0 第五章 系统调试1、测试环境及工具测试温度:0-100摄氏度。(模拟不同温度值环境)测试仪器及软件:数字万用表,温度计0-100摄氏度。2、测试方法使系统运行,观察系统硬件检测是否正常(包括单片机控制系统,键盘电路,显示电路,温度测试电路等)。系统自带测试表格数据,观察显示数据是否相符合即可。采用温度传感器和温度计同时测量水温变化情况,目测显示电路是否正常。并记录温度值,与实际温度值比较,得出系统的温度指标。3、测试结果分析自检正常,温度显示正常。因为芯片是塑料封装,所以对温度的感应灵敏度不是相当高,需要一个很短的时间才能达到稳定。 结 束 语经过一个学期的设计和实践,本设计已经完成了一个比较完整的温度检测预与报警系统。它可以通过键盘输入温度上限、下限值,然后计算其上限和下限的中间值作为最适温度值。不断的采集温度值,显示温度值,如果发现采集的温度值高于上限值就通过相应的提示灯亮。如果采集的温度值低于下限值,那么也有相应的灯提示操作人员。如果并没有超过上下限则不会报警。由于要把温度值控制在最适温度处,所以当采集到的温度高于最适温度时连接散热装置的继电器就通电,然后开始散热。如果采集到的温度低于最适温度时,连接加温装置的继电器就通电,然后就开始加温。整个体统已经达到了闭环控制的要求。可以应用于一些应用场合,基本满足了对于温度自动控制的需要。致此本人设计基本完成了预期的目标,系统在温度采集、温度处理和键盘处理方面做的比较好,而在数据的存储和数码管的显示方面不够理想。主要存在以下几个方面:(1) 程序的代码不够精练,浪费AT89C52内的FLASH ROM;(2) 未对以前的温度数值进行存储,使以后不能利用这些数据;(3) 对数码管的控制考虑不周,以致出现闪烁现象;(4) 不能进行PID死区调节,对负载损害很大。参考文献1.张琳娜,刘武发传感检测技术及应用中国计量出版社,19992.沈德金,陈粤初MCS-51系列单片机接口电路与应用程序实例北京航空航天大学出版社,19903.周立功等 增强型80C51单片机速成与实战。北京:北京航空航天大学出版社,2003.74. Dallas semiconductor Inc, ds18b20 programmable resolution 1wire digital thermometer 2001Z.5.马忠梅 籍顺心 张凯 马 岩 单片机的C语言应用程序设计-修订版.北京:北京航空航天大学出版社,1998.106. 胡汉才.单片机原理及接口技术.清华大学出版社,19967. 李志全等.智能仪表设计原理及应用.国防工业出版社,1998.68.何立民MCS-51系列单片机应用系统设计北京航空航天大学出版社,199019. 李建民.单片机在温度控制系统中的应用.江汉大学学报,1996.610. 张毅刚、彭喜元、姜守达、乔立岩新编MCS-51系列单片机应用设计哈尔滨工业大学出版社,2003.6附录一:系统原理图附录二:主程序清单/串行显示子程序/串口数据输出=P1.0/串口时钟输出=P1.1/入口参数=ss4#include void xianshi(unsigned int m);sbit DQ=P37;sbit p12=P12;sbit p13=P13;unsigned int shangxian=2000,xiaxian=1500;code unsigned char hh=0x11,0x7D,0x23,0x29,0x4D,0x89,0x81,0x3D,0x01,0x09,0x45,0x39;unsigned char a,e,s,ss4;unsigned int m;unsigned int q,d=0;sbit ss_data=P10;sbit ss_clk=P11;void delay(unsigned int i)/延时函数 while(i-);/初始化函数Init_DS18B20(void) unsigned char x=0; DQ = 1; /DQ复位 delay(8); /稍做延时 DQ = 0; /单片机将DQ拉低 delay(80); /精确延时 大于 480us DQ = 1; /拉高总线 delay(14); x=DQ; /稍做延时后 如果x=0则初始化成功 x=1则初始化失败 delay(20);/读一个字节ReadOneChar(void)unsigned char i=0;unsigned char dat = 0;for (i=8;i0;i-) DQ = 0; / 给脉冲信号 dat=1; DQ = 1; / 给脉冲信号 if(DQ) dat|=0x80; delay(4); return(dat);/写一个字节WriteOneChar(unsigned char dat) unsigned char i=0; for (i=8; i0; i-) DQ = 0; DQ = dat&0x01; delay(5); DQ = 1; dat=1; /读取温度ReadTemperature(void)unsigned char a=0;unsigned char b=0;unsigned int t=0;float tt=0;Init

温馨提示

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

评论

0/150

提交评论