版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业设计(论文)红外测温论文论文摘要本文主要介绍了利用凌阳科技公司SPCE061A单片机作为主控板进行非接触式红外人体测温设计的方案SPCE061A单片机作为整个系统的控制中心负责控制启动温度测量接收测量数据计算温度值并根据取得键值控制温度语音播放显示过程同时通过音频输出通道播报温度值红外测温模块负责温度的测量采集并将采集数据通过数据端口传送SPCE061A单片机由LED键盘模组中的键盘控制温度显示和播放数码管显示温度值本方案能实现非接触式的温度测量并且感应时间在3秒以内分辨力达到001°C精度在05°C以内关键词SPCE061A红外测温非接触式语音播放AbstractThispapermainlyintroducedtheuseofsunplusSPCE061AasthemastertechnologycompanyplatecontactlessinfraredtemperaturedesignschemepeopleithasbeenrevealedAsthewholesystemSPCE061AthecontrolcenterBeresponsibleforcontrollingthetemperaturemeasurementstartreceivingtemperaturemeasurementdatacalculationAndaccordingtoobtainthekeyscontroltemperaturespeechbroadcastshowprocessandatthesametimethroughaudiooutputchannelbroadcaststemperatureInfraredmeasuringtemperatureisresponsiblefortemperaturemeasurementacquisitionandwillcollectdatatransmittedthroughthedataportSPCE061AThekeyboardmodulebyLEDkeyboardcontroltemperaturedisplayandplaybackdigitaltemperaturepipedisplayThisschemecanachievecontactlesstemperaturemeasurementandtheinductiontimein3secondsResolutionto001°CPrecisionin05°ClessthanKeywordsSPCE061AInfraredmeasuringtemperaturecontactlessSpeechbroadcast
目录1引言 111设计的目的 112设计的意义 113工程实际问题 12红外测温技术原理与方法 221红外测温技术概述 222红外测温的原理 323红外测温的方法 43方案比较及总体方案的介绍 631任务要求 632系统方案论证 633方案比较与选择 84人体红外测温系统的硬件设计 941重要器件的选择 942单片机处理模块 943红外测温模块 1444按键和显示电路 1645音频输出模块 1846电源模块 185红外测温系统的软件设计 2051软件结构 2052主程序模块 2153测量温度模块 2354播放显示程序 2455中断服务程序 256总结 27谢辞 28参考文献 29附录一非接触式红外人体测温仪的电路原理图 30附录二系统源程序 31
1引言11设计的目的目前公知的测量人体温度的有传统水银电子体温计等随着社会节奏的加快父母在忙碌中抽出时间帮助孩子测体温是一件非常麻烦的事而且由于儿童好动既耗费时间又费精力老年人活动不便使用传统的体温计很不方便而且由于人老眼花也不能看清体温计汞柱的位置在人流量大人群密集的地方针对体温升高为特征的疾病检查时利用这些传统的水银电子体温计测量温度也极为不方便且低效在针对因体温升高为特征的传染疾病时因需要接触身体才能测温时极不卫生安全而且水银电子体温计的功能也极为单一这在人流量大人群密集的地方给医护人员检测病情带来极大的不便红外测温仪人流量大人群密集的地方能在流动人群中大面积快速准确地甄别发热患者能广泛地应用于国境口岸和公共场所的体温筛查12设计的意义红外测温仪具有许多传统检验检疫手段不可比拟的优点由于大多数传染病的发生和发展常常伴随着体温升高因此快速筛选和排查出发热患者对于发现和控制传染源防止疫情传人传出避免疫情扩散都具有非常重要的意义红外测温仪能人流量大人群密集的地方快速准确的甄别出发热患者为医护人员检测病情带来了极大的方便能更有效的预防和控制因体温升高为特征的传染疾病的传播13工程实际问题采用单片机作为控制板控制温度的测量显示和播报如高温强腐蚀强电磁场条件下或较远距离下的温度测量技术因此当前研究的重点也在于此21红外测温技术概述体温计又称医用温度计体温计的工作物质是水银它的液泡容积比上面细管的容积大的多泡里的水银由于受到体温的影响产生微小的变化水银体积的膨胀使管内水银柱的长度发生明显的变化人体温度的变化一般在35℃到42℃之间所以体温计的刻度通常是35℃到42℃而且每度的范围又分成为10份因此体温计可精确到110度体温计是一种最高温度计它可以记录这温度计所曾测定的最高温度用后的体温计应回表即拿着体温计的上部用力往下猛甩可使已升入管内的水银重新回到液泡里其它温度计绝对不能甩动这是体温计与其他液体温度计的一个主要区别第一个体温计是伽利略在16世纪时发明的但直到300年后才设计出使用方便性能可靠的体温计水银储存在末端的水银球内当水银被加热时它会发生膨胀沿着非常狭窄的玻璃管上升所以体温的小小变化就会导致玻璃管内水银的大幅度上升量完体温后得用力甩动体温计使水银回到水银球内体温计是在温度计的基础上研制成功的1714年德国物理学家华伦海特研制了在水的冰点和人的体温范围内设定刻度的水银体温计1742年又发明了0~100°的摄氏温标从此实现了体温计的刻度标准化1980年前后发明了会说话的体温计膜状液晶体温计在体温正常时呈现绿色低烧呈现黄色高烧呈现红色1988年出现了电子呼吸脉搏体温计可以进行遥测到了现代开始流行使用电子体温计电子体温计分为实测式电子温度计和预测式电子体温计两种可通过数字观看比较方便在2003年全国防非典斗争中中科院上海技术物理研究所在863计划高技术成果的基础上对红外技术应用于非接触式测温进行了深入研究在短时间内开发成功了非接触式红外测温仪打开了国内非接触式测量的新篇章但由于这种装置受一定因素影响测量结果还有待进一步进行校正红外线体温计分为耳式红外线体温计和红外线前额测温仪测定时间为1-3秒快速安全在国外非接触式红外测温仪已经非常先进了自1999年就有许多国家致力于这方面的开发研究到现在为止很多国家的产品已经达到国际先进水平并已广泛应用于各个领域比如美国早在2001年就颁布了有关红外测温仪的计量标准美国雷泰公司生产的ST系列红外测温仪已达到世界领先水平由于红外测温仪测量温度范围宽除了用于人体温度检测外还可用于电器的红外测温供暖的红外测温运输汽车维修时的红外测温等各个领域非接触式红外测温也叫辐射测温一般使用热电型或光电探测器作为检测元件此温度测量系统比较简单可以实现大面积的测温也可以是被测物体上某一点的温度测量可以是便携式也可以是固定式并且使用方便它的制造工艺简单成木较低测温时不接触被测物体具有响应时间短不干扰被测温场使用寿命长操作方便等一系列优点但利用红外辐射测量温度也必然受到物体发射率测温距离烟尘和水蒸气等外界因素的影响其测量误差较大在这种温度测量技术中红外温度传感器的选择是非常重要的而且不仅在点温度测量中要使用红外温度传感器大面积温度测量也可使用红外温度传感器22红外测温的原理红外测温仪的测温原理是黑体辐射定律在给定的温度和波长下物体发射的辐射能有一个最大值这种物质称为黑体并设定它的反射系数为1其它的物质反射系数小于1称为灰体由于黑体的光谱辐功率PbλT与绝对温度T之间满足普朗克定理2-1其中PbλT为黑体的辐射出射度λ为波长T为绝对温度C1C2为辐射常数它说明在绝对温度T下长λ处单位面积上黑体的辐射功率为PbλT红外测温必须根据波长划分测温范围高温在短波处低温在长波处且它的灵敏度高曲线陡峭抗干扰性强根据斯特藩玻耳兹曼定理黑体的辐出度黑体表面单位面积上所发射的各种波长的总辐射功率PbT与温度T的4次方成正比即PbTбT4T为热力学温度黑体辐射机理正是红外测温技术的理论基础如果在条件相同情况下物体辐射的功率总是小于黑体的功率即物体的单色辐出度PT小于黑体的单色辐出度PbT将它们之比称为物体的单色黑度ελ即实际物体接近黑体的程度ελPTPbT2-3考虑到物体的单色黑度ελ是不随波长变化的常数即ελε它是随不同物质而值不同即使是同一种物质因其结构不同值也不同只有黑体ε1而一般灰体0ε1由2-2可得PTεPbTPTεбT4所测物体的温度2-4式4正是物体的热辐射测温的数学描述23红外测温的方法通过测量辐射物体的全波长的热辐射来确定物体的辐射温度的称为全辐射测温法通过测量物体在一定波长下的单色辐射亮度来确定它的亮度温度的称为亮度测温法通过被测物体在两个波长下的单色辐射亮度之比随温度变化来定温的称为比色测温法亮度测温法无需环境温度补偿发射率误差较小测温精度高但工作于短波区只适于高温测量比色测温法的光学系统可局部遮挡受烟雾灰尘影响小测温误差小但必须选择适当波段使波段的发射率相差不大本文选用全辐射测温法来计算被测量物体的温度全辐射测温法是根据所有波长范围内的总辐射而定温得到的是物体的辐射温度选用这种方法是因为中低温物体的波长较大辐射信号很弱而且结构简单成本较低由普朗克公式可推导出辐射体温度与检测电压之间的关系式VRaεσT4KT4 2-5式中KRaεσ由实验确定定标时ε取1
T被测物体的绝对温度R探测器的灵敏度
a与大气衰减距离有关的常数ε辐射率σ斯蒂芬玻耳兹曼常数因此可以通过检测电压而确定被测物体的温度上式表明探测器输出信号与目标温度呈非线性关系V与T的四次方成正比所以要进行线性化处理线性化处理后得到物体的表观温度需进行辐射率修正为真实温度校正式为 2-6式中Tr辐射温度表观温度εT辐射率取01~09由于调制片辐射信号的影响辐射率修正后的真实温度为高于环境的温度还必须作环温补偿即真实温度加上环温才能最终得到被测物体的实际温度目标温度和环境温度LED键盘模进行温度测量显示用单片机作为控制板控制温度的测量显示和播报采用红外测温传感器可以测量目标温度和环境温度远距离和非接触测温达30米-30~200℃工作温度-10~50℃精度±05℃反应时间1sec图3-1基于FPGA的高精度测温系统框图从图3-1可看出系统首先经过红外摄像头进行图像的采集得到相应的灰度图像FPGA作为系统的核心部件主要是实现相应的图像处理如数字滤波伪彩色变换图像锐化等以及温度的计算然后在TFTLCD上显示通过触摸屏选择相应的待测点进行温度的测定由于外界环境对于实际温度的测量有很大的影响可以通过温度传感器测定外界的温度然后进行过相应的补偿方案二基于凌阳SPCE061A单片机为核心部件的红外测温系统的实现方案二以凌阳61单片机作为整个系统的控制中心负责控制启动温度测量接收测量数据计算温度值并根据取得键值控制播放显示过程同时通过音频输出通道播报温度值红外测温模块负责温度的测量采集并将采集数据通过数据端口传送SPCE061A单片机由LED键盘模组中的键盘控制温度显示和播放数码管显示温度值本方案能实现非接触式的温度测量并且感应时间在3秒以内分辨力达到001°C精度在05°C以内方案二的系统总体结构框图如图3-2所示图3-2基于61单片机的红外测温系统原理框图方案二采用模块化的设计思想把整个系统分成若模块分别予以解决它包括主程序模块红外测温模块键盘扫描模块电源模块音频输出模块和显示模块主程序模块主要完成系统的初始化温度的检测串行口通信键盘和显示等功能其中初始化包括时间中断的初始化外部中断源的初始化串口通信中断的初始化LED显示的初始化红外测温模块包括获取温度数据计算温度值键盘扫描模块包括获取按键信息处理按键请求等显示模块包括获取并处理相应的温度数据电源模块能提供33V或者5V的电压33方案比较与选择方案一利用红外热成像技术实现温度监控和检测有着精度高可分辨0.01℃的温度差非接触实时快速测温范围宽形象直观等优点方案二中的TN9红外传感器模块能实现非接触式的温度测量并且感应时间在3秒以内分辨力达到001°C精度在05°C以内由于本设计为非接触式红外人体测温仪的设计利用方案二能够更好更快捷的实现设计预达到的要求单片机处理系统能直接与PC机进行信息传递从而对系统的改进和完善起到更好的作用因此本次设计采用方案二基于凌阳61单片机为核心部件的红外测温系统采用模块化的设计4人体红外测温系统的硬件设计41重要器件的选择本设计是软硬件的综合体每一个模块的选择都会对整个系统产生影响选择的硬件模块好坏决定了本设计所能达到的高度所以对比较重要的模块必须要通过对比选择扬长避短红外测温设计各模块温度传感器有两个方案可供选择一是采用红外温度传感器选用TPS334TPS334红外温度传感器镜头带有滤波器敏感系数高二是采用凌阳公司生产的型号为TN9红外温度传感器它是一种集成的红外探测器内部有温度补偿电路和线性处理电路输出数字信号它的响应速度快精度高稳定性好测量距离大约为30米测量回应时间大约为05秒而且它具备SPI接口可以很方便地与单片机传输数据因此选用TN9红外传感器显示模块显示部分选用共阴数码管由三极管来驱动数码管具有耗能低电压低寿命长对外界环境要求低易于维护等优点其电路复杂占用资源较多显示信息少不宜显示大量信息因为选用串行A\D处理模块节省了多数串口因此选用数码管显示音频输出模块SPCE061A内置2路10位精度的DAC只需要外接功放电路即可完成语音的播放电源模块SPCE061A单片机的内核供电为33V而IO端口可接33V也可以接5V所以在电源模块中有一个端口供电平选择42单片机处理模块SPCE061A最小系统中包括SPCE061A芯片及其外围的基本模块其中外围的基本模块有晶振输入模块OSC锁相环外围电路PLL复位电路RESET指示灯LED等如图4-1所示图4-1SPCE061A单片机最小系统图单片机作为红外测温系统的核心处理部件它关系到整个系统的性能指标因此它的选择是非常重要的本测温系统选择的SPCE061A单片机下面是SPCE061A单片机相关资料信息SPCE061A是凌阳科技研发生产的性价比很高的一款十六位单片机具有易学易用且效率较高的一套指令系统和集成开发环境在此环境中支持标准C语言可以实现C语言与凌阳单片机汇编语言的互相调用并且提供了语音录放和语音识别的库函数只要了解库函数的使用方法就会很容易完成语音录放为软件开发提供了方便的条件SPCE061A片内还集成了一个ICE在线仿真电路接口使得对该芯片的编程仿真变得非常方便而ICE接口不占用芯片上的硬件资源结合凌阳科技提供的集成开发环境unSPIDE用户可以进行贴近真实的在线调试仿真而程序的下载烧写也是通过该接口进行下载图4-2为SPCE061A单片机的内部结构框图图4-2SPCE061A系统内部结构图421SPCE061A单片机的特性116位μnSP微处理器2工作电压CPUVDD为2436VIOVDDH为2455V3CPU时钟032MHz49152MHz4内置2K字SRAM5内置32KFLASH6可编程音频处理7晶体振荡器8系统处于备用状态下时钟处于停止状态耗电仅为2μA36V92个16位可编程定时器计数器可自动预置初始计数值102个10位DAC数-模转换输出通道1132位通用可编程输入输出端口1214个中断源可来自定时器AB时基2个外部时钟源输入键唤醒13具备触键唤醒的功能14使用凌阳音频编码SACM_S240方式24K位秒能容纳210秒的语音数据15锁相环PLL振荡器提供系统时钟信号1632768Hz实时时钟177通道10位电压模-数转换器ADC和单通道声音模-数转换器18声音模-数转换器输入通道内置麦克风放大器和自动增益控制AGC功能19具备串行设备接口20具有低电压复位LVR功能和低电压监测LVD功能21内置在线仿真电路ICEIn-CircuitEmulator接口22具有保密能力23具有WatchDog功能422SPCE061A引脚的排列和说明SPCE061A有84个引脚为PLCC84封装形式它的引脚排列如图4-3所示引脚的描述如表4-1所示图4-3SPCE061A单片机的引脚图表4-1SPCE061A单片机的引脚描述表管脚名称管脚编号描述IOA[15-8]6053双向IO端口IOA[7-0]4841IOA[7-0]通过编程可设置成唤醒管脚IOA[6-0]与ADCLine_In输入共用IOB[15-11]6864双向IO端口IOB[10-5]8176IOB10通用异步串行数据发送管脚TxIOB9TimerB脉宽调制输出管脚BPWMOIOB8TimerA脉宽调制输出管脚APWMOIOB7通用异步串行数据接收管脚RxIOB6双向IO端口IOB5外部中断源EXT2的反馈管脚IOB[4-0]15IOB5外部中断源EXT2的反馈管脚IOB4外部中断源EXT1的反馈管脚IOB3外部中断源EXT2IOB2外部中断源EXT1IOB1串行接口的数据传送管脚IOB0串行接口的时钟信号DAC121DAC1数据输出管脚DAC222DAC2数据输出管脚OSCI13振荡器输入在石英晶振模式下是石英元件的一个输入脚OSCO12振荡器输出在石英晶振模式下是石英元件的一个输出脚RES-B6复位输入若这个脚输入低电平会使得控制器被重新复位MICOUT27麦克风1阶放大器输出管脚管脚外接电阻决定AGC增益倍数OPI26麦克风2阶放大器输入管脚VDD1536逻辑电源的正向电压VADREF22AD参考电压由内部ADC产生VSS1924逻辑电源和IO口的参考地AVSS9模拟电路ADDA和2V稳压源参考地AVDD7模拟电路ADDA和2V稳压源正向电压RESET68低电平有效的复位管脚VREF2232V参考电压输出脚VDDH515275IO端口的正向电压管脚SLEEP63睡眠模式高电平激活ICE16激活ICE高电平激活ICESCK17ICE串行接口时钟管脚ICESDA18ICE串行接口数据管脚XTEST14测试模式时接高电平正常模式时接地GND或悬浮XROMT61测试闪烁存储器正常模式时悬浮NC4655正常使用时接地PFUSEPVIN2029程序保密设定脚用户慎重使用VCP8琐相环压控振荡器的阻容输入VCM34ADC参考电压输出脚VRT35AD转换外部参考电压输入脚它决定AD转换输入电压上限值例如该点输入一个25V的参考电压则AD转换电压输入范围为025V外部AD最高参考电压33V 43红外测温模块红外测温模块采用非接触测温手段解决了传统测温中需要接触的问题具有回应速度快测量精度高测量范围广以及可同时测量目标温度和环境温度的特点红外测温模块根据大气状况最远测温距离约30m测量回应时间大约为05s而且它具备SPI接口可以很方便地与MCU传输数据431红外测温模块引脚介绍红外测温模块的引脚图如图4-4所示其中V为电源电压引脚VCCVCC一般为3V到5V之间的电压一般取VCC为33VD为数据接收引脚没有数据接收时D为高电平C为2KHzClock输出引脚G为接地引脚A为测温启动信号引脚低电平有效红外测温模块引出5个引脚其中V和G分别接电源和地即可D接61板IOA15传输给61板测量数据C接61板的IOA14则通过IOA14就可以检测到红外测温模块时钟A接61板的IOA13这样只要从IOA13输出低电平就可以启动测温图4-4红外测温模块引脚图432红外测温模块时序图红外测温模块的时序图如图4-5在CLOCK的下降沿接收数据一次温度测量需接收5个字节的数据这五个字节中Item为0x4c表示测量目标温度为0x66表示测量环境温度MSB为接收温度的高八位数据LSB为接收温度的低八位数据Sum为验证码接收正确时SumItemMSBLSBCR为结束标志当CR为0x0dH时表示完成一次温度数据接收图4-5红外测温模块的时序图433红外测温模块温度值的计算无论测量环境温度还是目标温度只要检测到Item为0x4cH或者0x66H同时检测到CR为0x0dH它们的温度的计算方法都相同计算公式为目标温度环境温度Temp16–27315其中Temp为十进制当把它转换成十六进制时高八位为MSB低八位为LSB比如MS为0x14HLSB为0x2aH则Temp十六进制时为0x142aH十进制时为5162测温度值为516216-2731549475℃44按键和显示电路按键和显示功能采用配套的LED键盘模组实现其中按键选择1×8独立按键显示采用6位8段数码管动态显示电路原理如图4-6和图4-7所示IOB口高八位连接8个按键的COL8COL1IOA口低八位控制数码管的段信号IOB的低八位分别控制数码管的位信号发光二极管的公共端和第4位数码管后时钟冒号D_DP的位信号其中IOB的低八位接ULN2003A的IN1-IN7IOB6控制发光二极管的公共端本方案中没有用到发光二极管模块IOB7控制第4位数码管后时钟冒号D_DP的位信号该信号低电平有效配合时钟冒号D_DP的段信号就可以点亮或者熄灭时钟冒号图4-61×8独立按键原理图图4-78段6位动态显示电路原理图1UNL2003A芯片其内部为三极管阵列其IN脚相当于三极管的B极OUT较相当于三极管的C极若IN脚输入高电平对应的OUT脚接地IN脚输入低电平对应的OUT脚截止输出IN1IN7为输入信号OUT1OUT7为输出信号输入信号高有效ULN2003A元件图如图4-8图4-8ULN2003A元件图2共阴极2位数码管WD5621CXWD5621CX元件图如图4-9图4-9WD5621CX元件图图中adp为数码管的段信号G1G2为2位数码管的位信号段信号高有效位信号低有效3共阴极4位数码管WD5641EXWD5641EX元件图如图4-10图4-10WD5641EX元件图图中adp为数码管的段信号d1d2为时钟冒号的段信号G1G4为4位数码管的位信号G5为时钟冒号的位信号段信号高有效位信号低有效45音频输出模块SPCE061A内置2路10位精度的DAC只需要外接功放电路即可完成语音的播放图4-11是音频输出电路图可以直接听喇叭输出的声音图中的SPY0030也是凌阳公司的产品和LM386相比SPY0030还具有下述优势的比如LM386工作电压需在4V以上SPY0030仅需24V即可工作两颗电池即可工作LM386输出功率100mW以下SPY0030约700mWSPY0030是凌阳公司开发的专门用于语音信号放大的芯片它的增益如下所示Gain2×50005000R1图4-11音频输出电路图46电源模块采用3节5号电池进行供电由J10接入其中的前后两组电容用来去耦滤波使其供给芯片的电源更加干净平滑为了获得标准的33V电压在板子上加入SPY0029三端稳压器两个二极管是为防止误将电源接反造成不必要损失而设置的在操作过程中千万不要将电源接反因为反向电压超过一定的值二极管将会被损坏达不到保护的目的后面的零电阻及其电源地分成不同的几路是为减少电磁干扰设置的SPCE061A的内核供电为33V而IO端口可接33V也可以接5V所以在电源模块中有一个端口电平选择跳线如图中的J5图4-12为电源模块图图4-12电源模块图图4-12中J10是电源接口SPCE061A电压要求为33V而IO端口的电压可以选择33V也可以选择5V所以在电路上具有两种工作电压5V和33V对应的引脚中1536和7必须为33V对于IO端口的电压515275可以是33V也可以是5V这两种电平的选择通过跳线J5来控制61板的供电电源系统采用用户多种选择方式1DC5V电池供电用户可以用3节电池来供电5V直流电压直接通过SPY0029相当于一般33V稳压器稳压到33V为整个电路提供了45V和33V两种电平的电压2DC5V稳压源供电用户可以直接外接5V的直流稳压源供电5V电压再通过SPY0029稳压到33V3DC3V供电可以提供直流33V电压为实验进行供电此时整个电路只有33V电压IO端口电压此时只有一种选择5红外测温系统的软件设计51软件结构软件结构图如图5-1图中可以看出各文件之间的调用关系图5-1红外测温软件结构图下面介绍上图中各个文件里定义的函数及其功能TNDriverUserc文件里包含了TN_IR_GetData函数和一个延时函数TN_IR_GetData函数的功能是读取测量结果并计算温度值这是一个用户端函数直接调用TN_IR_GetData函数就可以得到测量数据TNRFDriverasm文件是底层驱动文件包含了红外模块初始化函数TN_InitalIO红外模块启动函数TN_IRACK_EN和读测量数据函数TN_ReadData其中TN_InitalIO函数主要进行控制端口初始化TN_IRACK_EN函数用来启动测量TN_ReadData函数用来读取测量数据PlayDatac文件里包含PlaySnd_Auto自动播放语音函数和F_TempplayAndShow温度值显示播报函数在主函数里直接调用F_TempplayAndShow就可以播放并且显示已经计算好的温度值Keyc是一个键盘底层驱动文件包含键盘控制端口初始化函数Key_Init和键盘扫描函数KeyScan函数Digasm是数码管底层驱动文件包含数码管控制端口初始化函数DIG_Init设置数码管某一位的显示内容函数DIG_Set设置所有数码管的显示内容函数DIG_SetAll获取某一位数码管的显示内容函数DIG_Get获取所有数码管的显示内容函数DIG_GetAll数码管显示函数DIG_Drive停止数码管显示函数DIG_Off和恢复数码管显示函数DIG_Onisrasm文件里定义了各个中断函数其中在_FIQ中断服务函数里调用F_FIQ_Service_SACM_S480函数播放语音在_IRQ4的4KHz中断里调用数码管显示函数DIG_Drive实现数码管的动态刷新显示mainc文件里包含了mian一个函数函数调用键盘扫描程序扫描键盘根据返回的键值调用TN_IR_GetData得到测量数据计算成温度值后进行播放并显示52主程序模块主程序流程图如图5-2初始化红外测温模块初始化键盘进入主程序循环调用键盘扫描程序扫描键盘根据键值散转如果第一个键K1按下调用测量温度程序测量判断是否正确测到目标温度否则继续测量直到测到正确数据是则播放并显示目标温度值然后再调用测量温度程序测量判断是否正确测到环境温度否则继续测量直到测到正确数据是则播放并显示环境温度值如果第二个键K2按下调用测量温度程序测量判断是否正确测到目标温度否则继续测量直到测到正确数据是则播放并显示温度值如果第三个键K3按下调用测量温度程序测量判断是否正确测到环境温度否则继续测量直到测到正确数据是则播放并显示温度值如果没有键盘按下则返回重新扫描键盘图5-2主程序流程图53测量温度模块在主程序中调用了测量温度程序测量数据程序流程图如图5-3定义一个返回变量根据这个返回变量在主程序可以判断是否测量到正确数据调用启动测量程序启动测温调用读测量数据程序读取测量数据判断第一个字节数据是否为0x4c或者0x66也就是判断是否测到目标温度或者环境温度是则依次取第二个字节数据和第三个字节数据如果第五个字节数据为0x0d则证明读到正确数据根据温度计算公式计算温度值并且给返回变量赋0表明已经读到正确的温度值否则直接返回图5-3读测量数据程序流程图54播放显示程序该系统采用自动播放方式显示时调用数码管驱动函数直接显示流程图如图5-4百位显示在第二位数码管十位显示在第三位数码管个位显示在第四位数码管小数点后第一位显示在第五位数码管小数点后第二位显示在第六位数码管图5-4播报显示程序流程图55中断服务程序该系统中用到了两个中断一个是FIQ中断在这个中断里调用F_FIQ_Service_SACM_S480函数进行语音解码播放另一个用到的中断是IRQ4_4KHz这个中断里调用数码管显示函数F_DIG_Drive刷新显示FIQ中断服务程序流程图和IRQ4中断服务程序流程图分别如图5-5和图5-6图5-5FIQ中断服务程序流程图图5-6IRQ4中断服务程序流程图6总结历经几个月的毕业设计即将结束回想这段时间收获颇多所做的设计基本上达到了任务书上的要求本方案能实现非接触式的温度测量并且感应时间在3秒以内分辨力达到001°C精度在05°C以内这里设计的非接触式红外人体测温系统以SPCE061A单片机作为整个系统的控制中心负责控制启动温度测量接收测量数据计算温度值并根据取得键值控制温度语音播放显示过程同时通过音频输出通道播报温度值红外测温模块负责温度的测量采集并将采集数据通过数据端口传送SPCE061A单片机由LED键盘模组中的键盘控制温度显示和播放数码管显示温度值通过对硬件电路的设计我对Protel软件的使用更加熟练这不仅使我对课本上所学的知识有了更进一步的了解而且也提高了我的动手能力理论联系实际能力为今后的学习和工作打下了很好的基础但同时也明显感觉到还有很多地方需要完善和提高设计的产品与实际应用还有一定的差距所以在今后的工作中还要不断的学习充电掌握更多的技能争取能够在此基础上设计出更先进功能更强大结构更简单的智能化仪器谢辞我的毕业设计是在林海波老师的悉心指导下完成的林老师不仅对我给予了无微不至的关怀和培养更重要的是他对本设计的研究和顺利完成倾注了大量的心血在此我向老师表示深深的敬意和衷心的感谢
总之这次毕业设计对我来说是一次比较全面的富有创造性和探索性的锻炼完成了我选题时的心愿同时林老师无私的敬业精神以及同学们的热情帮助也令我深有感触对于我今后的学习工作和生活都将是受益无穷的
再一次对林老师表达我的深深的谢意参考文献[1]孙鹏红外测温物理模型的建立及论证[D]吉林大学2006[2]晏敏彭楚武颜永红曾云曾健平红外测温原理及误差分析[J]湖南大学学报2004510110-112[3]曹润强红外测温仪的设计[J]攀枝花学院学报200623687-89[4]CAOXi-zhengGUOLi-hongandLIZhuoInfraredradiationmeasurementoftheaerialtargetbased0ntemperatureCalibrationandtargetImages[J]OptoelectronicsLetters200660465-0467[5]庄绍雄张迎春.单片机控制的电阻电容在线测量仪[J].电子测量与仪器学报1993744045.[6]罗翼张宏伟.PIC单片机应用系统开发经典应用[M].北京中国电力出版社2005.[7]黄智伟朱荣辉朱卫华.无线数字温度传感器的设计[J].传感器技术20022193133.[8]梁延贵.积分式A/D转换器其他专用集成电路分册[M].北京科学技术文献出版社2002[9]陈远金程永进吴雄伟红外温度传感器的设计与实现[J]中国设备工程20060748-49[10]蔡维铮常用电子元器件手册[M]哈尔滨工业大学出版社1998[11]王魁汉温度测量实用技术〔M〕北京机械工业出版社2007[12]崔志尚温度计量与测试[M]北京中国计量出版社1998[13]李军刘梅冬曾亦可李楚容郭明金黄焱球刘少波夏冬林非接触式红外测温的研究[J]压电与声光20103第三卷202-205[14]刘迎春叶湘滨.现代新型传感器原理与应用[M].北京国防工业出版社1998.[15]赵家贵付小美.新编传感器电路设计手册[M].北京中国计量出版社2002.[16]姚鼎山.红外医疗技术[M].上海复旦大学出版社1993[17]唐岳湘赵修良单健俞红红外人体测温仪电路的设计[J]现代电子技术2007158136-138
附录一非接触式红外人体测温仪的电路原理图
附录二系统源程序主程序defineP_Watchdog_Clear volatileunsignedint0x7012externunsignedintTN_Data_Buff[5] 保存测量结果的数组externvoidTN_InitalIOvoidexternvoidKey_InitvoidexternunsignedintTN_IR_GetDataunsignedintItemexternunsignedintKeyScanvoidexternvoidPlaySnd_AutounsignedintuiSndIndexexternvoidF_TempplayAndShowfloattempfloatiTemp保存温度值intmainvoid unsignedintKeyiFlag1 TN_InitalIO初始化红外测温模块 Key_Init初始化键盘 while1 KeyKeyScan扫描键盘 switchKey case0没有键按下 break case0x8000第一个键K1按下 whileiFlag判断是否测量出正确数据 iFlagTN_IR_GetData0x004c测量目标温度取温度值和iFlag P_Watchdog_Clear0x0001 PlaySnd_Auto16播放"OK" PlaySnd_Auto15播放"目标温度" F_TempplayAndShowiTemp播放"测得目标温度值" iFlag1iFlag置1 whileiFlag判断是否测量出正确数据 iFlagTN_IR_GetData0x0066测量环境温度取温度值和iFlag P_Watchdog_Clear0x0001 PlaySnd_Auto14播放"环境温度" F_TempplayAndShowiTemp播放"测得环境温度值" iFlag1iFlag置1 break case0x4000第二个键按下 whileiFlag判断是否测量出正确数据 iFlagTN_IR_GetData0x004c测量目标温度取温度值和iFlag P_Watchdog_Clear0x0001 PlaySnd_Auto16播放"OK" PlaySnd_Auto15播放"目标温度" F_TempplayAndShowiTemp播放"测得目标温度值" iFlag1 break case0x2000第三个键盘按下 whileiFlag判断是否测量出正确数据 iFlagTN_IR_GetData0x0066测量环境温度取温度值和iFlag P_Watchdog_Clear0x0001 PlaySnd_Auto16播放"OK" PlaySnd_Auto14播放"环境温度" F_TempplayAndShowiTemp播放"测得环境温度值" break default break 温度显示播放程序voidF_TempplayAndShowfloattemp intiShow[6] 播报数存储数组 temptemp100温度值乘100以方便计算小数点后两位 iShow[5]temp10000计算温度值的百位数 iShow[4]temp1000计算温度值的十位数 iShow[4]iShow[4]10 iShow[3]temp100计算温度值的个位数iShow[3]iShow[3]10 iShow[2]temp10计算温度值的小数点后第一位数 iShow[2]iShow[2]10 iShow[1]temp计算温度值的小数点后第二位数 iShow[1]iShow[1]10 DIG_Init ifiShow[5]0如果百位数字不为0 DIG_Set2g_Data[iShow[5]]第二位数码管显示百位数字 PlaySnd_AutoiShow[5]播放百位数字 PlaySnd_Auto10播放"百" ifiShow[5]0iShow[4]0iShow[3]0如果百位数字不为0且十位为0但是个位不为0 DIG_Set3g_Data[iShow[4]]显示十位数字 PlaySnd_AutoiShow[4]播放十位数字 ifiShow[4]0如果十位不为0 DIG_Set3g_Data[iShow[4]]第三位数码管显示十位数字 PlaySnd_AutoiShow[4]播放十位数字 PlaySnd_Auto11播放"十" DIG_Set4g_Data[iShow[3]]第四位数码管显示个位数字 ifiShow[4]0iShow[5]0iShow[3]0如果百位十位个位都为0 PlaySnd_AutoiShow[3]播放个位数字 ifiShow[3]0如果个位为不为0 PlaySnd_AutoiShow[3]播放个位数字 PlaySnd_Auto12播放"点" DIG_Set5g_Data[iShow[2]]第五位数码管显示小数点后第一位数字 PlaySnd_AutoiShow[2]播放小数点后第一位数字 DIG_Set6g_Data[iShow[1]]第六位数码管显示小数点后第二位数字 PlaySnd_AutoiShow[1]播放小数点后第二位数字 PlaySnd_Auto13播放"摄氏度" P_Watchdog_Clear0x0001键盘程序define P_IOB_Data volatileunsignedint0x7005defineP_IOB_Buffer volatileunsignedint0x7006defineP_IOB_Dir volatileunsignedint0x7007defineP_IOB_Attrib volatileunsignedint0x7008defineP_Watchdog_Clear volatileunsignedint0x7012 语法格式 voidKey_Initvoid 实现功能 键盘初始化 参数 无 返回值 无voidKey_Initvoid P_IOB_Dir0x00ff 初始化IOA口高八位为带下拉电阻输入口 P_IOB_Attrib0x00ff P_IOB_Data0x00ff 语法格式 voidDelayvoid 实现功能 延时 参数 无 返回值 无voiddelayvoid unsignedintuiCount foruiCount0uiCount3000uiCount P_Watchdog_Clear0x0001清看门狗 语法格式 unsignedintKeyScanvoid 实现功能 获得键盘值并返回 参数 无 返回值 键盘值unsignedintKeyScanvoid unsignedintuiData unsignedintuiTemp uiDataP_IOB_Data 读取IOA端口输入 uiDatauiData0xff00 仅取低八位有效值 ifuiData0 非零则表示有键按下 delay 延时消抖 uiTempP_IOB_Data uiTempuiTemp0xff00 仅取低八位有效值 ifuiDatauiTemp uiData0 两次读数不相等则置返回值为0 returnuiData 返回键值 红外测温程序文件名称TNDriverUserc功能描述读测量数据的用户函数维护记录2005122v10define P_IOA_Data volatileunsignedint0x7000defineP_IOA_Buffer volatileunsignedint0x7001defineP_IOA_Dir volatileunsignedint0x7002defineP_IOA_Attrib volatileunsignedint0x7003defineP_IOA_Latch volatileunsignedint0x7004defineP_IOB_Data volatileunsignedint0x7005defineP_IOB_Buffer volatileunsignedint0x7006defineP_IOB_Dir volatileunsignedint0x7007defineP_IOB_Attrib volatileunsignedint0x7008defineP_FeedBack volatileunsignedint0x7009defineP_TimerA_Data volatileunsignedint0x700AdefineP_TimerA_Ctrl volatileunsignedint0x700BdefineP_TimerB_Data volatileunsignedint0x700CdefineP_TimerB_Ctrl volatileunsignedint0x700DdefineP_TimeBase_Setup volatileunsignedint0x700EdefineP_TimeBase_Clear volatileunsignedint0x700F defineP_INT_Ctrl volatileunsignedint0x7010defineP_INT_Clear volatileunsignedint0x7011defineP_INT_Mask volatileunsignedint0x702DdefineP_Watchdog_Clear volatileunsignedint0x7012defineP_SystemClock volatileunsignedint0x7013defineP_UART_Command1 volatileunsignedint0x7021 defineP_UART_Command2 volatileunsignedint0x7022 defineP_UART_Data volatileunsignedint0x7023 define P_UART_BaudScalarLow volatileunsignedint0x7024 define P_UART_BaudScalarHigh volatileunsignedint0x7025defineP_SystemClock volatileunsignedint0x7013externunsignedintTN_Data_Buff[3]externvoidTN_IRACK_ENvoidexternintTN_
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 26年靶向疗效代诊服务
- 26年治未病效果评估手册
- 2025年等高线地形图判读学习效果评估
- 2026 减脂期失败复盘课件
- 面部护理的仪器使用
- 跖骨骨折患者饮食指导与营养支持
- 2026 宿舍增肌期饮食规划课件
- 2026 增肌期维生素精准补充课件
- 静脉输液技术与护理
- 2026 塑型进阶驴肉火烧课件
- 红十字志愿者培训讲义
- (高清版)JTST 206-1-2023 水运工程塑料排水板应用技术规程
- 视野报告简单分析-课件
- 项目推进缓慢表态发言稿三篇
- 自然辩证法智慧树知到期末考试答案章节答案2024年浙江大学
- 2024年西藏开发投资集团有限公司招聘笔试参考题库含答案解析
- 第二章-生命的物质基础
- 我院药学专业药理课程期末试卷成绩分析与评价
- 四川省河长制湖长制基础数据表结构与标识符(试行稿)
- 顶板危险源辨识及防范措施
- 2023年广东省佛山市南海区桂城街道东二社区工作人员考试模拟题及答案
评论
0/150
提交评论