智能仪器报告设计基于51单片机的温度控制系统设计专业:生物医学工程姓名:孙犁组员:孙犁(09073111)杨应胜(09073120)刘晓林(09073119)赵杨(07073057)摘要:随着时代的进步和发展,单片机技术已经普及到我们生活、工作、科研、各个领域,已经成为一种比较成熟的技术,本文主要介绍了一个基于AT89S51单片机的温度自动控制系统,详细描述了利用温度传感器DS18B20开发测温系统的过程,重点对传感器在单片机下的硬件连接,软件编程以及各模块系统流程进行了详尽分析,对各部分的电路也一一进行了介绍,该系统可以方便的实现温度采集和显示,并可根据需要任意设定温度,它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,适合于我们日常生活和工、农业生产中的温度控制,也可以当作温度处理模块嵌入其它系统中,作为其他主系统的辅助扩展。DS18B20与AT89C51结合实现最简温度控制系统,该系统结构简单,抗干扰能力强,适合于恶劣环境下进行现场温度的控制,有广泛的应用前景。关键词:单片机;温度控制;AT89S51;DS18B20;仿真;一、引言随着科技的不断发展,现代社会对各种信息参数的准确度和精确度的要求都有了几何级的增长,而如何准确而又迅速的获得这些参数就需要受制于现代信息基础的发展水平。在三大信息信息采集(即传感器技术)、信息传输(通信技术)和信息处理(计算机技术)中,传感器属于信息技术的前沿尖端产品,尤其是温度传感器技术,在我国各领域已经引用的非常广泛,可以说是渗透到社会的每一个领域,人民的生活与环境的温度息息相关,在工业生产过程中需要实时测量温度,在农业生产中也离不开温度的测量,因此研究温度的测量方法和装置具有重要的意义。测量温度的关键是温度传感器,温度传感器的发展经历了三个发展阶段:①传统的分立式温度传感器②模拟集成温度传感器③智能集成温度传感器。目前的智能温度传感器(亦称数字温度传感器)是在20世纪90年代中期问世的,它是微电子技术、计算机技术和自动测试技术(ATE)的结晶,特点是能输出温度数据及相关的温度控制量,适配各种微控制器(MCU)。社会的发展使人们对传感器的要求也越来越高,现在的温度传感器正在基于单片机的基础上从模拟式向数字式,从集成化向智能化、网络化的方向飞速发展,并朝着高精度、多功能、总线标准化、高可靠性及安全性、开发虚拟传感器和网络传感器、研制单片测温系统等高科技的方向迅速发展,本文将介绍智能集成温度传感器DS18B20的结构特征及控制方法,并对以此传感器,89S51单片机为控制器构成的数字温度控制装置的工作原理及程序设计作了详细的介绍。其具有读数方便,方便控制,输出温度采用数字显示,主要用于对温度控制要求比较准确的场所,或科研实验室使用。该设计控制器使用ATMEL公司的AT89S51单片机,测温传感器使用DALLAS公司DS18B20,用液晶来实现温度显示。二、设计内容及性能指标本设计主要是介绍了单片机控制下的温度检测系统,详细介绍了其硬件和软件设计,并对其各功能模块做了详细介绍,其主要功能和指标如下:●利用温度传感器(DS18B20)测量某一点环境温度●测量范围为0℃~+100℃,精度为±0.5℃●用液晶进行实际温度值显示●能够根据需要设定温度三、系统方案比较、设计与论证该系统主要由温度测量和温度设置及系统状态显示三部分电路组成,下面介绍实现此系统功能的方案。1、温度测量方案一采用数字温度芯片DS18B20测量实际温度,输出信号全数字化。便于单片机处理及控制,省去传统的测温方法的很多外围电路。且该芯片的物理化学性很稳定,它能用做工业测温元件,此元件线形较好。在0—100摄氏度时,最大线形偏差小于1摄氏度。DS18B20的最大特点之一采用了单总线的数据传输,由数字温度计DS18B20和微控制器AT89C51构成的温度测量装置,它直接输出温度的数字信号,可直接与计算机连接。这样,测温系统的结构就比较简单,体积也不大。采用51单片机控制,软件编程的自由度大,可通过编程实现各种各样的算术算法和逻辑控制,而且体积小,硬件实现简单,安装方便。既可以单独对多DS18B20控制工作,还可以与PC机通信上传数据,另外AT89C51在工业控制上也有着广泛的应用,编程技术及外围功能电路的配合使用都很成熟。方案二采用热电偶温差电路测温,温度检测部分可以使用低温热偶,热电偶由两个焊接在一起的异金属导线所组成(如下图),热电偶产生的热电势由两种金属的接触电势和单一导体的温差电势组成。通过将参考结点保持在已知温度并测量该电压,便可推断出检测结点的温度。数据采集部分则使用带有A/D通道的单片机,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来。热电偶的优点是工作温度范围非常宽,且体积小,但是它们也存在着输出电压小、容易遭受来自导线环路的噪声影响以及漂移较高的缺点,并且这种设计需要用到A/D转换电路,感温电路比较麻烦。图1热电偶电路图从以上两种方案,容易看出方案二的测温装置可测温度范围宽、体积小,但是线性误差较大。方案一的测温装置电路简单、精确度较高、实现方便、软件设计也比较简单,故本次设计采用了方案一。2、设置温度方案一采用键盘输入设置温度,键盘则可以用4X4型,而该系统仅需12个按键,故可用4X3型。该型键盘比较常用,而且用到的接口得到了极好的利用,仅需要8个接口。方案二可采用2X8型,该键盘需要10个接口。综上所述,我们选择第一种方案。3、状态显示方案一可以采用不同颜色的LED来显示不同的状态。用LED-BLUE的状态变化来显示是否按下按键,分别用LED-RED、LED-YELLOW、LED-GREEN来表示加热、保持、降温。从而知道该系统的状态。方案二可以采用LCD来显示其系统的状态,但专用LCD来显示该系统的状态不经济。综上所述各方案,可以采用测温装置电路简单、精确度较高、实现方便的温度测量装置,即温度测量方案一。而键盘可采用4x3型。而状态显示,由于才用LCD(AMPIRE128X64)来显示,有多余的显示区域,因此,两个方案可以一起用。系统图如下:图2温度控制系统框图该系统利用AT89C51芯片控制温度传感器DS18B20进行实时温度检测并用LCD(AMPIRE128X64)显示该系统实际温度和设置温度。该系统还具有非常强的扩展性,可以将它用在实际生活用品中,如电饭煲的温度控制,使其达到预设温度。四、系统器件选择1、温度传感器的选择由于传统的热敏电阻等测温元件测出的一般都是电压,再转换成对应的温度,需要比较多的外部元件支持,且硬件电路复杂,制作成本相对较高。这里采用DALLAS公司的数字温度传感器DS18B20作为测温元件。图3外部封装形式图4传感器电路图2、单片机的选择对于单片机的选择,可以考虑使用8031与8051系列,由于8031没有内部RAM,系统又需要大量内存存储数据,因而不适用。AT89S51是美国ATMEL公司生产的低功耗,高性能CMOS8位单片机,片内含4kbytes的可编程的Flash只读程序存储器,兼容标准8051指令系统及引脚。它集Flash程序存储器既可在线编程(ISP),也可用传统方法进行编程,所以低价位AT89S51单片机可为提供许多高性价比的应用场合,可灵活应用于各种控制领域,对于简单的测温系统已经足够。单片机AT89S51具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。主要特性如下●与MCS-51兼容●4K字节可编程闪烁存储器●寿命:1000写/擦循环●数据保留时间:10年●全静态工作:0Hz-24Hz●三级程序存储器锁定●128*8位内部RAM●32可编程I/O线●两个16位定时器/计数器●5个中断源●可编程串行通道●低功耗的闲置和掉电模式●片内振荡器和时钟电路图5AT89S51单片机引脚图3、显示器件选择在本设计中温度测量范围为0℃~+100℃,精度为±0.5℃,因此只需要液晶显示器就可以完成相关的显示功能。五、硬件设计电路温度采集电路设计原理图如图6所示,控制器使用单片机AT89C2051,温度传感器使用DS18B20,用液晶实现温度显示。本温度计大体分三个工作过程。首先,由DS18820温度传感器芯片测量当前的温度,并将结果送入单片机。然后,通过89C205I单片机芯片对送来的测量温度读数进行计算和转换,井将此结果送入液晶显示模块。最后,SMC1602A芯片将送来的值显示于显示屏上。由图6可看到,本电路主要由DSl8820温度传感器芯片、SMCl602A液晶显示模块芯片和89C2051单片机芯片组成。其中,DSI8B20温度传感器芯片采用“一线制”与单片机相连,它独立地完成温度测量以及将温度测量结果送到单片机的工作。以下是用Altium软件画的电路原理图和PCB板电路图:11223344DDCCBBAATitleNumberRevisionSizeA4Date:2012/5/14SheetofFile:D:\AltiumProject\sunli\智能仪器.SchDocDrawnBy:CS11CS22GND3VCC4V05RS6RW7E8DB09DB110DB211DB312DB413DB514DB615DB716RST17Vout18LCD1AMPIRE128X64P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78EA31ALE30PSEN29RST9XTAL218XTAL119P0.7/AD732P0.6/AD633P0.5/AD534P0.4/AD435P0.3/AD336P0.2/AD237P0.1/AD138P0.0/AD039P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427P2.7/A1528P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.5/T115P3.6/WR16P3.7/RD17U1AT89S51GND1UFC4100R310KR212Y1XTALS1RST30UFC230UFC1123456789P1Header9GNDGNDD0D1D2D3D4D5D6D7D0D1D2D3D4D5D6D710UFC310KR1VCCGND1KRV1ADDSUBHOLDL0L1L2L3H0H1H2H3DS18B20INT1D1VCCD2D3D4VCCADDSUBHOLD加热保持降温BT0BT1BT2BT3BT4BT5BT6BT7BT8BT9SZQD设置确认H0H1H2L0L1L2L301234567891231213AND_4AH0H1H2H3INTVCC3DQ2GND1DS18B20DS18B220GNDVCC杨应胜(09073120孙犁(09073111)刘晓林(09073119)赵杨(07073057):组员图6电路原理图详细原理电路图见附件1下面具体分析温度检测电路:DS18B20最大的特点是单总线数据传输方式,DS18B20的数据I/O均由同一条线来完成。DS18B20的电源供电方式有2种:外部供电方式和寄生电源方式。工作于寄生电源方式时,VDD和GND均接地,他在需要远程温度探测和空间受限的场合特别有用,原理是当1Wire总线的信号线DQ为高电平时,窃取信号能量给DS18B20供电,同时一部分能量给内部电容充电,当DQ为低电平时释放能量为DS18B20供电。但寄生电源方式需要强上拉电路,软件控制变得复杂(特别是在完成温度转换和拷贝数据到E2PROM时),同时芯片的性能也有所降低。因此,在条件允许的场合,尽量采用外供电方式。无论是内部寄生电源还是外部供电,I/O口线要接5KΩ左右的上拉电。在这里采用前者方式供电。DS18B20与芯片连接电路如图7所示:图7DS18B20与单片机的连接六、软件设计