非接触体温测量仪
第一章 绪论
1.1体温计的发展
随着2003年非典的袭击,在我国迅速诞生了一支专门抗击非典的医疗仪器队伍,特别是在红外体温检测仪的研发方面取得了突出的成就。国家相关部门也在重点强调非接触式体温计的研发。
随着现代科技的发展, 新材料、新工艺的运用, 各式各样的体温计陆续出现, 探测方式不断改进。国内外体温计的发展大致分为三个阶段。第一阶段是常见的玻璃水银体温计;第二阶段是电子体温计;如今应用最为广泛的是非接触式红外体温计。
水银体温计虽然价格便宜但是有诸多弊端:首先,水银体温计遇热或安置不当,体温计容易破裂。其次,人体接触水银后会中毒,中毒症状是恶心、头痛、腹泻、脱发等,严重者会造成血液凝固。因为水银有剧毒,一旦它污染了水源或食物,可以对人的肾脏、肺等造成极大的伤害,水银也能加速人神经系统退变。最后,采用水银体温计测温需要相当长的时间(5min~10min) ,使用不便。
电子体温计是采用热敏电阻测量温度的,电子体温计能快速准确地测量人体温度,与传统的水银玻璃体温计相比,具有读数方便、测量精度高、能记忆并有蜂鸣提示的优点,尤其是电子体温计不含水银,对人体及周围环境无害,特别适合于家庭、医院等场合使用。但采用电子体温计测温也需要较长的时间,同样使用不便。
非接触式红外体温计是根据黑体辐射原理通过测量人体辐射的红外线而测量温度的。它用的红外传感器只是吸收人体辐射的红外线而不向人体发射任何射线,它采用的是被动式且非接触式的测量方式,因此红外体温计不会对人体产生辐射伤害且价格低,体积小,实现了体温的快速准确测量,具有稳定性好,精度高,测量安全,使用方便等特点[1]。
非接触式人体体温测试仪的设计技术目前已经达到成熟,本文详细的介绍在国内外已有技术的基础上,此设计开发的全过程。此设计涉及单片机,传感器等诸多方面的知识,主攻方向在于温度的采集和处理,达到体温能够准确显示的预期效果。
1.2单片机的应用领域
目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:
⑴智能仪器仪表上的应用
⑵工业控制中的应用
⑶家用电器中的应用
⑷计算机网络和通信领域中的应用
⑸片机在医用设备领域中的应用
⑹各种大型电器中的模块化应用
此外,单片机在工商,金融,科研、教育,国防航空航天等领域都有着十分广泛的用途[2]。
1.3传感器的重要作用
信息技术已成为当今全球性的战略技术,作为各种信息的感知、采集、转换、传输和处理的功能器件——传感器,已经成为各个应用领域,特别是自动检测,自动控制系统中不可缺少的核心部件。传感器技术正深刻影响着国民经济和国防建设的各个领域。
传感器是信息采集系统的首要部件,是实现现代化测量和自动控制的主要环节,是信息的源头,又是信息社会赖以存在和发展的物质与技术基础。现在,传感器技术与信息技术,计算机技术并列成为支撑整个现代信息产业的三大支柱。可以设想,如果没有高度保真和性能可靠的传感器,没有先进的传感器技术,那么信息的准确获取就成为一句空话。信息技术和计算机技术就成了无源之水。目前,从宇宙探索,海洋开发,环境保护,灾情预报到包括生命科学在内的每一项现代科学技术的研究以及人们的日常生活等,几乎无一不与传感器和传感器技术紧密联系着。可见,应用,研究和开发传感器技术是信息时代的必然要求。因此,可以毫不夸张的说:没有传感器及其技术将没有现代科学技术的迅速发展[3]。
1.4设计的目的与意义
生理参数是人体最重要、最基本的生命指标, 对危重病人进行生命指标参数
的监测是医务工作者及时了解病情状况的重要手段之一, 它有利于对有生命危险的伤病员进行及时有效的治疗和抢救处理,完善病人的医疗护理以及研究人体对环境变化的反应都有着重要的意义。
其中体温是人体最基本的生理参数,对于日常护理和病情检测都是非常重要的。有许多疾病都能通过体温的变化来预测,所以体温计在医疗领域中占有十分重要的地位。人体体温测试仪应用范围不仅仅局限于医学,在消防上消防员在扑火的同时也要对自己的体温做到了解,如果体温过高或者心率过快就要及时撤离,以免发生危险;军事上用于部队训练,必须实施随时监测,体温使训练能够在良好的体征下进行,提高效果。因此,在许多领域都需要这种测试仪对人体体温进行精确测试。
此设计的目的是在理论学习的基础上,通过完成一个涉及MCS-51单片机多种资源应用,并具有综合功能的小目标板的设计与编程应用,并在进行相关课程设计基础上进行的一次综合设计。通过查阅资料,接口设计,程序设计,安装调试,整理资料等环节,从而掌握工程设计方法和组织实践的基本技能,熟悉开展科学实践的程序和办法,为今后从事生产技术工作打下必要的基础,学会灵活运用已经学过的知识,并能不断接受新的知识,大胆发明创造的设计理念。
因此研制一套可应用于个人家庭、方便携带、结构简单、测量速度快、实时性好的人体体温测试仪尤为重要。人们可以足不出户,在家中可随时对自己生理指标进行测试,监测自己的身体状况,做到提前预防,提高生命质量。
第二章 设计方案
2.1 设计任务
我们根据红外线测温仪的原理,通过关键器件的选择以及温度补偿的自动调节来提高红外线测温仪的精确度,设计了一种红外线测温电路,用于对人体温度的快速测量。我们要设计的红外体温计其测量范围是35℃~42℃ ,且精度为±0.1℃ 。在该设计中,以AT89S52单片机为主体,配有高精度放大器和8位ADC ,测量值用数码管进行温度显示。
2.2设计思想
外测温仪是利用红外传感器对被测目标时的热辐射进行采集,通过转换电路将红外传感器采集到的光信号转换成电信号,再将电信号通过放大电路,A/D转换等单元电路处理后送到单片机中,最后单片机将带有数据信息的电信号进行分析处理,将电信号转变成与之相对应大小的温度值显示输出。其中要解决的问题有:体温信号的非接触测量、微弱电压信号的放大、传感器的环境温度补偿等。其中体温测量选用红外热释传感器ZTP135S-R 、OP07进行电压放大、ADC0809进行模数转换、系统控制及数据处理等功能都用AT89S52单片机实现,通过串行显示器接口芯片HD7279, 同时驱动共阴极LED 数码管进行显示。
2.2.1硬件设计思想
在一个系统的硬件设计中应选择合适型号的单片机后,进行系统所需的扩展和配置。按照系统功能要求进行扩展和配置外围设备。要设计合适的接口电路,系统的扩展和配置应遵循以下原则:
⑴ 尽可能选择典型电路,并符合单片机常规用法。为硬件系统的标准化、模块化打下良好的基础。本次设计选取的是AT89S52单片机。
⑵ 系统扩展与外围设备的配置水平应充分满足应用系统的功能要求,并留有适当余地,以便二次开发。
⑶ 系统中的相关器件要尽可能做到性能匹配。
⑷ 可靠性及干扰设计是硬件设计必不可少的一部分。
⑸ 单片机外围电路较多时,应考虑其驱动能力。驱动能力不足时,系统工作不可靠,可通过增设线驱动器增强驱动能力或减少芯片功耗来降低总线负载。
⑹ 工艺设计必须考虑安装、调试、维护的方便。
⑺ 本次设计首先选择设计所需AT89S52芯片,根据实际要求利用Protel 软件绘制课题的原理图和PCB 图,并根据绘制的原理图和PCB 图接线及焊接电路板,外围设备电路简单,干扰较小。
2.2.2软件设计思想
单片机应用系统中软件的设计在很大程度上决定了系统的功能。软件的资源细分为系统理解部分、软件机构设计部分和程序设计部分。
⑴ 系统理解是指在开始设计软件前,熟悉硬件留给软件的接口地址,I/O口方式,确定存储空间的分配,应用系统面板控制开关、按键、显示的设置等。 ⑵ 软件结构设计要结合单片机所完成的功能确定相应的模块程序,比如一般子程序、中断功能子程序的确定。确定模块程序运行的先后顺序,绘制程序整体流程图。
⑶ 程序设计和其他软件程序设计一样,首先要建立数学模型,选定数学算法,绘制具体程序流程图,做好程序接口说明。然后选取编程语言(汇编语言或C 语言)。
本次课题的软件设计采用的是模块化设计,使用汇编语言编写程序,结构清晰简捷。
2.3 系统结构设计
2.3.1 所用元器件
此次设计所需的传感器、主要芯片如下所示:
⑴ 传感器: 红外热释传感器ZTP135S-R
⑵ 主机: ATMEL 89S52
⑶ A/D转换: ADC0809
⑷ 显示器: 数码管显示器LED
⑸ 键盘/显示芯片:HD7279
2.3.2总体方案设计
此系统是通过红外热释传感器ZTP135S-R 采集人体体温并以电压信号的形式输出并进行放大,然后将模拟电压信号通过模数转换器转换成与之对应的数
字量,经单片机对数据的非线性处理及分析,通过显示芯片HD7279驱动数码管即完成一次体温的测量,从而可进行循环温度采集。
整体框图如图2.1所示
第三章 系统硬件设计方案
3.1AT89S52单片机简介
AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 的系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash 允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash ,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有以下标准功能:8k 字节Flash ,256字节RAM , 32位I/O口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM 、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止
[4]。
⑴ AT89S52单片机的主要特点是:
·与MCS-51 单片机产品兼容;
·8k 可反复擦写(>1000次)Flash ROM;
·全静态操作:0Hz ~33Hz ;
·三级加密程序存储器;
·32 个可编程I/O 口线;
·3个16 位定时器/计数器;
·8个中断源;
·全双工UART 串行通道;
·低功耗空闲和掉电模式,掉电后中断可唤醒;
·看门狗定时器及双数据指针;
·掉电标识和快速编程特性;
⑵ 引脚功能:
① AT89S52引脚图如图3.1所示:
② 电源及时钟引脚
·Vcc (40):接+5V电源
·Vss (20):接地
·XTAL1(19):接外部晶体的一个引脚。
在单片机内部,它是一个反相放大器
的输入端
·XTAL2(18):接外部晶体的一个引脚。
在单片机内部接至内部反相放大器的
输出端。
③ 控制引脚:
·RST/VPD(9):当震荡器运行时,在
此引脚外加上两个机器周期的高电平将 图3.1 AT89S52引脚图
使单片机复位(RST )。掉电期间,此引脚可接上备用电源(VPD ),以保持
内部RAM 的数据,当Vcc 下掉到低于规定的值,而VPD 在其规定的电压范
围内(5+0.5v)时,VPD 就向内部RAM 提供备用电源。
·ALE/PROG(30):当访问单片机外部存储器时,ALE (地址锁存允许)输出脉冲的负跳沿用于16位地址的低8位的锁存器,ALE 端仍有正脉冲信号输出,此频率为时钟震荡器频率的1/6。ALE 端可以驱动8个TTL 负载。
对于EPROM 型单片机(8751),在EPROM 编程期间,此引脚用来输入编程脉冲(PROG )。
·PSEN (29):此引脚的输出是单片机访问外部程序存储器的读选通信号。
在由外部程序存储器取指令(或常数)期间,每个机器周期PSEN 两次有效。PSEN 可以驱动8个LSTTL 负载。
·EA/VPP(31):当EA 保持高电平时,单片机访问内部程序存储器,但在PC 值超过0FFFFH ,将自动转向执行外部程序存储器内的程序。当EA 保持低电平时,只访问外部程序存储器。对于89C51,因其片内有4KEEPROM ,故该脚接高电平。在EEPROM 编程期间,VPP 编程电压为+12v或+5v。
④ I/O口引脚:
·P0口(39-32):双向8位三态I/O口,此口为地址总线(低8位)及数据总线分时复用口,可带8个LSTTL 负载。
·P1口(1-8):8个准双向I/O口,可带4个LSTTL 负载。
·P2口(21-28);8位准双向I/O口,与地址总线(高八位)复用,可带4个LSTTL 负载。
·P3口(10-17):8位准双向I/O口双功能复用。
3.2 ZTP135S-R传感器简介
3.2.1 红外温度传感器的原理
自然界一切温度高于绝对零度(-273.15℃) 的物体,由于分子的热运动都在不停地向周围空间辐射包括红外波段在内的电磁波,其辐射能量密度与物体本身的温度关系符合普朗克(Plank)定律。红外测温的原理是一样的, 都是根据普朗克原理。一般理解红外测量的是物体的温度,其实测的是目标物与传感器或者说是物体与环境温度之间的差值。物体辐射能量的大小直接与该物体的温度有关,具体地说, 是与该物体热力学温度的4次方成正比.用公式可表达为:
E=δε(T4-T 04) 1
式中, E 是辐射出射度,单位是W /m3;
δ是斯蒂芬一波尔兹曼常数,5.67x10-8W /(m2·K4) ;
ε是物体的辐射率;
T 是物体的温度(K);
To 是物体周围的环境温度(K);
人体主要辐射波长为9 μm~10 μm的红外线,通过对人体自身辐射红外能量的测量便能准确地测定人体表面温度。由于该波长范围内的光线不被空气所吸收, 因而也可利用人体辐射的红外能量精确地测量人体表面温度。
红外温度传感器利用热电偶原理, 测量目标物与传感器或者物体与环境温度之间的差值。热电偶的原理是二种不同的金属A 和B 构成一个闭合回路, 当二个接触端温度不同时(T>To),回路中产生热电势Eab, 其中T 称为热端、工作端或测量端,To 称为冷端、自由端或参比端。A 和B 称为热电极。热电势的大小由接触电势(也叫伯尔贴电势) 和温差电势(也叫汤姆逊电势) 决定[5]。
3.2.2 ZTP135S-R的工作原理和性能
GE 公司生产的ZTP135S —R 型红外温度传感器是一种专门用于非接触式测量体温的器件,其主要参数见表3.1所示:
表1 ZTP135S-R传感器的参数
图3.3 ZTP135S-R的引脚排列
其引脚功能如下:
·1脚接+5V;
·2脚为电压输出端;
·3脚接地;
被测物体的辐射能经过窗口和光阑聚焦在接收元件(热电堆) 的受热片上,
受热片上有60只串联的热电偶,每只热电偶的热端在受热片的中央部位围成一
圈,焊接在一起,从引线就可以得到所有电偶的热电势之和。这种结构设计具
有较小的热惯性和较高的灵敏度,传感器采用负温度系数电热调节器进行环境
温度补偿[6]。
3.3 运算放大器OP07的芯片简介
本设计所采用的放大器是低功耗精密运算放大器OP07,它的特点是超低失
调、低漂移、高精度,电路正比特性好,零点失调电压小。OP07可以通过在
1、8管脚之间加上一个电位器进行输入漂移调零,这对于低输出的信号的放大
效果非常好。其低输入偏置电流为1.8nA ,供电范围为3V 到22V ,超低失调的
最大值为150mV 。它的性能正好解决了红外温度传感器对运放的特殊要求。由
于热电堆的内阻较高(约60K ),而输出电压又非常小(1mV左右) ,须使用具有
高输入阻抗(>1012 )的CMOS 输入运算放大器。
3.4 AT89S52单片机
3.4.1 HD7279芯片简介
HD7279是管理键盘和LED 显示器的专用智能控制芯片,该芯片采用串行
接口方式,可同时驱动8位共阴极LED 数码管或64位独立LED 放光二极管,
同时能对多达8×8的键盘矩阵进行监视,具有自动消除键抖动并识别按键代码
的功能。从而可以提高CPU 的工作效率,同时其串行接口方式又可简化CPU
接口电路的设计。
⑴ HD279的主要特点
·与CPU 间采用串行接口方式, 仅占用4根端口线; ·内部含有译码器,可直接接收BCD 码或16进制码,同时具有两种译码方式,
实现LED 数码管位寻址和段寻址,消隐和闪烁性等多种控制指令,编程灵
活;
·循环左移和循环右移指令;
·内部含有驱动器,无需外围元件可直接驱动LED ;
·具有级联功能,可方便的实现多于8位显示或多于64键的键盘接口;
·具有自动消除抖动并识别按键键值的功能[8];
⑵ HD7279的引脚说明及功能
HD7279为28引脚标准双列直插式封装(DIP),单一的+5V供电, 其引脚排列如
图3.10所示,功能如下:
·VDD :+5v电源;
·NC :悬空;
·Vss :接地;
·CS :片选信号,低电平有效;
·CLK :同步时钟输入端;
·DATA :串行数据写入/读出端;
·KEY :按键有效输出端;
·SG-SA :LED 的g-a 段驱动输出;
·DP :小数点驱动输出端; 图3.10 引脚排列
·DIG0-DIG7:LED 驱动输出端;
·CLKO :振荡输出端;
·RC : RC振荡器连接端;
·RESET :复位端,低电平;
DIG0~DIG7分别为8个LED 数码管的位驱动输出端。SA-SG 分别为LED
数码管的A ~G 段的输出端。DP 为小数点的驱动输出端。DIG0~DIG7和
SA ~SG 同时还分别是64键盘的列线和行线端口,完成对键盘的监视、译码
和键码的识别。在8×8阵列中每个键的键码是用16进制表示的,可用读键盘
数据指令读出,其范围是00H ~3FH 。
HD7279与微处理器仅需4条接口线,其中CS 为片选信号(低电平有
效)。当微处理器访问HD7279时,应将片选端置为低电平。DATA 为串行数
据/输出端,当向HD7279发送数据时,DATA 为输入端;当HD7279A 输出键
盘代码时,DATA 为输出端。CLK 为数据串行传送的同步时钟输入端,时钟
的上升沿表示数据有效。KEY 为按键信号输出端,在无键按下时为高电平;
而有键按下时此引脚变为低电平并且一直保持到键按下为止[9]。
3.5 AT89S52单片机
3.5.1ADC0809转换器芯片简介
ADC0809是美国国家半导体公司生产的一种8位分辨率、双通道A/D转换
芯片。由于它体积小,兼容性强,性价比高而深受单片机爱好者及企业欢迎,
其目前已经有很高的普及率。学习并使用ADC0809可是使我们了解A/D转换
器的原理,有助于我们单片机技术水平的提高。
由于计算机直接执行的是机器语言,也就是只能处理数字量, 因此计算机系
统中凡是遇到模拟量的地方,就要进行模拟量向数字量或数字量向模拟量的转
换,由此带来了单片机的A/D转换和D/A转换的接口问题。一般情况下,大多数
的传感器的输出都是电压或电流信号,计算机要对这类传感器的信号进行处理,
就要先进行电流/电压转换(I/V),然后再通过ADC 转换器进行A/D转换[10]。
A/D转换器是一种能把输入模拟电压变成与它成正比的数字量的器件,即
能把被控对象的各种模拟信息转变成计算机可以识别的数字信息[11]。
⑴ ADC0809的内部逻辑结构
ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和
一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时
输入,共用A/D转换器进行转换。三态输出锁器用于锁存A/D转换完的数字量,
当OE 端为高电平时,才可以从三态输出锁存器取走转换完的数据,其内部逻辑
结构如图3.12所示。
图3.12 ADC0809的内部逻辑结构
⑵ ADC0809的引脚说明及功能
ADC0809芯片为28引脚双列直插封装,引脚图如图3.13所示,功能如
下: ·IN0-IN7:8路模拟量输入通道;
·A,B,C:模拟通道地址线;
·ALE:地址锁存信号;
·START:A/D转换启动信号;
·D0-D7:数据输出线;
·OE:输出允许信号;
·CLOCK:时钟信号;
·EOC:转换结束状态信号;
·Vcc:+5V电源,GND:地;
·Vref:参考电压; ADC0809对输入模拟量要求:信号单极性,电压范围是0-5V ,若信号太
小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变
化太快,则需在输入前增加采样保持电路。
ALE 为地址锁存允许输入线,高电平有效。当ALE 线为高电平时,地址锁
存与译码器将A ,B ,C 三条地址线的地址信号进行锁存,经译码后被选中的通
道的模拟量进转换器进行转换。A ,B 和C 为地址输入线,用于选通IN0-IN7
上的一路模拟量输入。EOC 为转换结束信号。当EOC 为高电平时,表明转换
结束;否则,表明正在进行A/D转换。OE 为输出允许信号,用于控制三条输
出锁存器向单片机输出转换得到的数据。OE =1,输出转换得到的数据;OE =
0,输出数据线呈高阻状态。D7-D0为数字量输出线。CLK 为时钟输入信号
线。因ADC0809的内部没有时钟电路,所需时钟信号必须由外界提供,通常使
用频率为500KHZ [12]。
3.6电源模块设计
直流稳压电源是电子系统中的关键部分,其作用是为电子系统提供稳定的
电能。稳压电源的技术指标可以分为两大类:一类是特性指标,如输出电压、
输出电滤及电压调节范围;另一类是质量指标,反应一个稳压电源的优劣,包
括稳定度、等效内阻、纹波电压及温度系数等。对稳压电源的性能,主要有以下四个方面的要求:稳定性好、输出电阻小、电压温度系数小、输出电压波纹小。此系统需要+5V电压为主机、传感器、运放等提供电能。
稳定直流电源设计的一般思路是让输入电压先通过电压变压器,再通过整流网络,然后经过滤波网络最后经过稳压网络。我们可以采用以桥式整流电路实现整流的目的,以极性电容作为滤波网络,采用固定式三端集成稳压电路7805设计制作直流稳压电源。稳压电源一般由变压器、整流器和稳压器三大部分组成,如图3.16所示,其电路图如图3.17所示。
图3.16 直流电源系统方框图
图3.17 +5V电源电路图
第四章 系统软件设计方案
4.1整体流程框图
本设计采用单片机AT89S52编程实现。程序由汇编语言编写。本程序主要分为以下几部分:A/D采集程序,数据处理程序,LED 显示程序。其中主程序流程图如图4.1所示:
图4.1 主程序流程图
4.2各部分程序模块设计
本节就各部分程序模块设计进行了阐述,主要包括A/D转换模块、数据处理模块、显示模块,详细介绍了各部分模块的流程并对其设计思想进行了叙述,从而实现了人体体温的软件设计。
4.2.1变量和常量说明
相关的主要变量和常量分配,一般安排在主程序开始时采用伪指令方式说明,其地址分配如表4.1所示。
表4.1 变量、地址分配伪指令表
4.2.2A/D转换模块设计
本次设计A/D采集程序实现一路数据采集,采用定时传送方式。对于一种A/D转换器来说,转换时间是一项固定不变的技术指标。ADC0809的转换时间为128us ,在6MHZ 的震荡频率下,相当于MCS-51单片机的64个机器周期。由此可以设计一个延时子程序,A/D转换启动后调用这个子程序,延时一到,A/D转换即告结束,接着便进行数据传送[13]。其程序流程图如图4.2所示。
图4.2 A/D转换流程图
4.2.3 数据处理模块
传感器输出模拟电压信号经OP07放大后,转换成0~5V 的电压,而单片机只能处理数字信息,就需要进行模数转换,转换完成后的数字量如何处理成
与之对应的温度值就变得尤为重要,它直接影响输出温度值的准确性,是整个软件设计中最重要的部分。其数据处理部分的总流程图如图4.3所示。
图4.3 数据处理流程图
根据图3.4可知,当人体体温在35℃~42℃范围内变化时,传感器的输出电压范围为0.7~1.5mV ,采用两极放大的形式,将电压放大3000倍,即放大后电压为2.1~4.5V ,从而可知对应的数字量范围为107~230,找出数字量与温度的关系即可准确的显示出温度值。转换后与温度的对应关系如图4.4所示。
图4.4 数字量与温度对应关系
根据图4.2所示,可以计算出数字量与温度的对应关系,即
温度×1000=数字量×57+28900
经数据处理后,其温度值为放大1000倍的温度值,而本设计只保留一位有效数字,故前三位为有效温度值,而且要将双字节温度转换为BCD 码,才是实际要显示的温度值。
在计算机中,用BCD 码来表示十进制数。通常,BCD 码在计算机中又分为两种形式:一种是1B 放一位BCD 码,称为非压缩BCD 码,适用于显示和输出。一种是1B 放2位BCD 码,称为压缩的BCD 码,适用于运算及存储。十进制数B 与一个8位的二进制数的关系可以表示为
B=((((((b7×2+b6) ×2+b5) ×2+b4) ×2+b3) ×2+b2) ×2+b1) ×2+b0
只要依十进制运算法则,将bi(i=7,6,……,1,0) 按权相加,就可以得到对应的十进制数B 。待转换的数字量放入R2、R3中,将转化后的BCD 码从高位到低位分别存入R4、R5和R6中。其流程图如图4.5所示。
图4.5 双字节转换BCD 码流程图
将温度转化为BCD 码后,还要注意小数点后第二位数字的四舍五入的问题,这样使温度值更接近于真实温度,更准确。R6中的前四位为小数点后第二
位,即要取舍的位,当其值大于5时进1,小于5时舍去。将转化后的3位温度值分别送入LED 显示单元缓冲区,以备显示,其程序流程图如图4.6所示。
N 图4.6 小数点四舍五入流程
图
4.2.4 显示部分模块
本设计采用3位LED 数码管进行显示,由于此系统只显示温度,故只包括HD7279发送程序,将3位温度值依次写入HD7279用以显示。其流程图如图
4.7所示。
图4.7 发送程序流程图
本设计中使用HD7279进行温度显示,此程序设计所涉及到的控制指令如下:
⑴复位(清除)指令(A4H )
该指令将所有的显示清除,所有设置的字符消隐、闪烁等属性也被一起清除。执行该指令后,芯片所处的状态与系统上电后所处的状态一样。
⑵按方式1译码显示指令
此命令又称按方式1译码下载指令。命令由两个字节组成,前半部分为指令码,后半部分为数据码。指令码的后3位为LED 数码管的位地址,即显示数据是送给哪一位LED 的。数据码的后4位为显示数据,LED 显示的内容与十六进制相对应,小数点的显示由DP 位控制,DP=1时,小数点显示;DP=0时,小数点不显示[14]。
第五章 系统调试及问题分析
5.1系统调试
在硬件焊接与软件编程完成后,需要对其进行调试,以保证硬件与软件连接成系统后能够达到设计要求。系统调节是系统开发最重要的环节之一,系统成型后能否正常工作,主要取决于系统调试是否成功。 5.1.1 系统硬件调试
绘制完成原理图之后, 根据原理图焊接电路板。焊接完成后,首先目测焊点是有虚焊或漏焊现象,再用万用表测量各个芯片间连接和电源与地间的连接是否正确,由于本次设计需要用排线将主板和副版连接起来,这就涉及到引脚连接的问题,所以要把主板芯片引脚与副版芯片引脚直接用万用表测量,观察是否接通,然后上电测量,要十分注意芯片是否发热。系统硬件调试方法如下:
⑴对印刷电路板质量检查、测试,是否同印刷制电路板图一致。对所用的元器件质量检查。两者无误后进行下一步。
⑵按照印刷电路板上的器件名称、表识焊接好各个元器件。
⑶采用万用表、示波器、信号发生器等一般调试工具和测试软件对硬件电路电气性能测试,看是否能正常工作。
5.1.2 系统软件调试
软件调试采用模块化调试方法,每一模块逐一调试,然后再将所有模块组合一起,进行整体调试。软件的调试主要有语法错误和逻辑错误两类。语法错误可直接修改,逻辑错误则需进行单步调试,看程序是否按逻辑顺序进行,然后写入到芯片内,查看程序运行效果,反复调试。系统软件调试方法如下:
⑴软件在各个子程序模块调试都正确后,再将相互有关系的模块逐块组合起来加以调试,以解决在程序模块连接中可能出现的逻辑错误。 ⑵对所有程序模块的整体组合调试是在与系统联机后进行的。
5.2调试中出现的问题
硬件调试过程中发现,无论输入为多少,数码管显示数据均不变。经多次测量各芯片管脚的输入值发现,A/D采集并未实现,即有输入电压但并没输
出,经测量研究发现供电电源没有采用稳压电源供电,将LM336连入其中,测试即正确。
由于本系统的编译采用汇编语言,故要注意文件的扩展名为.ASM ,错误的使用了.C 以致无法运行;注意自定义符号不要与伪指令重复,程序调试中发现HD7279的串行数据输入/输出的符号与伪指令DATA 重复了,将其改为DAT 即正确;还有一些逻辑错误,经仔细研究分析,修改后无误。 5.2.1实验结果分析
经过硬件调试和软件调试无误后,将两者结合进行最终调试,经过多次修改后,成功显示温度值,其测量数据如下表5.1所示。
表5.1 实验测量数据 2.401 2.502 2.605 2.702 2.800 2.901 3.000 3.099 3.203 3.302 3.403 3.504 3.604 3.801 4.000 4.200 4.400 4.500
36.1 36.5 36.7 36.9 37.2 37.5 37.8 38.1 38.4 38.7 39.0 39.3 39.6 40.2 40.8 41.4 42.0 42.2
35.9 36.3 36.5 36.8 37.1 37.3 37.6 37.9 38.2 38.5 38.8 39.1 39.4 40.0 40.5 41.2 41.7 42.0
0.2 0.2 0.2 0.1 0.1 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.3 0.2 0.3 0.2
5.3 实验误差分析
从实验数据中可以看出,测量温度值与理论温度值并不是完全吻合,即存在一定的误差,误差的存在有时是不可避免的,而有时却是可以通过一些方法来减少误差的存在,要使测量准确可靠,必须减少误差。此设计采取了小数点后第二位四舍五入的方法来减小一定的误差,但并没有完全消除,此系统误差主要来源于以下几个方面:
⑴由于实验理论在计算上存在着近似性,方法上难以完善,因此理论温度值并不是真实温度值,而只是非常接近于真实温度的值,故存在一定的误差。
⑵实验仪器灵敏度和分辨能力有局限性,而且芯片本身存在非线性化误差。
⑶驱动电源为220±10%V,基准电源不稳,造成输入输出的误差。
⑷周围环境不稳定,每次测量时限不统一都会造成测量误差。
本次设计的主要内容是利用单片机和传感器完成人体体温的非接触式测量。该系统主要应用在人们的日常生活中,对人们了解自身的健康状况至关重要。整个系统的设计简洁,准确,快速,方便。设计的核心部分选用AT89S52芯片和ZTP135S-R 红外温度传感器。另外,软件程序的设计包括数据采集程序,A/D转换程序,显示程序等。
目前,整个程序设计已完成并调试成功,整个装置基本达到预期效果。但还有不足之处,LED 显示不是很稳定,精度也不是很高,需要进一步的调试。本设计采用额头为测量部位,由于探头对准内额头,测量的影响因素较少。其突出优点是:控制简单,显示直观,运用数码管显示,合理的利用了传感器的特性进行了一次实践,但由于试验条件和个人能力的限制,本系统还有待进一步的完善,如:测量值的存储,根据时间、年龄、性别等不同来设定发热温度进行语音提醒;当在一定时间内无测量则自动关闭等功能,使该系统功能更加强大。
我国是世界第一人口大国,随着国民对医疗卫生要求的不断提高,医疗电子类产品的需求量不断增大,产品具有广阔的市场前景。希望有志之士投入到医疗电子的研发中去,提高我国医疗电子类产品的实力[15]。
经过半年的忙碌和工作,本次毕业设计已经接近尾声,作为一个本科生的毕业设计,由于经验的匮乏,难免有许多考虑不周全的地方,如果没有导师的督促指导,以及一起学习的同学们的支持,想要完成这个设计是难以想象的。这次毕业论文能够得以顺利完成,是所有指导过我的老师,帮助过我的同学和一直关心支持着我的家人对我的教诲、帮助和鼓励的结果。我要在这里对他们表示深深的谢意!
感谢我的指导老师——符秀辉老师,感谢符老师对本论文从选题、构思、资料收集到最后定稿的各个环节给予细心的指引和教导, 使我对本次设计有了深刻的认识, 并最终得以完成毕业论文, 同时,在此次毕业设计过程中我也学到了许多关于单片机和传感器方面的知识,实验技能有了很大的提高。其次要感谢和我一起作毕业设计的商慧坤同学,她在本次设计中勤奋工作,克服了许多困难来完成此次毕业设计。因为有了她的努力工作,此次设计的完成才会如此顺利。
感谢我身边所有的朋友与同学们,谢谢你们四年来的关照与宽容,与你们一起走过的缤纷时代,将会是我一生最珍贵的回忆。这里,对关心、帮助过我的老师和同学们表示衷心地感谢!
最后,我要向在百忙之中抽时间对本文进行审阅、评议和参加本人论文答辩的各位老师表示感谢!
参考文献
[1] 崔志尚. 温度计量与测试[M].北京:中国计量出版社,1998:22-23. [2] 徐安,陈耀,李玲玲. 单片机原理与应用[M].北京:北京希望电子出版社,
2003:112-115.
[3] 唐文彦. 传感器[M].北京:机械工业出版社,2006:01-06.
[4] 李朝春. PC机及单片机数据通讯技术[M].北京:北京航空航天大学出版社,
2000:89-90.
[5] 杜维,张宏建,乐嘉华. 过程检测技术及仪表[M].北京:化学工业出版社,
2008:31-33.
[6] 祝永坚,陈钱. 新型红外探测系统通信模块的设计[J].现代电子技术,
2005,28(10):4-6.
[7] 丁镇生. 传感及其遥控遥测技术应用. 北京:电子工业出版社,2002:56-61. [8] 张毅刚. 新编 MCS-51单片机应用设计[M].哈尔滨:哈尔滨工业大学出
版社,2003:123-128.
[9] 魏立峰, 王宝兴. 单片机原理与应用技术[M].北京:北京大学出版社,
2006:195-196.
[10] 张培仁. 基于C 语言编程MCS-51单片机原理与应用[M].北京:清华大学出
版社,2002:106-201.
[11] 姜志海. 单片机原理及应用[M].北京:电子工业出版社,2005:94-104. [12] 马忠梅. 单片机的C 语言应用程序设计[M].北京:北京航空航天大学出版
社,1999:101-105.
[13] 谢宜仁. 单片机实用技术回答[M].北京:人民邮电出版社,2005:89-95. [14] 徐煜明.C51单片机及应用系统设计[M].北京:电子工业出版社,2009:79-82.
[15] 沈国彦,宋平. 红外温度计测量体温方法探讨[J].仪表技术,
2003,10(3):21-23.