环境温度测量与报警系统_第1页
环境温度测量与报警系统_第2页
环境温度测量与报警系统_第3页
环境温度测量与报警系统_第4页
环境温度测量与报警系统_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

45/45等级:湖南工程学院等级:课程设计课程名称单片机原理与应用课题名称环境温度与报警专业电气工程及其自动化班级1192班学号201101019220姓名李再兵指导教师赵葵银2013年09月02日

湖南工程学院课程设计任务书课程名称单片基原理与应用课题环境温度与报警专业班级电气工程及其自动化学生姓名李再兵学号201101019220指导老师赵葵银审批赵葵银任务书下达日期2013年09月02日任务完成日期2013年09月13日

设计内容与设计要求设计内容:以51系列单片机为核心,以开发板为平台;设计一个环境温度监测与爱护系统,要求使用温度传感器DS18B20测量温度,再经单片机处理后,由LED数码管显示测量的温度值。测温范围为0~100℃,超过100℃度报警;并要求焊接好开发板,在开发板上进行调试。设计要求:1)确定系统设计方案; 2)进行系统的硬件设计;3)完成必要元器件选择;4)开发板焊接及测试5)系统软件设计及调试;6)系统联调及操作讲明7)写讲明书

主要设计条件1.MCS-51单片机实验操作台1台;2.PC机及单片机调试软件,仿真软件proteus;3.开发板1块;4.制作工具1套;5.系统设计所需的元器件。讲明书格式1.封面2.课程设计任务书3.目录4.系统总体方案设计5.系统硬件设计6.软件设计(包括流程图)7.系统的安装调试讲明8.总结9.参考文献10.附录11.课程设计成绩评分表。

进度安排设计时刻分为二周第一周星期一、上午:布置课题任务,课题介绍及讲课。下午:借阅有关资料,总体方案讨论。星期二、分班级焊接开发板星期三、确定总体方案,学习与设计相关内容。星期四、各部分方案设计,各部分设计。星期五、设计及上机调试。星期六、设计并调试第二周星期一:设计及上机调试。星期二:调试,中期检查。星期三:调试、写讲明书。星期四--星期五上午:写讲明书、完成电子版并打印成稿。星期五下午:答辩。参考文献参考文献1、王迎旭编.《单片机原理与应用》[M].机械工业出版社,2010。2、楼然苗编.《51系列单片机设计实例》[M].北京航空航天大学出版社,2006。3、黄勤编.《计算机硬件技术基础实验教程》[M].重庆大学出版社,2004。4、刘乐善编.《微型计算机接口技术及应用》[M].华中科技大学出版社,2004。5、陈光东编.《单片微型计算机原理及接口技术》[M].华中科技大学出版社,2005。

目录摘要1第1章引·21.1课题背景1.2研究内容和意义第2章DS18B20概述2.1DS18B20封装形式及引脚功能2.2DS18B20内部结构2.3DS18B20供电方式2.4DS18B20的测温原理··········································6第3章总体设计方案3.1设计目的····················································83.2设计任务与要求··············································83.2.1设计任务················································83.2.2设计要求················································83.3差不多思路····················································83.4总体设计框图················································8第4章系统硬件设计4.1单片机最小系统的设计4.2温度采集电路的设计4.3LED显示电路的设计104.4报警电路的设计·11第5章系统软件设计125.1主程序设计··················································125.2温度测量模块程序设计········································13第6章系统的安装调试与仿真146.1安装与调试146.2仿真146.2.1软件仿真·146.2.2系统性能测试············································14第7章总结16参考文献······17附录A:元件清单··················································18附录B:硬件原理图················································18附录C:源程序清单················································19

