《基于单片机设计的温度报警系统.docx》由会员分享,可在线阅读,更多相关《基于单片机设计的温度报警系统.docx(19页珍藏版)》请在优知文库上搜索。
1、单片机设计的温度报警器摘要I1、引言22设计内容及性能指标23系统方案比拟、设计与论证33.1 主控制器模块33.2 温度测量33.3 设置温度43.4 显示模块43.5 电源选取44系统器件选择55硬件实现及单元电路设计55.1 主控制模块55.2 显示模块电路55.3 数码管显示驱动电路5图6驱动电路55.4 4温度传感器(DS18B20)电路51. 4.1DS18B20根本介绍52. 4.2DS18B20控制方法65. 4.3DS18B20供电方式6蜂鸣器、发光二极管报警电路66系统软件设计66.1 程序结构分析76.2 系统程序流图76. 2.1DS18B20初始化程序流程图76. 2
2、.2读温度子程序流程图77系统的安装与调试86.1 安装步骤86.2 电路的调试87. 3本章小结8结论8参考文献9附录1整体电路原理图9附录2局部源程序9摘要随着时代的进步和开展,单片机技术己经普及到我们生活、工作、科研、各个领域,已经成为一种比拟成熟的技术,本文主要介绍了一个基于单片机的温度报警系统,详细描述了利用温度传感器DS18B20开发测温系统的过程,重点对传感器在单片机下的硬件连接,软件编程以及各模块系统流程进行了详尽分析,对各局部的电路也一一进行了介绍,该系统可以方便的实现温度采集和显示,并可根据需要任意设定报警温度,它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗
3、低等优点,适合于我们日常生活和工、农业生产中的温度控制,也可以当作温度处理模块嵌入其它系统中,作为其他主系统的辅助扩展。DS18B20与STC89C52结合实现最简温度控制系统,该系统结构简单,抗干扰能力强,适合于恶劣环境下进行现场温度的控制,有广泛的应用前景。关键词:单片机;温度控制;STC89C52;DS18B20:1、引言随着科技的不断开展,现代社会对各种信息参数的准确度和精确度的要求都有了几何级的增长,而如何准确而又迅速的获得这些参数就需要受制于现代信息根底的开展水平。在三大信息信息采集(即传感器技术)、信息传输(通信技术)和信息处理(计算机技术)中,传感器属于信息技术的前沿尖端产品,
4、尤其是温度传感器技术,在我国各领域己经引用的非常广泛,可以说是渗透到社会的每一个领域,人民的生活与环境的温度息息相关,在工业生产过程中需要实时测量温度,在农业生产中也离不开温度的测量,因此研究温度的测量方法和温度报警装置具有重要的意义。测量温度的关键是温度传感器,温度传感器的开展经历了三个开展阶段:传统的分立式温度传感器模拟集成温度传感器智能集成温度传感器。目前的智能温度传感器(亦称数字温度传感器)是在20世纪90年代中期问世的,它是微电子技术、计算机技术和自动测试技术(ATE)的结晶,特点是能输出温度数据及相关的温度控制量,适配各种微控制器(MCU)。社会的开展使人们对传感器的要求也越来越高
5、,现在的温度传感器正在基于单片机的根底上从模拟式向数字式,从集成化向智能化、网络化的方向飞速开展,并朝着高精度、多功能、总线标准化、高可靠性及平安性、开发虚拟传感器和网络传感器、研制单片测温系统等高科技的方向迅速开展,本文将介绍智能集成温度传感器DS18B20的结构特征及控制方法,并对以此传感器,STC89C52推片机为控制器构成的数字温度控制装置的工作原理及程序设计作了详细的介绍。其具有读数方便,方便控制,输出温度采用数字显示,主要用于对温度控制要求比拟准确的场所,或科研实验室使用。该设计控制器使用STC89C52单片机,测温传感器使用DALLAS公司DS18B20,用数码管来实现温度显示。
6、2设计内容及性能指标本设计主要是介绍了单片机控制下的温度报警系统,详细介绍了其硬件和软件设计,并对其各功能模块做了详细介绍,其主要功能和指标如下:单片机实时检测温度传感器DS18B20的状态,并将DS18820得到的数据进行处理。上电后数码管显示当前的环境温度,通过按键可设置上下温报警值,当检测到的温度高于设置的报警值的时候,蜂鸣器报警同时报警灯闪烁,温度检测精确到0.1度。并具有掉电保存功能,数据保存在单片机内部EEPOM中,进入设置界面后如果没有键按下系统会在15秒后自动退出设置界面。3系统方案比拟、设计与论证该系统主要由温度测量和温度设置及系统状态显示三局部电路组成,下面介绍实现此系统功
7、能的方案。3.1 主控制器模块方案1:采用可编程逻辑器件CPLD作为控制器。CPLD可以实现各种复杂的逻辑功能、规模大、密度高、体积小、稳定性高、IO资源丰富、易于进行功能扩展。采用并行的输入输出方式,提高了系统的处理速度,适合作为大规模控制系统的控制核心。但本系统不需要复杂的逻辑功能,对数据的处理速度的要求也不是非常高。且从使用及经济的角度考虑我们放弃了此方案。方案2:采用STC89C52单片机作为整个系统的核心,用其控制温度报警功能,以实现其既定的性能指标。充分分析我们的系统,其关键在于实现温度的自动显示并报警功能,而在这一点上,单片机就显现出来它的优势一一控制简单、方便、快捷。这样一来,
8、单片机就可以充分发挥其资源丰富、有较为强大的控制功能及可位寻址操作功能、价格低廉等优点。STC89C52单片机具有功能强大的位操作指令,I/O口均可按位寻址,程序空间多达8K,对于本设计也绰绰有余,更可贵的是STC89C52单片机价格非常低廉。3.2 温度测量方案L采用数字温度芯片DS18B20测量实际温度,输出信号全数字化。便于单片机处理及控制,省去传统的测温方法的很多外围电路。且该芯片的物理化学性很稳定,它能用做工业测温元件,此元件线形较好。在O-Ioo摄氏度时,最大线形偏差小于1摄氏度。DS18B20的最大特点之一采用了单总线的数据传输,由数字温度计DS18B20和微控制器STC89C5
9、2构成的温度测量装置,它直接输出温度的数字信号,可直接与计算机连接。这样,测温系统的结构就比拟简单,体积也不大。采用51单片机控制,软件编程的自由度大,可通过编程实现各种各样的算术算法和逻辑控制,而且体积小,硬件实现简单,安装方便。既可以单独对多DS18B20控制工作,还可以与PC机通信上传数据,另外STC89C52在工业控制上也有着广泛的应用,编程技术及外围功能电路的配合使用都很成熟。方案2:采用热电偶温差电路测温,温度检测局部可以使用低温热偶,热电偶由两个焊接在一起的异金属导线所组成(如下列图),热电偶产生的热电势由两种金属的接触电势和单一导体的温差电势组成。通过将参考结点保持在温度并测量
10、该电压,便可推断出检测结点的温度。数据采集局部那么使用带有A/D通道的单片机,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来。热电偶的优点是工作温度范围非常宽,且体积小,但是它们也存在着输出电压小、容易遭受来自导线环路的噪声影响以及漂移较高的缺点,并且这种设计需要用到A/D转换电路,感温电路比拟麻烦。图1热电偶电路图从以上两种方案,容易看出方案二的测温装置可测温度范围宽、体积小,但是线性误差较大。方案一的测温装置电路简单、精确度较高、实现方便、软件设计也比拟简单,故本次设计采用了方案一。3.3 设置温度方案1:采用
11、键盘输入设置温度,键盘那么可以用4个按键,一个复位键,一个功能设定键,一个加减一个减键。四个键比拟常用,而且用到的接口得到了极好的利用,仅需要4个接口。方案2:可采用4*4矩阵键盘,该键盘需要8个接口,而我们不需这么多键。综上所述,我们选择第一种方案。3.4 显示模块方案1:用数码管进行显示。数码管由于显示速度快,使用简单,显示效果简洁明了而得到了广泛应用。方案2:用LCD液晶进行显示。LCD由于其显示清晰,显示内容丰富、清晰,显示信息量大,使用方便,显示快速而得到了广泛的应用。单对于此系统我们不需要显示丰富的内容,而且LCD液晶价格贵,因此我们选择了此方案。综上所述我们选择方案13.5 电源
12、选取由于本系统采用电池供电,我们考虑了如下几种方案为系统供电。方案Is采用5V蓄电池为系统供电。蓄电池具有较强的电流驱动能力以及稳定的电压输出性能。但是蓄电池的体积过于庞大,在小型电动车上使用极为不方便。因此我们放弃了此方案。方案2:采用3节1.5V干电池共V做电源,经过实验验证系统工作时,单片机、传感器的工作电压稳定能够满足系统的要求,而且电池更换方便。综上所述采用方案24系统器件选择1温度传感器的选择由于传统的热敏电阻等测温元件测出的一般都是电压,再转换成对应的温度,需要比拟多的外部元件支持,且硬件电路复杂,制作本钱相对较高。这里采用DALLAS公司的数字温度传感器DS18B20作为测温元
13、件。图2外部封装形式图3传感器电路图5硬件实现及单元电路设计5.1 主控制模块主控制最系统电路如图4所示。图4单片主控电路5.2 显示模块电路显示采用四位数码管显示,当位选翻开时,送入相应的段码,那么相应的数码管翻开,关掉位选,翻开另一个位选,送入相应的段码,那么数码管翻开,而每次翻开关掉相应的位选时,时间间隔低于20ms,从人类视觉的角度上看,就仿佛是全部数码管同时显示的一样。显示电路如图5图5数码管显示5.3 数码管显示驱动电路三极管8550来驱动4位数码管,不仅简单,而且价格廉价。图6驱动电路5.4 温度传感器(DS18B20)电路5.4.1 DS18B20根本介绍DS18B20是美国D
14、ALLAS半导体公司推出的第一片支持一线总线接口的温度传感器,它具有微型化、低功耗、高性能、抗干扰能力强、易配微处理器等优点,可直接将温度转化成串行数字信号处理器处理。DS18B20进行精确的温度转换,I/O线必须保证在温度转换期间提供足够的能量,由于每个DS18B20在温度转换期间工作电流到达ImA,当几个温度传感器挂在同一根I/O线上进行多点测温时,只靠4.7K上拉电阻就无法提供足够的能量,会造成无法转换温度或温度误差极大。因此,下列图电路只适应于单一温度传感器测温情况下使用,不适宜采用电池供电系统中。并且工作电源VCC必须保证在5V,当电源电压下降时,寄生电源能够汲取的能量也降低,会使温
15、度误差变大。图7温度传感器电路引脚图5.4.2 DS18B20控制方法DS18B20有六条控制命令:温度转换4411启动DS18B20进行温度转换读暂存器BEH读暂存器9个字节内容写暂存器4EH将数据写入暂存器的TH、TL字节复制暂存器48H把暂存器的TH、TL字节写到E2RAM中重新调E2RAMB8H把E2RM中的TH、TL字节写到暂存器TH、TL字节读电源供电方式B4H启动DS18B20发送电源供电方式的信号给主CPU5.4.3 DS18B20供电方式DS18B20可以采用两种方式供电,一种是采用电源供电方式,此时DS18B20的1脚接地,2脚作为信号线,3脚接电源。另一种是寄生电源供电方式,如图3.1所示单片机端口接单线总线,为保证在有效的DS18B20时钟周期内提供足够的电流,可用一个三极管来完成对总线的上拉。本设计采用电源供电方式,P2.2口接单线总线为保证在有效的DS18B20时钟周期内提供足够的电流,可用一个上拉电阻和STC89C52的P2.2来完成对总线的上拉。当DS18B20处于写存储器操作和温度A/D变换操作时,总线上必须有强的上拉,上拉开启时间最大为10us。采用寄生电源供电方式是VDD和GND端均接地。由于单线制只有一根线,因此发送接收口必须是三状态的。主机控制DS18B20完成温度转换必须经过3个