1、 毕业论文(设计) 题 目 基于单片机的体温测量系统设计 学生 学 号 院 系 专 业 指导教师二一一年六月二日41 / 431、引言11.1课题研究的目的与意义11.2 国外发展现状21.3 本文的设计工作22、系统总体设计32.1 设计任务32.2 系统设计33、系统硬件设计43.1接口电路设计43.2传感器接口电路设计53.2.1红外温度传感器的原理53.2.2 ZTP135S-R的工作原理和性能53.3 电压信号放大电路设计73.4显示模块电路设计83.5 A/D转换模块电路设计93.6 实时时钟模块电路设计103.7 正负电压转换电路设计114、系统软件设计124.1 整体流程框图1
2、24.2 各模块程序设计124.2.1 A/D转换模块程序设计124.2.2 数据处理模块程序设计134.2.3 实时时钟模块程序设计154.2.4显示部分模块程序设计164.2.5中断模块程序设计175、总结18致19参考文献20Abstract21附录一、原理图22附录二、程序设计23基于单片机的体温测量系统设计洪亮信息工程大学电子信息工程系, 210044摘要: 本文是以AT89S52单片机为核心,根据红外线测温仪的原理,设计了一种非接触式人体体温测试仪。该系统包括硬件设计和软件设计两部分。硬件方面首先进行了系统的总体电路设计,然后分别从红外线传感器、电压信号放大、A/D转换、实时时钟、
3、正负电压转换、显示部分等功能模块进行了电路设计。软件方面首先进行了系统的总体程序设计,然后分别从A/D转换、数据处理、实时时钟、中断部分、显示部分等模块进行了程序设计。本系统采用模块化设计,系统由各个应用模块组成,所以整个程序的编制和维护都比较方便,结构清晰,提高了可靠性和修改性,并给出了针对各个应用模块的设计思路和设计框架,从而实现非接触式人体体温的数字显示。关键词: 单片机; 红外热释传感器; 体温; 液晶显示1、引言1.1课题研究的目的与意义 高等动物都有一定的体温,一定的体温是机体不断的新代的结果,同时体温又是机体功能活动正常进行的重要条件。人能够在环境温度不同的条件下,通过对体产热和
4、散热过程的调节来保持体温度的相对稳定,并提高对环境温度变化的适应能力。在正常情况下,人的温度保持在37上下(大致介于36.237.3)。不受外界环境温度的变化而变化。但是当人体的某些机能发生变化或某些部位发生病变时,恒定的体温将会发生变化;在临床医学中,体温是一个重要的生理参数,病人的温度为医生提供了生理状况的重要信息。还可以对某些重大疾病或隐藏于身体部的健康问题起着积极的预防和警示作用。 在“非典”期间,人体体温便是检测并隔离患者状况的一个重要参数,从而达到了控制“非典”大规模扩散的作用。在公共场所进行体温监测时主要考虑以下三个要求:非接触性、测量的快速性和准确性。采用红外非接触测温方法可以
5、满足这些要求。因此对非接触式人体温度测量是非常有意义的,也是应付突发要求的必要工作。1.2 国外发展现状由于近些年“非典”和猪流感的袭击,在我国迅速诞生了一支专门抗击非典的医疗仪器队伍,特别是在红外体温检测仪的研发方面取得了突出的成就。国家相关部门也在重点强调非接触式体温计的研发。随着现代科技的发展,新材料、新工艺的运用,各式各样的体温计陆续出现,探测方式不断改进。国外体温计的发展大致分为三个阶段。第一阶段是常见的玻璃水银体温计;第二阶段是电子体温计;如今应用最为广泛的是非接触式红外体温计。水银体温计虽然价格便宜但是有诸多弊端:首先,水银体温计遇热或安置不当,体温计容易破裂。其次,人体接触水银
6、后会中毒,中毒症状是恶心、头痛、腹泻、脱发等,严重者会造成血液凝固。因为水银有剧毒,一旦它污染了水源或食物,可以对人的肾脏、肺等造成极大的伤害,水银也能加速人神经系统退变。最后,采用水银体温计测温需要相当长的时间(5min10min),使用不便。电子体温计是采用热敏电阻测量温度的,电子体温计能快速准确地测量人体温度,与传统的水银玻璃体温计相比,具有读数方便、测量精度高、能记忆并有蜂鸣提示的优点,尤其是电子体温计不含水银,对人体与周围环境无害,特别适合于家庭、医院等场合使用。但采用电子体温计测温也需要较长的时间,同样使用不便。非接触式红外体温计是根据黑体辐射原理通过测量人体辐射的红外线而测量温度
7、的。它用的红外传感器只是吸收人体辐射的红外线而不向人体发射任何射线,它采用的是被动式且非接触式的测量方式,因此红外体温计不会对人体产生辐射伤害且价格低,体积小,实现了体温的快速准确测量,具有稳定性好,精度高,测量安全,使用方便等特点。目前市场上虽然已经有这样的产品出现,但由于它们的价格较高,功能较少,精度不高等缺点3。1.3 本文的设计工作非接触式人体体温测试仪的设计技术目前已经达到成熟,目前市场上已经有很多这样的产品出现,但由于它们的价格较高,功能较少,精度不高等缺点,使得它们即不能占据低端市场,也不能占据高端市场。并且从非接触式人体体温测试仪的成本出发,还有很大的利润空间,有继续研究的价值
8、本文是以单片机为核心,先通过传感器将光信号转换为电压信号,再通过电压信号放大电路将电压信号放大成A/D转换模块能够识别的模拟信号,再通过A/D转换,将模拟信号转换成单片机能够识别的数字信号,再将数字信号转换成系统所要显示的温度值,与读入的温度值一起通过液晶显示器进行显示。2、系统总体设计2.1 设计任务我们根据红外线测温仪的原理,通过关键器件的选择以与温度补偿的自动调节来提高红外线测温仪的精确度,设计了一种红外线测温电路,用于对人体温度的快速测量。我们要设计的红外体温计其测量围是3542 ,且精度为01 。在该设计中,以AT89S52单片机为主体,配有高精度放大器、8位ADC和实时时钟,测量
9、值和时间值用液晶屏进行显示。2.2 系统设计在硬件方面,一个系统的硬件设计中应选择合适型号的单片机后,进行系统所需的扩展和配置。按照系统功能要求进行扩展和配置外围设备。要设计合适的接口电路,系统的扩展和配置应遵循以下原则: 尽可能选择常用单片机。为硬件系统的标准化、模块化打下良好的基础。本次设计选取的是AT89S52单片机。 系统扩展与外围设备的配置水平应充分满足应用系统的功能要求,并留有适当余地,以便二次开发。 系统中的相关器件要尽可能做到性能匹配。 可靠性与干扰设计是硬件设计必不可少的一部分。本次设计首先选择设计所需AT89S52芯片,根据实际要求利用Protel软件绘制课题的原理图和PC
10、B图,外围设备电路简单,干扰较小。在软件方面,单片机应用系统中软件的设计在很大程度上决定了系统的功能。软件的资源细分为系统理解部分、软件机构设计部分和程序设计部分。 系统理解是指在开始设计软件前,熟悉硬件留给软件的接口地址,I/O口方式,确定存储空间的分配,应用系统面板控制开关、按键、显示的设置等。 软件结构设计要结合单片机所完成的功能确定相应的模块程序,比如一般子程序、中断功能子程序的确定。确定模块程序运行的先后顺序,绘制程序整体流程图。 程序设计和其他软件程序设计一样,首先要建立数学模型,选定数学算法,绘制具体程序流程图,做好程序接口说明。然后选取C语言(汇编语言或C语言)。本次课题的软件
11、设计采用的是模块化设计,使用C语言编写程序,结构清晰简捷。此系统是通过红外热释传感器ZTP135S-R采集人体体温并以电压信号的形式输出并进行放大,然后将模拟电压信号通过模数转换器转换成与之对应的数字量,经单片机对数据的非线性处理与分析,并显示在LCD上,即完成一次体温的测量,若需储存测量值,可储存一段数据到部数据存储器中,整体框图如图2.1所示:图2.1 整体框图3、系统硬件设计 本系统硬件由七个应用模块组成,下面便是我对各个模块的电路设计:3.1 接口电路设计AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 的系统可编程Flash 存储器。使用Atmel 公司高密度非易失性
12、存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有以下标准功能:8k字节Flash,256字节RAM, 32位I/O口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片晶振与时钟电路。另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断
13、继续工作。掉电保护方式下,RAM容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止4。 本次DS12C887通过三总线与MCS-51相连。它们通过外部总线与单片机通信。DS12C887通过外部总线从单片机中读取时间初值,启动后,再实时的向单片机传输时间数据,它的片选脚于单片机的P27相连,所以他的首地址为:0X7F00。 由于需要通过单片机给DS12C887设置初始值,所以用了INT0中断来产生中断,在中断中改变时间值,对时间值进行修改用到的引脚有P22、P23和P24,它们的功能分别是P22和P23对时间进行加减,P24为位选,选中需要修改的时间位,具体设计在软件部分介
14、绍。下面说明单片机其他引脚的使用状况。P0作为地址和数据复用口,它分别与DS12C887的AD0-AD7、TC1602A的DB0-DB7和DAC0809的D0-D7相连,它从ADC0809中读入数据,向TC1602A传输数据,对DS12C887是即读入也输出数据。P1端口的P14与ADC0809的EOC相连、P10、P12和P13分别与TC1602A的RS、RW和E相连。P3口的P36(WR)与DS18C887的R/和74LS00的一个输入脚相连,具体的功能说明在下文的各芯片接口设计中会一一介绍。 3.2 传感器接口电路设计3.2.1 红外温度传感器的原理自然界一切温度高于绝对零度(-2731
15、5)的物体,由于分子的热运动都在不停地向周围空间辐射包括红外波段在的电磁波,其辐射能量密度与物体本身的温度关系符合普朗克(Plank)定律。红外测温的原理是一样的,都是根据普朗克原理。一般理解红外测量的是物体的温度,其实测的是目标物与传感器或者说是物体与环境温度之间的差值。物体辐射能量的大小直接与该物体的温度有关,具体地说,是与该物体热力学温度的4次方成正比用公式可表达为:E=(T4-T04) (1)式中,E是辐射出射度,单位是Wm3; 是斯蒂芬一波尔兹曼常数,567x10-8W(m2K4); 是物体的辐射率; T是物体的温度(K); To是物体周围的环境温度(K);人体主要辐射波长为9 m1
16、0 m的红外线,通过对人体自身辐射红外能量的测量便能准确地测定人体表面温度。由于该波长围的光线不被空气所吸收,因而也可利用人体辐射的红外能量精确地测量人体表面温度。红外温度传感器利用热电偶原理,测量目标物与传感器或者物体与环境温度之间的差值。热电偶的原理是二种不同的金属A和B构成一个闭合回路,当二个接触端温度不同时(TTo),回路中产生热电势Eab,其中T称为热端、工作端或测量端,To称为冷端、自由端或参比端。A和B称为热电极。热电势的大小由接触电势(也叫伯尔贴电势)和温差电势(也叫汤姆逊电势)决定5。3.2.2 ZTP135S-R的工作原理和性能GE公司生产的ZTP135SR型红外温度传感器
17、是一种专门用于非接触式测量体温的器件,其主要参数见表3.1所示:图3.1 ZTP135S-R的外形其外形和引脚排列如图3.1和3.2所示:图3.2 ZTP135S-R的引脚排列 其引脚功能如下: 1脚接+5V;2脚为电压输出端;3脚接地;被测物体的辐射能经过窗口和光阑聚焦在接收元件(热电堆) 的受热片上, 受热片上有60只串联的热电偶,每只热电偶的热端在受热片的中央部位围成一圈,焊接在一起,从引线就可以得到所有电偶的热电势之和。这种结构设计具有较小的热惯性和较高的灵敏度,传感器采用负温度系数电热调节器进行环境温度补偿6。图3.3、图3.4和图3.5 分别给出了该传感器的灵敏度变化曲线、阻变化率
18、曲线和传输波形图3.3 ZTP135S-R的灵敏度变化曲线图3.4 ZTP135S-R的阻变化率曲线图3.5 ZTP135S-R的传输波形3.3 电压信号放大电路设计本设计所采用的放大器是低功耗精密运算放大器OP07,它的特点是超低失调、低漂移、高精度,电路正比特性好,零点失调电压小。OP07可以通过在1、8管脚之间加上一个电位器进行输入漂移调零,这对于低输出的信号的放大效果非常好。其低输入偏置电流为1.8nA,供电围为3V到22V,超低失调的最大值为150mV。它的性能正好解决了红外温度传感器对运放的特殊要求。由于热电堆的阻较高(约60K ),而输出电压又非常小(1mV左右),须使用具有高输
19、入阻抗(1012 )的CMOS输入运算放大器。因为测量的人体温度在3542围,传感器的输出电压围为0.71.5mV,采用两极放大的形式,将电压放大3000倍,即放大后电压为2.14.5V,以供单片机A/D转换,单片机的A/D转换参考电压选择5V。其放大电路图如下图3.6所示。图3.6 OP07两级放大电路图 电压跟随器的输出电压与输入电压的关系为: (2) 在上述运放电路图中,用到了三个OP07,其中第一级是电压跟随器,它的作用是稳定电压,由于这次使用的温度传感器输入的是弱电压信号,极易受到外部因素的干扰,且ADC0809进行模数转换需要一段时间,在这段时间需要提供稳定的电压信号,因此这第一级
20、是非常重要的。 反相比例运算电路的输出电压与输入电压的 关系为: (3) 后面的两个OP07便是起到了放大作用,它使用的是反相比例运算电路,第一级放大了30倍,第二级放大了100倍。3.4 显示模块电路设计TC1602AD主要由DDRAM、CGROM、CGRAM、IR、DR、BF、AC等大规模集成电路组成,DDRAM为数据显示用的RAM,用以存放用LCD显示的数据,只要将保准的ASCII码放入DDRAM,部控制线路就会自动将数据传送到显示器上,并显示出该ASCII码对应的字符。CGROM为字符产生器ROM,它存储了192个5*7的点阵字型,但只能读出不能写入。CGRAM为字型、字符产生器的RA
21、M,可供使用者存储特殊造型的造型码,CGRAM最多可存8个造型,IR为指令寄存器,负责存储单片机要写给LCD的指令码,当RS与R/引脚信号为0,且Enable引脚信号由1变为0时,D0-D7引脚上的数据便会存入到IR寄存器中。DR为数字寄存器,它们负责存储微机要写到CGRAM或DDRAM的数据;或者存储单片机要从CGRAM或DDRAM读出的数据。因此,可将DR视为一个数据缓冲区,当RS与R/引脚信号为1且Enable引脚信号由1变为0时,读取数据;当RS引脚信号为1,R/引脚信号为0,且Enable引脚信号由1变为0时,存入数据。BF为忙碌信号,当BF为1时,不接受微机送来的数据或指令;当BF
22、为0时,接受外部数据或指令。所以,在写数据或指令到LCD之前,必须查看BF是否为0。AC为地址计数器,负责计数写入/读出CGRAM或DDRAM的数据地址,AC依照单片机对LCD的设置值而自动修改它本身的容。TC1602A可分2行共显示32个字符,每行显示16个字符2。 单片机与液晶的接口如图3.7所示。在设计液晶电路时,需注意以下几点: (1)注意“判忙”信号(BF)。单片机向液晶模块发送数据后,需等待并判断BF信号为高,所以,BF脚为双向口,设计时需注意。在编写液晶控制程序时,也可以不判断BF信号,只需要延时一段时间就可以,这样可以避免双向口操作的麻烦。(2)有些单片机的I/0口是3.3V,
23、但很多液晶器件的是5V,因此单片机与液晶不能直接相接而需转换电平。图3.7 单片机与液晶的接口 3.5 A/D转换模块电路设计ADC0809与AT89S52单片机的一种连接方法如图3.8所示。AT89S52与ADC0809接口时必须注意处理好以下问题:在START端送一个100ns宽的启动正脉冲; 获取EOC端上的状态信息,因为它是A/D转换的结束标志; ADDA、ADDB、ADDC分别接系统的低三位地址,只要把这三位地址写入ADC0809的址锁存器,就实现了模拟通道的选择; START和ALE互连可以使ADC0809在接收模拟量路数地址时启动工作;A/D转换后得到的数据为数字量,这些数据传送
24、到单片机中进行处理。给“三态输出锁存器”分配一个端口地址,也就是给OE端送一个地址译码器的输出信号。本次设计因为只使用了一个模拟通道IN0,所以我为了使电路看起来简单易懂,将ADDA、ADDB、ADDC都接地,这样ADC0809永远选通0通道了。ADC0809的时钟信号由单片机的ALE信号经过74LS74二分频得到,它的时钟信号为1MZ,又由于ADC0809与DS18C887同时使用单片机的WR脚。为了防止在使用时相互的干扰,我将WR和RD都与单片机的P11通过或非门后再与ADC0809相连。这样,当P11为高电平时,无论WR和RD产生什么信号,ADC0809都不启动。当P11为低电平时,当W
25、R信号为低电平时,送到A/D转换器的ALE和START引脚为高电平,启动A/D转换,由于这次我使用的是查询方式为转换结束方式,所以当EOC为低电平时,转换结束。输出数据使能OE,读取转换数据。图 3.8 ADC0809与AT89S52的3.6 实时时钟模块电路设计 DS12C887是Dallas公司开发的实时时钟芯片,DS12C887可以提供实时时钟/日历、时间报警、三个可屏蔽中断、一个可编辑方波输出、113B电池供电的静态RAM。DS12C887部集成了一个晶体和一个锂电池,采用DIP封装方式。DS12C887能够自动调整31天和30天的月份,期间可以在24小时和12小时方式(AM/PM)间
26、切换。在芯片部有一个精确的温度补偿电路,用于检测电源电压的状态。当电源电压的变化超出允许围时,部电源切换到备用电池供电2。 DS12C887主要应用在嵌入式系统、仪表、安全系统、网络交换机、路由器等方面。 DS12C887与AT89S52单片机的一种常用连接方法如图3.9所示。AT89S52与DS12C887接口时必须注意处理好以下问题:(1)时间值只需一开始设置,以后只需要读取就行了。(2)数据传输都是用的P0端口,得控制好状态控制信号,防止出现错误。图 3.9DC12C887与AT89S52的3.7 正负电压转换电路设计在运放环节,我们用到了-5V的电压,由于这里只有+5V的电压,因此,我
27、们需要电压转换,将+5V转换为-5V,这里用到了ICL7660。产生-5V的电路图如下图3.10所示:3.10 -5V电源的发生电路4、系统软件设计本系统软件设计包括整体流程框图和各模块程序设计两部分。各模块的设计如下:4.1 整体流程框图本设计采用单片机AT89S52编程实现。程序由C语言编写。本程序主要分为以下几部分:A/D采集程序,数据处理程序,LCD显示程序。其中主程序流程图如图4.1所示:图4.1 主程序流程图4.2 各模块程序设计本节就各部分程序模块设计进行了阐述,主要包括A/D转换模块、数据处理模块、显示模块,详细介绍了各部分模块的流程并对其设计思想进行了叙述,从而实现了人体体温
28、的软件设计。4.2.1 A/D转换模块程序设计本次设计A/D采集程序实现一路数据采集,采用定时传送方式。对于一种A/D转换器来说,转换时间是一项固定不变的技术指标。ADC0809的转换时间为128us。本次设计是通过EOC与单片机的INTO相连,当数据转换完成时,EOC向单片机发送中断请求,单片机响应中断,读取转换数据。ADC0809的D0D7与单片机的P0口相连。单片机的ALE信号经过74LS74二分频后,作为ADC0809的时钟信号。用P11和P12来产生片选和使能信号。首先,片选ADC0809,启动ADC0809开始转换,让程序处于循环中,当转换结束时,程序从循环中跳出,将转换结果输入单
29、片机,其程序流程图如图4.2所示:图4.2 A/D转换流程图4.2.2 数据处理模块程序设计传感器输出模拟电压信号经OP07放大后,转换成05V的电压,而单片机只能处理数字信息,就需要进行模数转换,转换完成后的数字量如何处理成与之对应的温度值就变得尤为重要,它直接影响输出温度值的准确性,是整个软件设计中最重要的部分。其数据处理部分的总流程图如图4.3所示。图4.3 数据处理流程图根据图3.4可知,当人体体温在3542围变化时,传感器的输出电压围为0.71.5mV,采用两极放大的形式,将电压放大3000倍,即放大后电压为2.14.5V,从而可知对应的数字量围为107230,找出数字量与温度的关系
30、即可准确的显示出温度值。转换后与温度的对应关系如图4.4所示。图4.4 数字量与温度对应关系根据图4.2所示,可以计算出数字量与温度的对应关系,即温度1000=数字量57+28900 (4)经数据处理后,其温度值为放大1000倍的温度值,而本设计只保留一位有效数字,故前三位为有效温度值,而且要将双字节温度转换为BCD码,才是实际要显示的温度值。图4-5 小数点四舍五入流程图在计算机中,用BCD码来表示十进制数。通常,BCD码在计算机中又分为两种形式:一种是1B放一位BCD码,称为非压缩BCD 码,适用于显示和输出。一种是1B放2位BCD码,称为压缩的BCD码,适用于运算与存储。十进制数B与一个
31、8位的二进制数的关系可以表示为 (5) 只要依十进制运算法则,将bi(i=7,6,1,0)按权相加,就可以得到对应的十进制数B。当人体体温在3542围变化时,传感器的输出电压围为0.71.5mV,ADC0809的输入电压为2.14.5V,从而可知单片机接受对应的数字量围为107230。在运用公式计算温度时,由于温度值是浮点型,数字量是无符号整型,数字量*57则有可能大于65536,必须使用长整型,因此在计算前得先进行数据类型转换,先将数字量转换为长整型,这样运算结果W为长整型,温度值则为,又因为温度值是小数值,所以定义温度值为浮点型。将温度值得到后,还要注意小数点后第二位数字的四舍五入的问题,
32、这样使温度值更接近于真实温度,更准确。B中的第四位为小数点后第二位,即要取舍的位,当其值大于5时进1,小于5时舍去。将转化后的3位温度值分别送入LCD显示单元缓冲区,以备显示。其流程图如图4-5所示:图4.5 小数点四舍五入流程图4.2.3 实时时钟模块程序设计本次使用的是DS12C887产生时间信号,将它通过P0口传输到单片机上,再将它显示到LCD上。通过片选选中DS18C887,由于是通过P27片选,而且是与单片机通过外部总线通信,所以DS18C887的首地址是0x7f00,它的控制寄存器A和控制寄存器B的地址是0x7f0a和0x7f0b。首先将初始数据写出DS12C887,读写时DS12
33、C887相当于一个外部存储器,通过外部总线选中相应的位。写入后,启动芯片,芯片正常运行,然后,每运行一次程序,单片机读入一次时间值,将读入的每位值存入数组,通过LCD显示。其流程图如4.6所示:图4.6 DS12C887的流程图4.2.4显示部分模块程序设计本设计采用LCD进行显示,由于此系统显示温度和时间,液晶共有两行,第一行显示年月日,第二行显示日时间和温度。对液晶进行写数据的过程是,通过指令表对其进行初始化,其指令通过P0口存入液晶屏的IR寄存器,初始化后,首先写指令,选定液晶的显示位置(液晶第一行的首地址是80H,第二行的首地址是C0H),第一行选在从第二格开始显示,第二行从第三格开始
34、显示,在第二行的第8AH-8CH显示温度,选定显示地址后,写入显示数据,显示数据。其流程图如图4.7所示图4.7LCD显示流程图4.2.5中断模块程序设计为了能便于修改时间值,我采用了中断的方式来修改时间,通过四个键来修改时间,上面已经说过,在程序中它们的名字是OK、INC、DEC、RESET。RESET启动中断,OK选择修改的位,INC是加键,DEC是减键。首先按下RESET启动中断,进入中断后,读入目前的时间值,通过液晶显示,显示时,被选中修改的位会自动闪烁,通过INC、DEC来修改时间。当按下OK键时,修改位向左移一位,当闪烁位移到最左边时,OK再按一下,程序跳出中断,正常运行。其流程图
35、如图4-8所示: 图4.8 中断流程图5、总结本次实验,测温精度是0.1,虽然精度并不算高,但也基本达到了设计的要求,本设计采用额头为测量部位,由于探头对准额头,测量的影响因素较少,整个系统的设计简洁,准确,快速,方便。设计的核心部分选用AT89S52芯片和ZTP135S-R红外温度传感器。另外,软件程序的设计包括数据采集程序,A/D转换程序,显示程序等。其突出优点是:控制简单,显示直观,运用LCD显示,合理的利用了传感器的特性进行了一次实践,但由于试验条件和个人能力的限制,本系统还有待进一步的完善,如:测量值的存储,根据时间、年龄、性别等不同来设定发热温度进行语音提醒;当在一定时间无测量则自
36、动关闭等功能,使该系统功能更加强大。当然误差的存在有时是不可避免的,而有时却是可以通过一些方法来减少误差的存在,要使测量准确可靠,必须减少误差。此设计采取了小数点后第二位四舍五入的方法来减小一定的误差,但并没有完全消除,此系统误差主要来源于以下几个方面:由于实验理论在计算上存在着近似性,方法上难以完善,因此理论温度值并不是真实值,而只是非常接近于真实温度的值,故存在一定的误差。实验仪器灵敏度和分辨能力有局限性,而且芯片本身存在非线性化误差。驱动电源为5V,基准电源不稳,会造成输入输出的误差。周围环境不稳定,每次测量时限不统一都会造成测量误差。致作为一个本科生的毕业设计,由于经验的匮乏,难免有许
37、多考虑不周全的地方,如果没有导师的督促指导,以与一起学习的同学们的支持,想要完成这个设计是难以想象的。这次毕业论文能够得以顺利完成,是所有指导过我的老师,帮助过我的同学和一直关心支持着我的家人对我的教诲、帮助和鼓励的结果。我要在这里对他们表示深深的意! 感我的指导老师行鸿彦教授,感老师对本论文从选题、构思、资料收集到最后定稿的各个环节给予细心的指引和教导,使我对本次设计有了深刻的认识,并最终得以完成毕业论文,同时,在此次毕业设计过程中我也学到了许多关于单片机和传感器方面的知识,实验技能有了很大的提高。感我身边所有的朋友与同学们,你们四年来的关照与宽容,与你们一起走过的缤纷时代,将会是我一生最珍
38、贵的回忆。这里,对关心、帮助过我的老师和同学们表示衷心地感!最后,我要向在百忙之中抽时间对本文进行审阅、评议和参加本人论文答辩的各位老师表示感!参考文献1 志尚.温度计量与测试M.:中国计量,1998:22-23.2 邹应全.51系列单片机原理与实验教程:电子科技大学,2007:123 唐文彦.传感器M.:机械工业,2006:01-06.4 朝春. PC机与单片机数据通讯技术M.:航空航天大学, 2000:89-90.5 杜维,宏建,乐嘉华.过程检测技术与仪表M.:化学工业,2008:31-33.6 丁镇生.传感与其遥控遥测技术应用.:电子工业,2002:56-61.7 毅刚.新编 MCS-5
39、1单片机应用设计M.:工业大学,2003:123-128. 8 培仁.基于C语言编程MCS-51单片机原理与应用M.:清华大学,2002:106-201. 9 马忠梅.单片机的C语言应用程序设计M.:航空航天大学,1999:101-105. 10 国彦,宋平.红外温度计测量体温方法探讨J.仪表技术,2003,10(3):21-23.11John.Webster.MedicalInstrumentation,Aplic-ationandDesignMBoston,HoughtonMifflin Company,1998 12WelkwitzW.eta1.BiomedicalInstruments
40、Theory andDesingMNewYork:AcademicPressInc199613GeneralElectricCompnayZTP135S-RDataSheet R 14McClellan J H,Parks T WA Unified Approach to the Design of Optimum FIR Linear-Phase Digital FiltersIEEE TransSCircuit Theory,1993 15Steigilitz KComputer-Aided Design of Recursive Digital FiltersIEEE TransJAu
41、dio Electroacoust,June 1990 temperature measurement system based on MicroprocessorhongliangDepartment of Electronic & Technology ,Nanjing University of Information Science & Technology, Nanjing 21004AbstractThe object of this paper is to design a non-contact thermometer which utilizes the SCM AT89S5
42、2 as the core and follows the theory of infrared temperature measurement. Basically, hardware and software compose the whole system.For its hardware part,the paper initially proposes the overall circuit design,then infrared sensors,the amplification of voltage signal,AD conversion,real-time clock,th
43、e voltage conversion between positive and negative and its displaying module are all designed respectively.For its software part,the general programming is designed. After that, the program of the module of AD conversion,data processing,real-time clock,interrupt and displaying are all designed corre
44、spondingly.owing to its modular designing,the system turns out to be convenient in programming and maintenance.It also has the advantages of clear structure,reliability and modifiability.The ideas and the framework of this design are all illustrated.Finally we realize the function of non-contact the
45、rmometer.Keywords:SCM, Pyroelectric infrared sensor, temperature, LCD附录一、原理图附录二、程序设计# include # include #define uchar unsigned char sbit BUSY=P14; /转换结束引脚EOC sbit START=P11; /start为控制信号 sbit RESET=P32; /键盘 sbit OK=P22; /键盘 sbit INC=P23; /键盘 sbit DEC=P24; /键盘 uchar xdata *addr=0x7f00; /P27片选,低电平有效 sbit FLAG=P07; /忙信号 sbit E=P12; /片选 sbit RW=P13; /读写控制 sbit RS=P10; /指