摘要随着时代的进步和进展,温度的测试差不多阻碍到我们的生活、工作、科研、各个领域,差不多成为了一种特不重要的情况,因此设计一个温度测试的系统势在必行。本文要紧介绍了一个基于STC89C52单片机的数字温度报警器系统。详细描述了利用数字温度传感器DS18B20开发测温系统的过程,重点对传感器在单片机下的硬件连接,软件编程以及各模块系统流程进行了详尽分析,对各部分的电路也一一进行了介绍,该系统能够方便的实现温度的采集和报警,并能够依照需要任意上下限报警温度,它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,适合于我们日常生活和工、农业生产中的温度测量,也能够当做温度处理模块潜入其他系统中,作为其他主系统的辅助扩展。DS18B20与STC89C52结合实现最简温度报警系统,该系统结构简单,抗干扰能力强,适合于恶劣环境下进行现场温度测量,有广泛的应用前景。关键词:单片机、温度检测、STC89C52、DS18B20

第1章引言1.1课题背景温度是工业对象中要紧的被控参数之一,广泛使用的各种加热炉、热处理炉、反应炉等,对工件的温度处理要求严格操纵。随着科学技术的进展,要求温度测量的范围向深度和广度进展,以满足工业生产和科学技术的要求。基于单片机系统的可移植性、扩展性,利于现代测控、自动化、电气技术等专业实训要求。以单片机为核心设计的温度报警器,具有安全可靠、操作简单方便、智能操纵等优点。温度关于工业生产如此重要,由此推进了温度传感器的进展。温度传感器要紧通过了三个进展时期:(1)模拟集成温度传感器。该传感器是采纳硅半导体集成工艺制成,具有功能单一、测温误差小、价格低、响应速度快、传输距离远、体积小、微功耗、外围电路简单等特点。它是目前在国内外应用最为普遍的一种集成传感器,典型产品有AD590、AD592、TMP17、LM135等;(2)模拟集成温度操纵器。模拟集成温度操纵器要紧包括温控开关、可编程温度操纵器,如LM56、AD22105和MAX6509。某些增强型集成温度操纵器(例如TC652/653)中还包含了A/D转换器以及固化好的程序,这与智能温度传感器有某些相似之处。但它自成系统,工作时并不受微处理器的操纵,这是二者的要紧区不;(3)智能温度传感器(亦称数字温度传感器)。智能温度传感器是在20世纪90年代中期问世的,其内部都包含温度传感器、A/D转换器、信号处理器、存储器(或寄存器)和接口电路。智能温度传感器的特点是能输出温度数据及相关的温度操纵量,适配各种微操纵器(MCU)。进入21世纪后,智能温度传感器正朝着高精度、多功能、总线标准化、高可靠性及安全性、开发虚拟传感器和网络传感器、研制单片机测温系统等的方向进展。数字化温度传感器能够直接将温度量以数字脉冲信号形式输出,具有测量精度高、抗干扰能力强、传输距离远、外围接口电路简单等诸多优点。同时数字温度传感器还可直接与微处理器进行接口,大大方便了传感器输出信号的处理.数字单总线温度传感器是目前最新的测温器件,它集温度测量,A/D转换于一体,具有单总线结构,数字量输出,直接与微机接口等优点。1.2研究内容和意义本温度报警器以STC系列单片机为操纵核心,开发板为平台,数字温度传感器DS18B20测量被控温度,结合7段LED组合而成。当被测量值超出预设范围则发出警报,且精度高,适用于大多数工业生产以及教育教学领域。温度是一种最差不多的环境参数,它是与人类的生活、工作关系最紧密的物理量,也是各门学科与工程研究设计中经常遇到和必须精确测量的物理量。从工业炉温、环境气温到人体温度;从空间、海洋到家用电器,各个技术领域都离不开测和气控温。因此,研究温度的测量和操纵方法具有重要的意义。

