
毕业设计(论文)-基于单片机设计的温度报警系统.doc
28页单片机设计的温度报警器摘要 21、引言 32 设计内容及性能指标 43 系统方案比较、设计与论证 43.1 主控制器模块 53.2 温度测量 53.3 设置温度 63.3 显示模块 63.4 电源选取 74 系统器件选择 75 硬件实现及单元电路设计 85.1 主控制模块 85.2 显示模块电路 95.3 数码管显示驱动电路 10图6 驱动电路 105.4 温度传感器(DS18B20)电路 105.4.1 DS18B20基本介绍 105.4.2 DS18B20控制方法 115.4.3 DS18B20供电方式 115.6 蜂鸣器、发光二极管报警电路 126 系统软件设计 136.1 程序结构分析 136.2 系统程序流图 136.2.1 DS18B20初始化程序流程图 146.2.2 读温度子程序流程图 157 系统的安装与调试 157.1 安装步骤 157.2 电路的调试 167.3 本章小结 16结 论 16参考文献 16附录1 整体电路原理图 17附录2 部分源程序 18摘要 随着时代的进步和发展,单片机技术已经普及到我们生活、工作、科研、各个领域,已经成为一种比较成熟的技术, 本文主要介绍了一个基于STC89C52单片机的温度报警系统,详细描述了利用温度传感器DS18B20开发测温系统的过程,重点对传感器在单片机下的硬件连接,软件编程以及各模块系统流程进行了详尽分析,对各部分的电路也一一进行了介绍,该系统可以方便的实现温度采集和显示,并可根据需要任意设定报警温度,它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,适合于我们日常生活和工、农业生产中的温度控制,也可以当作温度处理模块嵌入其它系统中,作为其他主系统的辅助扩展。
DS18B20与STC89C52结合实现最简温度控制系统,该系统结构简单,抗干扰能力强,适合于恶劣环境下进行现场温度的控制,有广泛的应用前景关键词:单片机;温度控制;STC89C52;DS18B20;1、引言 随着科技的不断发展,现代社会对各种信息参数的准确度和精确度的要求都有了几何级的增长,而如何准确而又迅速的获得这些参数就需要受制于现代信息基础的发展水平在三大信息信息采集(即传感器技术)、信息传输(通信技术)和信息处理(计算机技术)中,传感器属于信息技术的前沿尖端产品,尤其是温度传感器技术,在我国各领域已经引用的非常广泛,可以说是渗透到社会的每一个领域,人民的生活与环境的温度息息相关,在工业生产过程中需要实时测量温度,在农业生产中也离不开温度的测量,因此研究温度的测量方法和温度报警装置具有重要的意义测量温度的关键是温度传感器,温度传感器的发展经历了三个发展阶段:①传统的分立式温度传感器②模拟集成温度传感器③智能集成温度传感器目前的智能温度传感器(亦称数字温度传感器)是在20世纪90年代中期问世的,它是微电子技术、计算机技术和自动测试技术(ATE)的结晶,特点是能输出温度数据及相关的温度控制量,适配各种微控制器(MCU)。
社会的发展使人们对传感器的要求也越来越高,现在的温度传感器正在基于单片机的基础上从模拟式向数字式,从集成化向智能化、网络化的方向飞速发展,并朝着高精度、多功能、总线标准化、高可靠性及安全性、开发虚拟传感器和网络传感器、研制单片测温系统等高科技的方向迅速发展,本文将介绍智能集成温度传感器DS18B20的结构特征及控制方法,并对以此传感器,STC89C52单片机为控制器构成的数字温度控制装置的工作原理及程序设计作了详细的介绍其具有读数方便,方便控制,输出温度采用数字显示,主要用于对温度控制要求比较准确的场所,或科研实验室使用该设计控制器使用STC89C52单片机,测温传感器使用DALLAS公司DS18B20,用数码管来实现温度显示2 设计内容及性能指标 本设计主要是介绍了单片机控制下的温度报警系统,详细介绍了其硬件和软件设计,并对其各功能模块做了详细介绍,其主要功能和指标如下:单片机实时检测温度传感器DS18B20的状态,并将DS18820得到的数据进行处理上电后数码管显示当前的环境温度,通过按键可设置高低温报警值,当检测到的温度高于设置的报警值的时候,蜂鸣器报警同时报警灯闪烁,温度检测精确到0.1度。
并具有掉电保存功能,数据保存在单片机内部EEPOM中,进入设置界面后如果没有键按下系统会在15秒后自动退出设置界面3 系统方案比较、设计与论证 该系统主要由温度测量和温度设置及系统状态显示三部分电路组成,下面介绍实现此系统功能的方案3.1 主控制器模块方案1: 采用可编程逻辑器件CPLD 作为控制器CPLD可以实现各种复杂的逻辑功能、规模大、密度高、体积小、稳定性高、IO资源丰富、易于进行功能扩展采用并行的输入输出方式,提高了系统的处理速度,适合作为大规模控制系统的控制核心但本系统不需要复杂的逻辑功能,对数据的处理速度的要求也不是非常高且从使用及经济的角度考虑我们放弃了此方案方案2: 采用STC89C52单片机作为整个系统的核心,用其控制温度报警功能,以实现其既定的性能指标充分分析我们的系统,其关键在于实现温度的自动显示并报警功能,而在这一点上,单片机就显现出来它的优势——控制简单、方便、快捷这样一来,单片机就可以充分发挥其资源丰富、有较为强大的控制功能及可位寻址操作功能、价格低廉等优点STC89C52单片机具有功能强大的位操作指令,I/O口均可按位寻址,程序空间多达8K,对于本设计也绰绰有余,更可贵的是STC89C52单片机价格非常低廉。
3.2 温度测量方案1: 采用数字温度芯片DS18B20 测量实际温度,输出信号全数字化便于单片机处理及控制,省去传统的测温方法的很多外围电路且该芯片的物理化学性很稳定,它能用做工业测温元件,此元件线形较好在0—100 摄氏度时,最大线形偏差小于1 摄氏度DS18B20 的最大特点之一采用了单总线的数据传输,由数字温度计DS18B20和微控制器STC89C52构成的温度测量装置,它直接输出温度的数字信号,可直接与计算机连接这样,测温系统的结构就比较简单,体积也不大采用51 单片机控制,软件编程的自由度大,可通过编程实现各种各样的算术算法和逻辑控制,而且体积小,硬件实现简单,安装方便既可以单独对多DS18B20控制工作,还可以与PC 机通信上传数据,另外STC89C52在工业控制上也有着广泛的应用,编程技术及外围功能电路的配合使用都很成熟方案2: 采用热电偶温差电路测温,温度检测部分可以使用低温热偶,热电偶由两个焊接在一起的异金属导线所组成(如下图),热电偶产生的热电势由两种金属的接触电势和单一导体的温差电势组成通过将参考结点保持在已知温度并测量该电压,便可推断出检测结点的温度。
数据采集部分则使用带有A/D 通道的单片机,在将随被测温度变化的电压或电流采集过来,进行A/D 转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来热电偶的优点是工作温度范围非常宽,且体积小,但是它们也存在着输出电压小、容易遭受来自导线环路的噪声影响以及漂移较高的缺点,并且这种设计需要用到A/D 转换电路,感温电路比较麻烦图1 热电偶电路图从以上两种方案,容易看出方案二的测温装置可测温度范围宽、体积小,但是线性误差较大方案一的测温装置电路简单、精确度较高、实现方便、软件设计也比较简单,故本次设计采用了方案一3.3 设置温度方案1: 采用键盘输入设置温度,键盘则可以用4个按键,一个复位键,一个功能设定键,一个加减一个减键四个键比较常用,而且用到的接口得到了极好的利用,仅需要4个接口方案2: 可采用4*4矩阵键盘,该键盘需要8个接口,而我们不需这么多键综上所述,我们选择第一种方案3.3 显示模块方案1: 用数码管进行显示数码管由于显示速度快,使用简单,显示效果简洁明了而得到了广泛应用方案 2:用LCD液晶进行显示LCD由于其显示清晰,显示内容丰富、清晰,显示信息量大,使用方便,显示快速而得到了广泛的应用。
单对于此系统我们不需要显示丰富的内容,而且LCD液晶价格贵,因此我们选择了此方案 综上所述我们选择方案13.4 电源选取 由于本系统采用电池供电,我们考虑了如下几种方案为系统供电方案1:采用5V蓄电池为系统供电蓄电池具有较强的电流驱动能力以及稳定的电压输出性能但是蓄电池的体积过于庞大,在小型电动车上使用极为不方便因此我们放弃了此方案方案2:采用3节1.5 V干电池共4.5V做电源,经过实验验证系统工作时,单片机、传感器的工作电压稳定能够满足系统的要求,而且电池更换方便综上所述采用方案24 系统器件选择1.温度传感器的选择 由于传统的热敏电阻等测温元件测出的一般都是电压,再转换成对应的温度,需要比较多的外部元件支持,且硬件电路复杂,制作成本相对较高这里采用DALLAS公司的数字温度传感器DS18B20作为测温元件 图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是美国DALLAS半导体公司推出的第一片支持“一线总线”接口的温度传感器,它具有微型化、低功耗、高性能、抗干扰能力强、易配微处理器等优点,可直接将温度转化成串行数字信号处理器处理DS18B20进行精确的温度转换,I/O线必须保证在温度转换期间提供足够的能量,由于每个DS18B20在温度转换期间工作电流达到1mA,当几个温度传感器挂在同一根I/O线上进行多点测温时,只靠4.7K上拉电阻就无法提供足够的能量,会造成无法转换温度或温度误差极大因此,下图电路只适应于单一温度传感器测温情况下使用,不适宜采用电池供电系统中并且工作电源VCC必须保证在5V,当电源电压下降时,寄生电源能够汲取的能量也降低,会使温度误差变大图7 温度传感器电路引脚图5.4.2 DS18B20控制方法DS18B20有六条控制命令:温度转换 44H 启动DS18B20进行温度转换 读暂存器 BEH 读暂存器9个字节内容 写暂存器。
