红外测温仪的毕业设计.docx
毕业论文(设计)设计题目:红外测温仪的设计学院:电子信息与通信工程学院毕业设计任务书设计(论文)中文题目:红外测温仪的设计设计(论文)的主要内容与要求:1、设计内容:设计一款红外测温仪。2、设计要求:(1)实现非接触式测量温度;(2)显示器可以采用数码管或液晶屏;(3)显示的温度保留小数点后1位。3、其他:通过查阅资料文献,掌握电路的结构及工作原理,分析其电路原理图,完成电路的组成、方案的论证、模块介绍、元器件简介及仿真、调试和故障分析(有制作实物的话),绘制电路图、并撰写毕业设计报告,不少于1万字。进度安排序号设计(论文)工作内容时间(起止日期)1确定题目,收集资料2022年6月25日-7月5日2方案论证,确定方案2022年7月6日-7月25日3单元电路设计2022年7月26日8月25日4软件编程和仿真2022年8月26日-9月25日5论文撰写2022年9月26日-10月15日主要参考文献:1殿阁.多路红外温度监测仪凹.电子测量技术,1993(3):55-56.2何希才.传感器及其应用实例M.北京:机械:工业出版社,2004.3赵全利,肖兴达.单片机原理及应用教程(第二版)M.北京:机械工业出版社,2008.何希才.传感器及其应用电路M.北京:电子工业出版社,2001:7-46,5赵亮.单片机C语言编程与实例M.北京:人民邮电出版社,2003.6阎石.数字电子技术基础M.北京:高等教育出版社,2006.5.为了克服传统温度计测量温度的主要缺点需要测量者与被测目标近距离接触和测量不方便。在顾及仪器测量高精度前提下,以追求最低成本为原则,研制了非接触式热释电红外测温仪,实现了对物体表面温度快速准确的测量。本文也设计了红外测温仪的整体系统构架。根据热释电原理,主要针对人体体温测量进行了具体的设计开发,开发包括整体方案,硬件电路,单片机程序和主机程序。并利用设计出来的红外测温仪在环境温度30°C下对人体温度和水温进行了测量,对人体的温度测量的误差低于士0.1C,提高了测量精度。人体测温仪的设计主要为适应人体体温快速无接触测量的需要。主要介绍热释电红外传感器的工作原理以及最适宜人体红外线检测的热释电传感器PM611的优点和等效电路,阐述了基于热释电传意器的红外测温仪的工作原理,讨论了该系统的设计与实现方法,简单介绍了测温系统的适用条件。关键词:温度测量,热释电,AT89C511绪论11.1 选题意义11.2 红外测温技术的发展历程11.3设计的目的与意义22人体红外测温仪的原理和特点32.1人体红外线测温仪的理论依据32.2人体红外线测温仪的性能指标及作用32.3影响温度测量的主要因素及修正方法42.4人体红外测温仪的特点43人体红外测温仪的硬件设计63.1总体设63.1.1整体框图设计63.1.2电路设计73.2温度传感器83.3放大电路的设计83. 4模数转换部分电路93.51.CD1602显示电路114软件设计144.1代码设计思路144. 2改进方案16总结19参考文献201绪论1.1 选题意义伴随着人们生活水平的不断提高以及对生活质量要求的提高,人们对自身的健康状况越来越关注,而人体的体温、血压、脉搏和呼吸是鉴别人体健康健康状况,所以他们在医疗领域中占有十分重要的地位,也为人民的生活带健康状况,所以他们在医疗领域中占有十分重要的地位,也为人民的生活带来极大的方便。本次设计主要围绕体温这一生理指标展开,以AT89S52单片机为控制核心对温度进行实时采集,开发设计红外测温仪的全过程,根据红外线测温仪的原理,通过关键器件的选择以及温度补偿的自动调节来提高红外线测温仪的精确度,设计了一种非接触式人体体温测试仪,用于人体体温的快速测量。1.2 红外测温技术的发展历程红外测温技术在生产过程中,在产品质量控制和监测,设备在线故障诊断和安全保护以及节约能源等方面发挥了着重要作用。近20年来,非接触红外测温仪在技术上得到迅速发展,性能不断完善,功能不断增强,品种不断增多,适用范围也不断扩大,市场占有率逐年增长。比起接触式测温方法,红外测温有着响应时间快、非接触、使用安全及使用寿命长等优点。非接触红外测温仪包括便携式、在线式和扫描式三大系列,并备有各种选件和计算机软件,每一系列中又有各种型号及规格。在不同规格的各种型号测温仪中,正确选择红外测:温仪型号对用户来说是十分重要的。红外检测是一种在线监测(不停电)式高科技检测技术,它集光电成像技术、计算机技术、图像处理技术于一身,通过接收物体发出的红外线(红外辐射),将其热像显示在荧光屏上,从而准确判断物体表面的温度分布情况,具有准确、实时、快速等优点。任何物体由于其自身分子的运动,不停地向外辐射红外热能,从而在物体表面形成一定的温度场,俗称“热像”。红外诊断技术正是通过吸收这种红外辐射能量,测出设备表面的温度及温度场的分布,从而判断设备发热情况。目前应用红外诊技术的测试设备比较多,如红外测温,仪、红外热电视、红外热像仪等等。像红外热电视、红外热像仪等设备利用热成像技术将这种看不见的“热像”转变成可见光图像,使测试效果直观,灵敏度高,能检测出设备细微的热状态变化,准确反映设备内部、外部的发热情况,可靠性高,对发现设备隐患非常有效。红外诊断技术对电气设备的早期故障缺陷及绝缘性能做出可靠的预测,使传统电气设备的预防性试验维修(预防试验是50年代引进前苏联的标准)提高到预知状态检修,这也是现代电力企业发展的方向。特别是现在大机组、超高电压的发展,对电力系统的可靠运行,关系到电网的稳定,提出了越来越,高的要求。随着现代科学技术不断发展成熟与日益完善,利用红外状态监测和诊断技术具有远距离、不接触、不取样、不解体,又具有准确、快速、直观等特点,实时地在线监测和诊断电气设备大多数故障(几乎可以覆盖所有电气设备各种故障的检测)。它备受国内外电力行业的重视(国外70年代后期普遍应用的一种先进状态检修体制),并得到快速发展。红外检测技术的应用,对提高电气设备的可靠性与有效性,提高运行经济效益,降低维修成本都有很重要的意义。是目前在预知检修领域中普遍推广的一种很好手段,又能使维修水平和设备的健康水平上一个台阶。目前应用红外诊断技术的测试设备比较多,如红外测温仪、红外热电视、红外热像仪等等。像红外热电视、红外热像仪等设备利用热成像技术将这种看不见的“热像”转变成可见光图像,使测试效果直观,灵敏度高,能检测出设备细微的热状态变化,准确反映设备内部、外部的发热情况,可靠性高,对发现设备隐患非常有效。目前,我国也在研发-种体积小,成本较低,又不受外界环境温度干扰的人体红外测温仪,对医学的发展有很重大的意义。1. 3设计的目的与意义生理参数是人体最重要、最基本的生命指标,对危重病人进行生命指标参数的监测是医务工作者及时了解病情状况的重要手段之一,它有利于对有生命危险的伤病员进行及时有效的治疗和抢救处理,完善病人的医疗护理以及研究人体对环境变化的反应都有着重要的意义。其中体温是人体最基本的生理参数,对于日常护理和病情检测都是非常重要的。有许多疾病都能通过体温的变化来预测,所以体温计在医疗领域中占有十分重要的地位。人体体温测试仪应用范围不仅仅局限于医学,在消防.上消防员在扑火的同时也要对自己的体温做到了解,如果体温过高或者心率过快就要及时撤离,以免发生危险;军事上用于部队训练,必须实施随时监测这种测试仪对人体体温进行精确测试。这种测试仪对人体体温进行精确测试。此设计的目的是在理论学习的基础上,通过完成一个涉及MCS-51单片机多种资源应用,并具有综合功能的小目标板的设计与编程应用,并在进行相关课程设计基础上进行的一次综合设计。通过查阅资料,接口设计,程序设计,安装调试,整理资料等环节,从而掌握工程设计方法和组织实践的基本技能,熟悉开展科学实践的程序和办法,为今后从事生产技术工作打下必要的基础,学会灵活运用已经学过的知识,并能不断接受新的知识,大胆发明创造的设计理念。因此研制一套可应用于个人家庭、方便携带、结构简单、测量速度快、实时性好的人体体温测试仪尤为重要。人们可以足不出户,在家中可随时对自己生理指标进行测试,监测自己的身体状况,做到提前预防,提高生命质量。1.1 人体红外线测温仪的理论依据自然界一切温度高于绝对零度(-273.15°C)的物体,由于分子的热运动,都在不停地向周围空间辐射包括红外波段在内的电磁波,其辐射能量密度与物体本身的温度关系符合辐射定律。红外辐射原理一辐射定律:E=。£(T,-To,)0式中:E为辐射出射度数,W113;。为斯蒂芬-波尔兹曼常数,5.67*108W/(m2.K,);£为物体的辐射率;T为物体的温度,单位K;o为物体周围的环境温度,单位K。测量出所发射的E,就可得出温度。利用这个原理制成的温度测量仪表叫红外温度仪表。这种测量不需要与被测对象接触,因此属于非接触式测量。在不同的温度范围,对象发出的电磁波能量的波长分布不同,在常温(TlO0°C)范围,能量主要集中在中红外和远红外波长。用于不同温度范围和用于不同测量对象的仪表,其具体的设计也不同。根据式E=。£Cr1.To4)的原理,仪表所测得的红外辐射为:E二A12(T1,-T2,)o式中:A为光学常数,与仪表的具体设计结构有关;一为被测对象的辐射率;£2为红外温度计的辐射率;3为被测对象的温度(K);丁2为红外温度计的温度(K);它由一个内置的温度检测元件测出。辐射率E是一个用以表达物体发射电磁波能力的系数,数值由0至1.0。所有真实的物体,包括人体各部位的表面,其:值都是某个低于1.O的数值。人体主要辐射波长在9TOum的红外线,通过对人体自身辐射红外能量的测量,便能准确地测定人体表面温度。由于该波长范围内的光线不被空气所吸收,因而可利用人体辐射的红外能量精确地测量人体表面温度。通过对人体自身辐射的红外能量的测量,便能准确地测定人体表面温度。红外温度测量技术的最大优点是测试速度快,1秒以内可测试完毕。红外测温仪由光学系统、光电探测器、信号放大器及信号处理、显示输出等部分组成。2. 2人体红外线测温仪的性能指标及作用总的来说,测温范围、显示分辨率、精度、工作环境温度范围、重复性、相对湿度、响应时间、电源、响应光谱、尺寸、最大值显示、重量、发射率等都是红外线测温仪的性能指标。1、确定测温范围:测温范围是测温仪最重要的-一个性能指标。每种型号的测温仪都有自己特定的测温范围。2、确定目标尺寸:红外测温仪根据原理可分为单色测温仪和双色测温仪(辐射比色测温仪)。对于单色测温仪,在进行测温时,被测目标面积应充满测温仪视场。否则背景会干扰测温读数,造成误差。对于双色测温仪,其温度是由两个独立的波长带内辐射能量的比值来确定的。3、确定距离系数(光学分辨率):距离系数由D:S之比确定,即测温仪探头到目标之间的距离D与被测目标直径之比。如果测温仪由于环境条件限制必须安装在远离目标之处,而又要测量小的目标,就应选择高光学分辨率的测温仪。光学分辨率越高,测温仪的成本也越高。4、确定波长范围:目标材料的发射率和表面特性决定测温仪的光谱相应波长对于高反射率合金材料,有低的或变化的发射率。5、确定响应时间:响应时间表示红外测温仪对被测温度变化的反应速度,定义为到达最后读数的95%能量所需要时间,它与光电探测器、信号处理电路及显示系统的时间常数有关。6、信号处理功能:鉴于离散过程(如零件生产)和连续过程不同,所以要求红外测温仪具有多信号处理功能(如峰值保持、谷值保持、平均值)。7、环境条件考虑:测温仪所处的环境条件对测量结果有很大影响,应予考虑并适当解决,否则会影响测温精度甚至引起损坏。8、红外辐射测温仪的标定:红外测温仪必须经过标定才能使它正确地显示出被测目标的温度。2.3影响温度测量的主要因素及修正方法影响红外人体测温仪的因素有:1、测温目标大小与测温距离的关系:在不同距离处,可测的目标的有效直径D是不同的,因而在测量小目标时要注意目标距离。人体红外测温仪距离系数K的定义为:被测目标的距离1.与被测目标的直径D之比,即K=1./D。2、选择被测物质发射率:人体红外测温仪一般都是按黑体(发射率£=1.00)分度的,而实际上,物质的发射率都小于1.00。因此,在需要测量目标的真实温度时,必须设置发射率值。物质发射率可从辐射测温中有关物体发射率的数据中查得。3、测量温度时的环境因素:测温仪所处的环境条件对测量结果有很大的影响,应予考虑并适当解决,否则会影响测温精度。本设计中正是利用了PM611热释电红外线传感器可以补偿温度起伏的作用,实现准确测温。4、强光背景里目标的测量:若被测目标有较亮背景光(特别是受太阳光或强灯直射),则测量的准确性将受到影响,因此可用物体遮挡直射目标的强光以消除背景光干扰。2.4人体红外测温仪的特点人体红外测温仪是通过接收人体发射的红外线的能量的大小来测量其体温的仪器。测温仪内部的灵敏探测元件将采集的能量信息输送到微处理器中进行处理,然后转换成温度读数显示。所以人体红外测温仪具有以下优点:1、非接触测量:它不需要接触到人体,只需在额头前方5厘米左右测温即可,而且红外探测器只需感应人体辐射的红外线。因此,不会干扰人体,也不会为人体带来损伤。2、测量范围广:因为人体红外测温仪是非接触式测温,所以测温仪并不处在较高或较低的温度场中,而是工作在正常的温度或测温仪允许的条件下进行测量的,所以测量范围比较广。3、测温速度快:即响应时间快。红外探测器中灵敏元非常灵敏,只要接收到目标一红外辐射即可在短时间内定温。4、准确度高:人体红外测温不会与普通测温一样破坏物体本身温度分布,因此测量精度高。5、灵敏度高:只要人体温度有微小变化,辐射能量就有较大改变,易于测出。而且使用安全及使用寿命长。6、体积小,方便携带。7、受外界环境温度干扰较小:由于本设计中所使用的红外探测器是带补偿电路的,所以它可以补偿外界环境温度的高低起伏。3人体红外测温仪的硬件设计3.1 总体设计图3.1所示是红外测温仪系统的总体结构框图。图3.1系统总体结构框图由上图可以看出,红外探测仪接收到人体发出的红外线后,经过检测系统确定后,再在信号处理单元对所测得的信号进行放大、滤波、再计算,模数转换处理传送到显示单元显示出温度读数。如果经过处理后的数据大于所设置的预警数据,则蜂鸣器报警。如果检测完信号后送达处理系统处理,所测的数据有误,则可以通过控制器(按钮)来进行重新检测,直到显示正确温度。3.1.1 整体框图设计热释电红外测温仪可以这样设计整体结构框图,如图3.2所示。按下开关即可测量,每次测量结果显示在显示器上。当测量按钮按下时,整个电路开始工作,物体表面辐射的能量经热释电传感器接收后,将热辐射信号转化为电信号,经由放大电路放大后(由外界环境导致的杂乱信号经滤波器过滤后)到达A/D模数转换器,89C51单片机作为CPU接收经A/D转换后的数字信号,经数据处理后转换成物体表面温度显示在1.CD液晶显示屏上。图3.2总体电路框图3.1.2电路设计本设计采用89C51系列单片机进行数据的采集存储和处理。由于信号只有一个输入,为了避免不必要的消耗,本设计A/D转换器采用的是ADCo804。芯片的C1.KIN端和C1.KR端配合可以由芯片自身产生时钟脉冲。测量物体表面辐射能量的热释电传感器选用的是尼赛拉传感器有限公司的PM611型热释电传感器,它有效调节外界环境的温度起伏影响;液晶显示器(1.CD)选用的是2行16个字的液晶显示屏。电路的主要功能是将热释电传感器接收的红外辐射能量转换为可供A/D转换器接受的电信号。显示器(1.CD)由741.S02译码器驱动,并由89C51单片机通过软件控制显示物体表面的温度。通过软件程序编制可以实现三位有效数字的显示(100度以下显示两位整数和-位小数,100度以上显示三位整数)下图3.3是整个设计的电路连接图。1.CDIW图3.3电路设计3.2温度传感器本设计的探头使用的是红外线传感器,它能接收人体发射出的红外线并使之转换成电压信号。设计选用的是PM611单元热释电传感器,这种传感器虽是单灵敏元,由于他采用一个接收元和二个并联的补偿元串接的结构,故也能有效地补偿环境温度起伏,振动等干扰影响。他的工作温度是-20。C70C,特别适合测量人体的温度。而且PM611各项指数都比较好,因此选用了他做温度仪的探头。如图3.4所示。图3.4传感器的内部典型连接电路3.3放大电路的设计由于传感器探测到的人体红外线信号较弱,当转化为电压后需要通过放大器放大电压信号。因为探测器测到的信号可能掺杂了外界环境的某些因素,所以放大电路中要加入低通滤波电路把多余的杂信号过滤掉。如图3.5所示。图3.5放大部分电路传感器输出的信号经47UF电容耦合到第-一个同相放大器,它的闭环增益为2324之间。同时第一个放大器还兼做高通滤波器,其截止频率为0.3Hz。第二个放大器是一个低通滤波器,其闭环增益约为1.截止频率为7Hz。第一个,第二个放大器分别把低于0.3HZ和高于7Hz的信号滤掉,使输出的信号仅是经过调制器调制的IHZ红外辐射信号。通过第二章的原理可知由信号转换为电压再转化成温度才显示出来的,那么这个过程将在第三个放大器中完成。通过放大滤波的信号就输入到模数转换器的Vin(+)端,模数转换器会把收到的信号进行模数转换。调试:在实验中通过调节放大器1输出端的IOKQ变阻器,使第三个放大器的输出信号大小发生改变,当最后一个也就是第三个信号放大器的输出小于5V时,可以适应下面系列的处理,因此第三个放大器的两个电位器用来调节最后信号输出的大小,确保在高温时不超过5V。3.4模数转换部分电路由于传感器探测到红外线后被放大的是模拟信号,然而需要在1.CD液显上显示出来,所以本设计利用模数转换器来实现这个功能。因为只用到了一个输入信号,所以为了节省不必要的累赘,采用ADC0804把有用的模拟信号转换成数字信号,最后显示出来。CBRDWRC1.KININTRVw)Vn(0AGNDVREFDGND1I叵Elz叵叵叵ADCO804是用CMoS集成工艺制成的逐次比较型模数转换芯片。分辨率8位,输入电压范围是05V,增加一些外部电路后,输入模拟电压为±5V°此芯片内有输出锁存器,当与计算机连接时,转换电路的输出可以直接连接在CPU数据总线上,不用再加接口电路。ADCO804芯片的外引脚图如3.6所示,引脚名称及意义如下。v*OaVrkfCUKRDBo(1.Sii)DB1DBZDB3DB4DB9DBe(MSBI图3.6DC0804引脚图Vin(+)、Vin(一):芯片的两个模拟信号输出端,用来接收单极性、双极性和差模输入信号;D0D7:AD转换器的数据输出端;AGND:接模拟信号地;DGND:接数字信号地端;C1.KIN:外电路提供时钟脉冲输入端;C1.KR:内部时钟发生器外接电阻端,与C1.KIN端配合可由芯片自身产生时钟脉冲,频率为1/1.IRC;CS:片选信号输入端,低电平有效,一.旦使用低电平,表示转换器被选中,则开始工作。WR:写信号输入,低电平有效。当CS、WR同时为低电平时,启动转换。RD:读信号输入,低电平有效,当CS、RD同时为低电平时,可以读取转换输出的数据。INTR:转换结束输出信号,低电平有效。如果输出低电平表示此次转换已经完成。本设计采用了C1.KR端口和C1.KIN端口配合,芯片本身产生时钟脉冲的方法,A/D转换器Vin(+)端口接收到经处理过的模拟信号在内部进行模数转换,片选端口CS和WR写信号输入端口同为低电平时启动转换,因为0804内部有输出锁存器,转换后的数字信号存在锁存器里,当CS、RD同为低电平时,可以读取转换输出的数字信号,由AD模数转换器的D(TD7端输出,接入AT89C51单片机的Pl口的P1.7P1.0,经过程序烧制显示到液晶显示屏上。A/D模数转换电路连接图如下图3.7。图3.7DC0804模数转换电路3.51.CD1602显示电路液晶显示器以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,在袖珍式仪表和低功耗应用系统中得到越来越广泛的应用。在本设计采用的字符型液晶模块是一种用5x7点阵图形来显示字符的液晶显示器,根据显示的容量可以分为1行16个字、2行16个字、2行20个字等等,这里以常用的2行16个字的1602液晶模块来介绍它的编程方法。1602采用标准的16脚接口,其中:第3脚:VEE为液晶显示器对比度调整端;第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器;第5脚:RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据;第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令;第714脚:D0D7为8位双向数据线;第1516脚:空脚。液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符,表3.1是DM-162的内部显示地址。表3.11602的内部显示地址12315678910111213141516序号0000000000000000第一0123456789ABCD:F行4444444444444444第二0123456789ABCDEF行1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码。在软件中设置温度的代码是:30.0。C(00110011B,00110000B,00101110B,00110000B,0100001IB);37.0oC(00110011B,00U0111B,00101110B,00110000B,01000011B);60oC(00110110B,00110000B,01000011B),>在液显电路连接上,1.CD1602显示模块可以直接和单片机AT89C51直接接口,液晶显示的D0D7八个双向端口接T89C51单片机的PO的P0.0P0.7,单片机的PO口可以作为通用的输入,输出端口使用,此时,若要驱动NMOS或其他拉电流负载时,需外接上拉电阻,才能使该位高电平有效,所以中间接IOK的排阻,来决定显示器高低点位,是否要显示。由于VEE端接电源时接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,对比度过低会使屏幕模糊不清,所以使用时可以通过一个IOK的电位器来调整它的对比度。1.CDI602的RS寄存器选择端口接单片机的P2.1口,通过软件程序中对此端口的设置来决定选择的寄存器。液显的RW端口直接接单片机的P2.2口,高电平时进行对输入的数字信号进行读数。使能E端接单片机的P2.3口,使能端由高电平到低电平时开始执行命令,把读数显示出来。下图3.8是1.CD1602显示电路的连接图。1.CD1UOlC1.图3.81.CD显示电路连接图4软件设计4.1代码设计思路设计的思路是首先初始化系统,然后显示子程序,开始测温后复位各个端口,掘下开关,接通电源,确定打开电源后A/D模数转换器Vin(+)输入端读取经过放大滤波计算后的数据进行模数转换,CS片选端、WR写入端同时设置成低电平,当芯片自身产生一个脉冲时,启动转换。然后A/D转换器的CS、RD同时为低电平O时读取转换输出的数据,转换后的数据存入模数转换器自身的锁存器里,由输出端口D(TD7输入到单片机的PO口中。读取三次数据,满三次后读数正确的写入单片机EEPROM存储器。同时计数器加1,继续读取下一组数据。如果读数满三次后数据不正确,则要对单片机进行清零,复位后重新测:量读数。中断子程序设置INTO为外部中断,中断后对EEPROM里的数据进行读取,然后通过液晶屏显示出来,读取时要对数据进行一个判断,AT89C51单片机的P3口除了是多功能I/O口外还是第二功能口,它的第二功能是作为控制端口使用的,所以本设计用P3.0串行口输入端来控制报警系统,如果数据大于37.0,则蜂鸣器报警。显示温度的范围是30-60。C,当所测温度高于下限或者上限温度时,报警系统报警。执行完一次子命令后运行中断信号,子程序返回。主程序流程图如图4.1所示。图4.1主程序流程图主程序主要实现以下功能:1、开机或复位时能自动初始化设备,引导程序正确执行。2、开机或复位之后启动A/D转换,对环境温度进行采样,并在显示器上显示当前环境温度。3、保持环境温度显示的同时,对覆盖热释电探测器视场的物体表面的红外辐射进行转换和采样,并比较各采样值,直到采样值为热释电探测器响应的峰值电压为止。如图4.2是软件设计部分的中断子程序流程图,主要实现以下功能:1、A/D采样子程序完成对热释电传感器放大电路输出信号的采样。要实现准确测温就必须得到输出信号的峰值,但在实际电路中,由于探测器响应延时不尽相同,且电路的延时也很难准确计算,所以要准确采集到峰值是十分困难的。为此,我们只有对输出信号不断地进行采样,并比较各样值,取其中的最大者作为峰值的近似值2、数据处理子程序完成对采样值的计算处理。中间又经过了ADCO804数模转换器将结果转换为可供1.CD显示的代码。3、读取温度时超过预警温度,蜂鸣器报警,没超过直接显示所测温度。4、液晶显示子程序完成最后的温度。4. 2程序# include# include# include# include# include# include# include图4.2中断子程序流程图<at89x51.h><absacc.h><ctype.h><math.h><stdio.h><string.h><PM611.h>头文件#include<1.CD1602.h>sbitupalarm=P30;sbitdc_motor_run=P26;测温头文件液晶显示头文件上限温度报警信号超过.上限温度,报警bitup_one,down_one;加1和减1标志bitalarm_up_flag;.上限报警设置标志bitset_temper_flag;设置控制标志温度标志bitalarm_switch;报警开关bitset_temperdot_flag;unsignedcharuser_temper-37;用户标定温度unsignedcharTH=30,T1.=20,RS=0x3f;/.上限温度50,下限20,分辨率10位,也就是0.25CUnsignedunsignedchart2,t;用来存放温度值测温程序就是通过这个数组与主函数通信的unsignedcharTempBufferl17=0x2b,0x20,0x30,0x30,0x2e,0x30,0x30,0x20,0x53,0x45,0x2b,0x20,0x30,0x30,0x2e,0x30,0,;显示实时温度,上电时显示+00.00SET+00unsignedcharTempBuffer17=0x54,0x48,0x3a,0x2b,0x20,0x30,0x30,0x20,0x54,0x4c,0x3a,0x2b,0x20,0x30,0x30,0x20,'0'显示温度上下限,上电时显示TH:+00T1.:+00unsignedcharcodedotcode4=0,25,50,75);voidsounddelay();voidtempsound();voiduser_temper_1.CD(unsignedchartemper)(TempBufferlt10=0x2b;/0x2B为+的ASCII码TempBuffer111=temper100+0x30;分离出temper的百十个位if(TempBuffer111-0x30)TempBuffer111=Oxfe;百位数消隐TempBufferl12=(temper%100)/10+0x30;分离出十位TempBufferl13-(temper%l00)%10+0x30;分离出个位TempBufferl15=user_dot_temper+0x30;)voidalarm_1.CD(unsignedcharTH,unsignedcharT1.)TempBufferO3=0x2b;/0x2B为+的ASCH码if(T1.>0x7f)elseTempBuffer11=0x2b;/0x2B为+的ASCH码TempBufferO4=TH100+0x30;分离出TH的百十个位if(TempBufferO4=0x30)TempBufferO4=Oxfe;/百位数消隐TempBufferO5=(TH%100)/10+0x30;分离出十位TempBufferO6=(TH%100)%10+0x30;分离出个位TempBufferO12=T1./100+0x30;分离出T1.的百十个位if(TempBufferO12=0x30)TempBufferOt12=OXfe;百位数消隐TempBufferOt13=(T1.%100)/10+0x30;分离出十位TempBufferOt14=(T1.%100)%10+0x30;/分离出个位voidtemper1.CD(void)unsignedcharx=0x00,y=0x00;tO=*pt;Pt+;elseTempBufferl0-0x2b;/Oxfe为变+的ASCH码将高字节左移4位取出高字节的3个有效数字位X=tO;将t0暂存到X,因为取小数部分还要用到它x>>=4;右移4位x=x&0x0f;和前面两句就是取出t0的高四位,t0的低四位代表小数将高低字节的有效值的整数部分拼成一个字节soundvaluel=t1;if(tl>user-temper)dc_motor_run=l;如果温度高于用户标定温度,则报警elsedcmotor,run=0;TempBufferll=tl100+0x30;/+0x30为变0"9ASCII码if(TempBufferll0x30)TempBuffer11=Oxfe;百位数消隐TempBufferl2=(tl%100)/10+0x30;分离出十位TempBufferl3=(tl%100)%10+0x30;分离出个位t0=t0&0x0c;取有效的两位小数t0>>=2;左移两位,以便查表x=t0;y=dotcodex;查表换算成实际的小数soundvalue2-y;TempBufferl5=yl0+0x30;分离出十分位TempBufferl6-y%10+0x30;分离出百分位总结热释电红外测温仪是根据热释电效应而制成的一种新型的红外测温仪,它具有不需制冷、能在室温下工作、抗干扰能力强、灵敏度高、光谱响应宽、性价比高等优点。由于它在这些方面突出的优点,使得其近年来发展十分迅速,获得了广泛的应用。本设计的热释电红外测温仪达到了非接触式、快速测温的目标,但仍有一些不足之处,比如AID转换的精度不是很高,系统整体处于测试阶段,离实用化还有很大的差距。下一步工作的目标是完善系统电路部分,完成测试阶段的数据处理,实现产品实际化。通过本设计过程中学到了许多没学到的知识,电路工程量大,不能心急,一个个慢慢来不能急于求成。反而达到事半功倍的效果。对电路的设计、布局要先有一个好的构思,才显得电路简洁。最主要的是练就了学生们的耐心。在本次设计中学到了很多很多。参考文献1殿阁.多路红外温度监测仪凹.电子测量技术,1993(3):55-56.2何希才.传感器及其应用实例M.北京:机械:工业出版社,2004.3赵全利,肖兴达.单片机原理及应用教程(第二版)M.北京:机械工业出版社,2008.4何希才.传感器及其应用电路M.北京:电子工业出版社,2001:7-46,5赵亮.单片机C语言编程与实例印.北京:人民邮电出版社,2003.6阎石.数字电子技术基础M.北京:高等教育出版社,2006.5.7陈永甫.红外探测与控制电路M.北京:人民邮电出版社,2004:290-320.8陈继述.红外探测器M.北京:国防工业出版社,1986.9谢嘉奎.电子线路一一非线性部分(第四版)凶.北京:高等教育出版社,2000.