第2章DS18B20概述DS18B20是Dallas公司继DS1820后推出的一种改进型“单总线”智能数字温度传感器,只需一根线就能直接读出被测温度值,并可依照实际需求来编程实现9~12位数字值的读数方式。2.1DS18B20封装形式及引脚功能图2.1DS18B20封装形式和引脚功能如图2.1所示,DS18B20引脚名称及定义如下表:引脚定义GND电源负极DQ信号输入输出VDD电源正极NC空2.2DS18B20内部结构CC64位ROM和单线接口高速缓存存储器与操纵逻辑温度传感器高温触发器TH低温触发器TL配置寄存器8位CRC发生器Vdd图2.2中出示了DS18B20的要紧内部部件,下面对DS18B20内部部分进行简单的描述:(1)64位ROM:64位ROM是由厂家使用激光刻录的一个64位二进制ROM代码,是该芯片的标识号,如表2.1所示:表2.164位ROM标识8位循环冗余检验48位序列号8位分类编号(10H)MSBLSBMSBLSBMSBLSB第1个8位表示产品分类编号,DS18B20的分类号为10H;接着为48位序列号。它是一个大于281*1012的十进制编码,作为该芯片的唯一标示代码;最后8位为前56位的CRC循环冗余校验码,由于每个芯片的64位ROM代码不同,因此在单总线上能够并接多个DS18B20进行多点温度实习检验。(2)温度传感器:温度传感器是DS18B20的核心部分,该功能部件可完成对温度的测量通过软件编程可将-55~125℃范围内的温度值按9位、10位、11位、12位的分辨率进行量化,以上的分辨率都包括一个符号位,因此对应的温度量化值分不为0.5℃、0.25℃、0.125℃、0.0625℃,即最高分辨率为0.0625℃。假如测得的温度大于0,这5位为0,只要将测得的数值乘上0.0625即可得到实际温度;假如温度小于0,这5位为1,测得的数值需要取反加1再乘上0.0625即可得到实际温度。(3)高速缓存器:DS18B20内部的高速缓存器包括一个高速暂存器RAM和一个非易失性可电擦除的EEPROM。非易失性可点擦除EEPROM用来存放高温触发器TH、低温触发器TL和配置寄存器中的信息。(4)配置寄存器:配置寄存器的内容用于确定温度值的数字转换率。DS18B20工作是按此寄存器的分辨率将温度转换为相应精度的数值,它是高速缓存器的第5个字节,该字节定义如表2.2所示:表2.2匹配寄存器TMR0R111111TM是测试模式位,用于设置DS18B20在工作模式依旧在测试模式,在DS18B20出厂时该位被设置为0,用户不要去改动;R1和R0用来设置分辨率。DS18B20依靠一个单线端口通讯。在单线端口条件下,必须先建立ROM操作协议,才能进行存储器和操纵操作。因此,操纵器必须首先提供下面5个ROM操作命令之一:1)读ROM;2)匹配ROM;3)搜索ROM;4)跃过ROM;5)报警搜索。2.3DS18B20供电方式DS18B20能够采纳外部电源供电和寄生电源供电两种模式。外部电源供电模式是将DS18B20的GND直接接地,VDD与外部电源正极相连。DQ与单总线相连作为信号线。寄生电源供电模式时DS18B20的GND和VDD均直接接地,DQ与单总线相连,单片机其中一个I/O口与DS18B20的DQ端相连。2.4DS18B20的测温原理DS18B20的测温原理如图2.5所示,其要紧由斜率累加器、温度系数振荡器、减法计数器、温度存储器等功能部件组成。DS1820测温原理:用一个高温度系数的振荡器确定一个门周期,内部计数器在那个门周期内对一个低温度系数的振荡器的脉冲进行计数来得到温度值。计数器被预置到对应于-55℃的一个值。假如计数器在门周期结束前到达0,则温度寄存器(同样被预置到-55℃)的值增加,表明所测温度大于-55℃。同时,计数器被复位到一个值,那个值由斜坡式累加器电路确定,斜坡式累加器电路用来补偿感温振荡器的抛物线特性。然后计数器又开始计数直到0,假如门周期仍未结束,将重复这一过程。斜坡式累加器用来补偿感温振荡器的非线性,以期在测温时获得比较高的分辨率。这是通过改变计数器对温度每增加一度所需计数的的值来实现的。因此,要想获得所需的分辨力,必须同时明白在给定温度下计数器的值和每一度的计数值。DS18B20内部对此计算的结果可提供0.5℃的分辨率。温度以16bit带符号位扩展的二进制补码形式读出,表2.4给出了温度值和输出数据的关系。表2.4温度数据关系温度℃数据输出(二进制)数据输出(十六进制)+125000000001111101000FA+2500000000001100100032+0.500000000000000010001000000000000000000000-0.51111111111111111FFFF-251111111111001110FFCE-551111111110010010FF92S18B20遵循单总线协议,每次测温时都必须有4个过程:•初始化;•传送ROM操作命令;•传送ROM操作命令;•数据交换;第3章总体设计方案3.1设计目的本次课题要紧是锻炼学生自主学习和动手能力。加深对单片机的认识,培养学生创新、开发简单程序技能。培养学生发觉问题、解决问题的能力,从理论上升到实验,理论与实验相互结合,相互促进。3.2设计任务与要求3.2.1设计任务基于STC89C52单片机设计温度报警,能够采集周围的温度信息进行显示,同时能够依照顾用环境要求作出报警提示。3.2.2设计要求(1)实时温度检测并显示对应的温度值。(2)具有上下限温度报警功能。3.3差不多思路该系统要紧由温度采集,信号处理,显示模块以及报警系统等及部分组成。单片机发出信号操纵数字温度传感器DS18B20采集温度模拟信号,温度传感器将模拟信号转换成电信号回馈给单片机操纵中心。电信号经单片机处理后通过显示模块将温度显示出来。当温度达到预定值时,单片机会做出指示,报警系统发出报警提示。3.4总体设计框图STC89C52STC89C52单片机数字温度传感器双限报警系统译码显示电路4.1单片机最小系统的设计单片机是一种集成电路芯片,是采纳超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能集成到一块硅片上构成的一个小而完善的计算机系统。本次课程设计中选用STC89C52式单片机,其最小系统要紧由电复位、振荡电路组成。单片机的最小系统如图4.1所示。单片机的复位电路原理是在单片机的复位引脚RST上电阻和电容,实现上电复位。当复位电平持续两个时钟周期以上时复位有效。复位电路由按键复位和上电复位两部分组成,上电复位是在复位引脚上连接一个电容到VCC,再连接一个电阻到GND。AT89C51单片机使用12MHZ的晶振最为振荡源,由于单片机内部有振荡电路,因此外部只要连接一个晶振和两个电容即可,电容一般在15pF至50pF之间。外部晶振结合单片机内部电路产生单片机所需的时钟频率。图4.1单片机最小系统4.2温度采集电路的设计温度采集电路部分,采纳数字温度传感器DS18B20进行温度采集。温度测量范围为-55℃—+125℃,测量精度为0.5℃;被测温度用符号扩展的16位数字量方式串行输出;CPU只需用一个端口线就能够与DS18B20通信。温度采集电路如图4.2所示。DS18B20采纳单线进行数据传输,与单片机的P1.0口相连进行数据的双向传输。图4.2温度采集电路4.3LED显示电路的设计LED数码管与单片机的P0口相连,单片机将采集到的温度值转化为与数码管对应的数据,通过P0口输出显示。即信号通过译码管的端口a、b、c、d、e、f、g、dp端来操纵每段译码管的亮灭与否,同时通过端口1、2、3、4四个端口来操纵四个译码管。在本次设计中,采集到的温度值超过所设置的范围时,单片机会输出一信号,通过三极管放大后驱动蜂鸣器发出报警信号。LED数码显示电路如图4.3所示。图4.3数码显示电路4.4报警电路的设计报警电路中加一PNP三极管驱动,基极接单片机P11口,当端口变成低电平常,驱动三极管会导通,VCC电压加载到蜂鸣器使其发声、报警发光二极管亮,如图4.4所示。图4.4报警电路

第5章系统软件设计系统程序要紧包括主程序,温度传感器初始化子程序,温度传感器读写子程序,温度转换与计算子程序以及显示子程序。5.1主程序设计主程序的要紧功能是负责读出并处理DS18B20的测量的当前温度值,温度的实时显示,并依照设置的上下限推断是否报警。系统开始运行时,温度传感器测量并计算温度值通过P1.0口传输进单片机里进行处理,通过处理后的数据再通过P0口传输到数码管进行显示。通过按键设置温度报警界限,当超过报警界限时单片机将相应的数据通过P3.7口传输报警,其程序流程见图5.1所示。图5.1主程序流程图5.2温度测量模块程序设计温度测量程序完成的功能是读出数字温度传感器的温度值。要正确的读出温度值,必须严格遵守单总线器件的命令序列,否则,单总线器件可不能响应主机。单总线器件命令序列如图5.2.1所示。温度测量模块程序流程图如图5.2.2所示。发DS18B20复位命令开始发跃过ROM命令发DS18B20复位命令开始发跃过ROM命令发温度转换开始命令结束图5.2.1单总线器件命令序列图5.2.2温度测量模块程序流程图

第6章系统的安装调试与仿真系统调试以程序为主,硬件调试比较简单,软件调试能够先编写显示程序并进行硬件正确性检验,然后分不进行主程序、读出温度子程序、温度转换命令子程序、计算温度子程序、显示刷新等子程序的编程及调试,由于DS18B20与单片机采纳串行数据传送,因此,对DS18B20进行读写编程时必须严格的保证读写时序,否则将无法读取测量结果。6.1安装与调试依照STC89C52单片机版原理图焊接好元器件,并检查个焊点是否出现虚焊,焊盘脱落等情况。然后上电检测各模块的通电情况,尽可能排除一切故障保证调试顺利。按照设计要求选好单片机引脚接通线路。本课程设计要紧应用了单片机为主控元件,温度传感器DS18B20采集温度信号从P1.0口传送给单片机,单片机对温度电信号处理后经P0口送显示模块显示相应温度,P2口作为位选操纵LED灯的选通与否。当温度达到预设值时,单片机会从P3.7口发出报警信号,做出报警提示。本程序采纳单片机C语言编写,用Keil编译器编程调试,能专门好的找出编程出现的错误以及逻辑功能等问题。Keil生成的目标代码效率特不之高,多数语句生成的汇编代码专门紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。6.2仿真6.2.1软件仿真将Keil生成的hex文件调入Proteus电路图的单片机中,点击图左下角的开始键运行,程序初始化后通过调节DS18B20温度传感器的数值,数码管会显示相应的数值,仿真结果如图6.2.1所示。(例如25℃的其结果)6.2.2系统性能测试性能测试可用制作的温度计和已有的成品温度计来同时测量比较,由于DS18B20的精度专门高,因此误差指标能够限制在0.1℃以内,另外—55至+125℃的测温范围使得该温度计完全适合一般的应用场合,其低压供电特性可作成用电池供电的手持电子温度计。图6.2.1程序正常运行结果仿真图

第7章总结通过本次单片机课程设计,我学到了专门多东西,同时在做的过程中也发觉专门多的问题,从最初的课题选择到对相关课题资料的搜集与摘选,再到自己报告内容的思路的设计、编写以致最后时期的修改与完善。在这一过程中,我对前两学年所学习的相关电子知识又有了更深一层的学习和理解,让我对自己所学的又有了更深的掌握。尽管往常还做过如此的设计但这次设计确实让我长进了专门多,单片机课程设计重点就在于软件算法的设计,需要有专门巧妙的程序算法,尽管往常写过几次程序,但我觉的写好一个程序并不是一件简单的事。再者,系统调试是较为苦恼、复杂的过程。只要一点点不对就会直接阻碍调试结果,而且只能从头到尾一步一步的排除检测,而且假如你检查的方法不对,不能耐心认确实查找、测量,专门难发觉错误。同时也会阻碍整个人的心情和状态。还有确实是要由问题推测各种可能的缘故,追根溯源。不要总是在一个地点纠结。如此是专门难找到故障并解决的。那个过程既能专门大程度上减少工作量,也能够提高分析问题的能力,这就课程设计要达到目的。在大学里如此的机会是专门难的,抓紧这有限的机会,让自己得到锻炼是特不有必要的,也是特不重要的。从这次课程设计中,我真真正正的意识到,有好多的东西,只有我们去试着做了,才能真正的掌握,只学习理论有些东西而不结合实践是专门难理解的,更谈不上掌握。在以后的学习中,要理论联系实际,把我们所学的理论知识用到实际当中,学习单机片机更是如此,程序只有在经常的写与读的过程中才能提高,这确实是我在这次课程设计中的最大收获。

参考文献:1、王迎旭编.《单片机原理与应用》[M].机械工业出版社,2010。2、楼然苗编.《51系列单片机设计实例》[M].北京航空航天大学出版社,2006。3、黄勤编.《计算机硬件技术基础实验教程》[M].重庆大学出版社,2004。4、刘乐善编.《微型计算机接口技术及应用》[M].华中科技大学出版社,2004。5、陈光东编.《单片微型计算机原理及接口技术》[M].华中科技大学出版社,2005。

附录A:元件清单1)8路LED指示;2)4位7段数码管以及驱动电路;3)1个4×4矩阵式键盘以及接口电路,1个独立式中断按键;4)1个蜂鸣器;5)2个继电器输出电路,含常开常、闭触点;7)一个塑封一体化红外线接收头;8)1个4位拨码开关;9)1根RS232串口通讯接口以及下载线,可完成程序下载、在线仿真(用SST芯片),并实现与PC机以及与其他单片机之间的通信;10)1个可对S5X系列单片机编程的ISP接口;11)可对用户开放的全部I/O口引脚,方便用户依照需要进行功能扩展和二次开发;12)1个整流、滤波稳压电路,可采纳7~12V电源输入(交、直流均可),对本机提供5V工作电压,并可对扩展功能模块提供5V和12V直流电源。附录B:硬件原理图

附录C:源程序清单#include<reg52.h>#defineucharunsignedchar#defineuintunsignedintsbitDQ=P1^0;sbitbeep=P3^7;uinttemp;ucharb; ucharcodetable[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};//共阳ucharcodetable_bit[]={0x0e,0x0d,0x0b};/****************延时函数**************/voiddelay(uintk){ while(k--);}/**************DS18B20初始化函数*************/voidinit_18b20(void){ucharx=0;DQ=1;delay(8);DQ=0; //拉低总线delay(80); DQ=1; //拉高总线delay(14);x=DQ;delay(20);}/****************从DS18B20读一个字节数据**************/ucharread_byte_18b20(void){uchari=0;uchardate=0;for(i=8;i>0;i--){DQ=0;date>>=1;DQ=1; //拉高总线,预备读数if(DQ)date|=0x80;delay(4);}return(date);} /****************向DS18B20写一个字节数据**************/voidwrite_byte_18b20(uchardate){uchari=0;for(i=8;i>0;i--){DQ=0;DQ=date&0x01;delay(5);DQ=1;date>>=1;}}/****************从DS18B20读取温度**************/intread_temperture(void){ucharp=0;ucharq=0;uchara=0;inttemp1=0;floattt=0;init_18b20();write_byte_18b20(0xcc);write_byte_18b20(0x44);//启动温度转换delay(100);init_18b20();write_byte_18b20(0xcc);write_byte_18b20(0xbe);//读温度寄存器delay(100);a=read_byte_18b20();//读温度值低位LSBb=read_byte_18b20();if(b>127)//推断温度是否是负值//{p=~b;q=~a+1; temp1=p;temp1<<=8; //度温度值高位MSBtemp1=temp1|q;}else{temp1=b;temp1<<=8; //度温度值高位MSBtemp1=temp1|a;} tt=temp1*0.0625;temp1=tt*10+0.5;return(temp1);}/****************显示函数*

温馨提示

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

评论

0/150

提交评论