非接触式的红外测温系统

非接触式的红外测温系统

ID:21978940

大小:2.32 MB

页数:53页

时间:2018-10-26

上传者:bjzsz01
非接触式的红外测温系统_第1页
非接触式的红外测温系统_第2页
非接触式的红外测温系统_第3页
非接触式的红外测温系统_第4页
非接触式的红外测温系统_第5页
资源描述:

《非接触式的红外测温系统》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

word资料下载可编辑摘要红外模组是汇集其视场内目标的红外辐射能量,将红外能量聚焦在光电探测仪上并转变为相应的数字信号的传感器,它具有非接触测温方式、温度分辨率高、响应速度快、不扰动被测目标温度分布场、测量精度高、稳定性好和使用寿命长等一系列优点,比传统的接触式测温有更多的场合适应性。本文介绍了一种基于单片机实用温度实时检测和记录系统。它的设计思路主要是利用红外模组传感器,采集人体发射出的红外线,得到数字信号送入单片机,由MCS-51单片机通过温度补偿来实现温度值的转换并送入LCD1602显示和超温声光报警功能,同时通过无线模块进行中短距离传输到PC机和组态王Kingview进行数据的保存和后台处理等功能。本设计实现了非接触式的温度测量,并且感应时间在3秒以内,分辨力达到0.01°C,精度在0.5°C以内,实现了无线传输到组态王的控制,并且在组态王上实现了温度的存储、查询、报表显示等多种功能。关键词:红外测温系统;非接触式;组态王;无线传输专业技术资料 word资料下载可编辑AbstractTheInfraredmoduleistobringtogetheritsfieldofviewinfraredradiationenergygoalswillfocusinfraredenergyonaphotoelectricdetectoranddigitalsignalintoacorrespondingsensor,whichhasnon-contacttemperaturemeasurementmethod,temperature,highresolution,fastresponse,withoutdisturbingthemeasuredtargettemperaturedistrbutionfield,highaccu-racy,goodstabilityandlonglifeandaseriesofadvantagesovertraditionalcontact-typetemperatureadaptabilitymoreoccasions.Thispaperintroducesapracticaltemperaturebasedonsinglechipreal-timedetectionandrecordingsystem.Itsdesignconceptistheuseofthemaininfraredsensormoduletocollectthebodyemitsinfra-red,getthedigitalsignalintothemicrocontroller,theMCS-51microcontrollertoachievetemperaturecompensationbytheconversiontemperatureandover-temperatureintotheLCD1602displayandsoundandlightalarm,Throughshort-rangewirelessmodulefortransmissiontothePC,andKingviewpreservationandback-officedataprocessingfunctions.TheDesignandImplementationofanon-contacttemperaturemeasurement,andinductiontimeof3secondsorless,resolutionto0.01°C,accuracy0.5°Corless,toachievethewirelesstransmissiontotheconfigurationcontrolofthekingandthekingontheconfigurationAchievedtemperaturestorage,query,reportshowsandotherfeatures.KeyWords:Infraredtemperaturemeasurementsystem;non-contact;Kingview;wireless--transmission专业技术资料 word资料下载可编辑目录引言…………………………………………………………………………………………11红外测温系统的设计背景…………………………………………………………21.1单片机发展历程…………………………………………………………………………21.2体温计的发展历程………………………………………………………………………32红外测温技术简介……………………………………………………………………42.1温度测量技术的概述……………………………………………………………………42.2红外测温原理……………………………………………………………………………42.3红外测温的方法…………………………………………………………………………53红外测温系统的总体方案选择……………………………………………………63.1重要模块的方案对比与选择……………………………………………………………63.1.1温度传感器的选择……………………………………………………………………63.1.2无线传输模块选择……………………………………………………………………63.1.3显示模块的选择………………………………………………………………………63.2芯片和组态王介绍………………………………………………………………………63.2.1主从控制器STC89C51…………………………………………………………………73.2.2红外模组TN_9…………………………………………………………………………83.2.3无线收发CC1100E………………………………………………………………………93.2.4电平转换芯片MAX232…………………………………………………………………113.2.5液晶1602………………………………………………………………………………123.2.6稳压芯片LM2576………………………………………………………………………143.2.7组态王Kingview………………………………………………………………………143.3系统硬件总体设计方案………………………………………………………………163.4系统软件设计方案……………………………………………………………………174红外测温系统的硬件设计…………………………………………………………184.1主从单片机处理模块…………………………………………………………………18专业技术资料 word资料下载可编辑4.2TN-9红外测温模块接口设计…………………………………………………………184.3无线收发CC1100E模块接口设计………………………………………………………194.4RS232A电平转换模块……………………………………………………………………204.5液晶显示和声光报警模块……………………………………………………………214.6键盘模块………………………………………………………………………………214.7电源设计模块…………………………………………………………………………225红外测温系统的软件设计…………………………………………………………245.1主程序的设计…………………………………………………………………………245.1.1主控制器的主程序模块………………………………………………………………245.1.2从控制器的主程序模块………………………………………………………………255.2TN_9红外测温程序模块………………………………………………………………265.3无线收发CC1100E程序模块……………………………………………………………295.3.1无线发送程序…………………………………………………………………………295.3.2无线接收程序…………………………………………………………………………305.4键盘扫描程序模块……………………………………………………………………315.5组态王与单片机通信程序模块………………………………………………………335.6组态王应用设计………………………………………………………………………346系统调试和性能分析………………………………………………………………386.1所用仪器………………………………………………………………………………386.2焊接与调试过程………………………………………………………………………386.3测温系统的误差分析…………………………………………………………………386.4系统性能分析…………………………………………………………………………396.5如何减小误差…………………………………………………………………………397结论……………………………………………………………………………………40谢辞…………………………………………………………………………………………41参考文献……………………………………………………………………………………42附录…………………………………………………………………………………………43专业技术资料 word资料下载可编辑引言现在社会,随着生活节奏的变快,父母在忙碌中抽出时间帮助孩子测体温是一件非常麻烦的事,而且由于儿童不稳定,好动,既耗费时间又费精力;老年人活动不便,使用传统的体温计很不方便,而且由于人老眼花,也不能看清体温计汞柱的位置;现在各种流行病比较多,传染性比较强,传统的接触式测温系统有很大的局限性,特别是在高发病的场所诸如学校或者事业单位里……本文所设计的红外体温检测系统就是针对这些问题而设计开发的,该系统是将微机技术、光学聚焦技术、传感器技术、无线传输技术和上位机软件技术等相结合,可以非接触式的测出人体温度,通过LCD1602来显示温度结果,当人体温度高于某一数值时作出声光报警,提醒被测者让其早作准备,同时通过无线传输传到上位机,在上位机上进行数据处理和保存,比如数据显示和报警、数据存储、数据查询、生成曲线报表等多项功能。最能体现本设计的一个例子是,曾经甲型H1N1流感盛行一时,甚至能够通过呼吸传染,在医院的隔离室里,患者采用本设计快速测温并通过无线发送到上位机,组态王界面规划了整个医院的病房号并实时显示温度和是否达到报警信号,医生通过界面能够一目了然的及时的了解到各个病好患者的基本情况,既节省时间又节省人力,在某些时候还能够避免一些悲剧的发生。本论文的第一章简要地介绍了非接触式红外测温系统的设计背景;第二章是对现代红外测温的一些技术介绍;第三章介绍了对红外测温系统的总体软硬件方案的选择和在设计过程中所用到的芯片和软件;第四章则详细的介绍了本红外测温系统的各个硬件设计模块;第五章详细的介绍了系统软件设计,以流程图和重要要代码说明的方式介绍了各个功能的具体实现;第六章介绍了本设计系统的调试和性能分析。专业技术资料 word资料下载可编辑1红外测温系统的设计背景随着现代科学技术的发展,传统的接触式测温方式以不能满足现代一些领域的测温需求,对非接触、远距离测温技术的需求越来越大。本红外测温系统设计的出发点也正是基于此。1.1单片机发展历程单片机也被称为微控制器(Microcontroller),是因为它最早被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。早期的单片机都是8位或4位的。其中最成功的是INTEL的8031,因为简单可靠而性能不错获得了很大的好评。此后在8031上发展出了MCS51系列单片机系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。90年代后随着消费电子产品大发展,单片机技术得到了巨大提高。随着INTELi960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。目前,高端的32位单片机主频已经超过300MHz,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元,最高端的型号也只有10美元。当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系统。单片机比专用处理器更适合应用于嵌入式系统,因此它得到了最多的应用。事实上单片机是世界上数量最多的计算机。现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。而个人电脑中也会有为数不少的单片机在工作。汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过PC机和其他计算的总和,甚至比人类的数量还要多。专业技术资料 word资料下载可编辑单片机是一种在线式实时控制计算机,在线式就是现场控制,需要的是有较强的抗干扰能力,较低的成本,这也是和离线式计算机的(比如家用PC)的主要区别。单片机芯片单片机是靠程序运行的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的CD4000系列这些纯硬件来搞定的话,电路一定是一块大PCB板!但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别!只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性!1.2体温计的发展历程体温计又称“医用温度计”。体温计的工作物质是水银。它的液泡容积比上面细管的容积大的多。泡里的水银由于受到体温的影响,产生微小的变化,水银体积的膨胀,使管内水银柱的长度发生明显的变化。人体温度的变化一般在35℃到42℃之间,所以体温计的刻度通常是35℃到42℃,而且每度的范围又分成为10份,因此体温计可精确到1/10度。体温计是一种最高温度计,它可以记录这温度计所曾测定的最高温度。用后的体温计应“回表”,即拿着体温计的上部用力往下猛甩,可使已升入管内的水银,重新回到液泡里。其它温度计绝对不能甩动,这是体温计与其他液体温度计的一个主要区别。第一个体温计是伽利略在16世纪时发明的。但直到300年后才设计出使用方便、性能可靠的体温计。水银储存在末端的水银球内。当水银被加热时,它会发生膨胀,沿着非常狭窄的玻璃管上升。所以,体温的小小变化就会导致玻璃管内水银的大幅度上升。量完体温后,得用力甩动体温计,使水银回到水银球内。体温计是在温度计的基础上研制成功的。1714年,德国物理学家华伦海特研制了在水的冰点和人的体温范围内设定刻度的水银体温计。1742年又发明了0~100°的摄氏温标,从此实现了体温计的刻度标准化。1714年,加布里埃尔•华伦海特1868年,文德利希这位德国教授出版了《疾病与体温》一书,书中记载了2.5万例病人的体温变化,而他所使用的体温计的大小是奥尔伯特体温计的两倍,每次要花20分钟的时间来记录体温!1980年前后,发明了会说话的体温计。膜状液晶体温计在体温正常时呈现绿色,低烧呈现黄色,高烧呈现红色。1865年,英国的阿尔伯特发明了一种很有特色的体温计,特点是储存水银的细管里有一狭道,当体温计接触人体后,水银很快升到人体实际体温处,取出后水银柱不下降,而是在狭道处断开,使狭道以上部分始终保持体温度数。这种温度计受到了临床的欢迎和普及应用。1988年,出现了电子呼吸脉搏体温计,可以进行遥测。到了现代,开始流行使用电子体温计。电子体温计分为实测式电子温度计和预测式电子体温计两种,可通过数字观看,比较方便。红外线体温计在“非典”流行期间曾广泛使用,分为耳式红外线体温计和红外线前额测温仪,测定时间为1-3秒,快速、安全。液晶体温计是21世纪新产品,利用液晶制成的温度计,测腋窝仅用4-5秒,准确、安全,但价位高。专业技术资料 word资料下载可编辑2红外测温技术简介红外测温技术在生产过程中,在产品质量控制和监测,设备在线故障诊断和安全保护以及节约能源等方面发挥了着重要作用。2.1温度测量技术的概述普通温度测量技术经过相当长时间的发展已近于成熟。目前,随着经济的发展日益需要的是在特殊条件(如高温、强腐蚀、强电磁场条件下或较远距离)下的温度测量技术。因此,当前研究的重点也在于此。非接触式红外测温也叫辐射测温,一般使用热电型或光电探测器作为检测元件。此温度测量系统比较简单,可以实现大面积的测温,也可以是被测物体上某一点的温度测量;可以是便携式,也可以是固定式,并且使用方便;它的制造工艺简单,成木较低,测温时不接触被测物体,具有响应时间短、不干扰被测温场、使用寿命长、操作方便等一系列优点,但利用红外辐射测量温度,也必然受到物体发射率、测温距离、烟尘和水蒸气等外界因素的影响,其测量误差较大。在这种温度测量技术中红外温度传感器的选择是非常重要的,而且不仅在点温度测量中要使用红外温度传感器,大面积温度测量也可使用红外温度传感器。本设计正是采用红外温度传感器这种温度测量技术,它具有温度分辨率高、响应速度快、不扰动被测目标温度分布场、测量精度高和稳定性好等优点;另外红外温度传感器的种类较多,发展非常快,技术比较成熟,这也是本设计采用红外温度传感器设计非接触温度测量系统的主要原因之一。2.2红外测温原理红外测温仪的测温原理是黑体辐射定律,众所周知,自然界中一切高于绝对零度的物体都在不停向外辐射能量,物体的向外辐射能量的大小及其按波长的分布与它的表面温度有着十分密切的联系,物体的温度越高,所发出的红外辐射能力越强。黑体的光谱辐射出射度由普朗克公式确定,即:(2-1)在不同温度下的黑体光谱辐射度如图2.1。图2.1不同温度下的黑体光谱辐射度专业技术资料 word资料下载可编辑从图2.1可以看出黑体辐射具有几个特征:(1)在任何温度下,黑体的光谱辐射度都随着波长连续变化,每条曲线只有一个极大值;(2)随着温度的升高,与光谱辐射度极大值对应的波长减小。这表明随着温度的升高,黑体辐射中的短波长辐射所占比例增加;(3)随着温度的升高,黑体辐射曲线全面提高,即在任一指定波长处,与较高温度相应的光谱辐射度也较大,反之亦然。2.3红外测温的方法通过测量辐射物体的全波长的热辐射来确定物体的辐射温度的称为全辐射测温法;通过测量物体在一定波长下的单色辐射亮度来确定它的亮度温度的称为亮度测温法;通过被测物体在两个波长下的单色辐射亮度之比随温度变化来定温的称为比色测温法。亮度测温法无需环境温度补偿,发射率误差较小,测温精度高,但工作于短波区,只适于高温测量。比色测温法的光学系统可局部遮挡,受烟雾灰尘影响小,测温误差小,但必须选择适当波段,使波段的发射率相差不大。本文选用全辐射测温法来计算被测量物体的温度,全辐射测温法是根据所有波长范围内的总辐射而定温,得到的是物体的辐射温度。选用这种方法是因为中低温物体的波长较大,辐射信号很弱,而且结构简单,成本较低。由普朗克公式可推导出辐射体温度与检测电压之间的关系式:V=RaεσT4=KT4(2-2)式中K=Raεσ,由实验确定,定标时ε取1T—被测物体的绝对温度R——探测器的灵敏度a——与大气衰减距离有关的常数ε——辐射率σ——斯蒂芬—玻耳兹曼常数因此,可以通过检测电压而确定被测物体的温度,上式表明探测器输出信号与目标温度呈非线性关系,V与T的四次方成正比,所以要进行线性化处理。线性化处理后得到物体的表观温度,需进行辐射率修正为真实温度,其校正式为:(2-3)式中Tr——辐射温度(表观温度)ε(T)——辐射率,取0.1~0.9由于调制片辐射信号的影响,辐射率修正后的真实温度为高于环境的温度,还必须作环温补偿,即真实温度加上环温才能最终得到被测物体的实际温度。专业技术资料 word资料下载可编辑3红外测温系统的总体方案选择本设计是软硬件的综合体,每一个模块的选择都会对整个系统产生影响,选择的硬件模块好坏决定了本设计所能达到的高度,所以对比较重要的模块必须要通过对比选择,扬长避短。3.1重要模块的方案对比与选择3.1.1温度传感器的选择方案一:采用红外线温度传感器IRTP。IRTP系列红外测温系统是一种集成专用信号处理电路以及环境温度补偿电路的多用途红外温度测量系统,它属于工业测温传感器。不能用作人体测温,故不选用此方案。方案二:采用热释电红外线传感器D203S。热释电红外线传感器是80年代发展器起来的一种新型高灵敏度探测元件。它能以非接触形式检测出人体辐射的红外线能量的变化,并将其转换成电压信号输出。但这个电压信号需要加以放大和加驱动控制电路。硬件上的复杂性决定了它的稳定性不高,且容易出故障,故也不选此方案。方案三:采用凌阳公司生产的型号为TN9红外温度传感器,它是一种集成的红外探测器,内部有温度补偿电路和线性处理电路,输出数字信号,它的响应速度快、精度高、稳定性好,故选择此方案。3.1.2无线传输模块选择方案一:采用PT2262/2272加无编码的发射与接收头,该电路采用超再声发射电路,采用315MHZ的发射频率,虽然发射距离远,但要求供电电压高更多的是适合在遥控方面,而在传输数据时却容易出错。故不选择此方案。方案二:低功耗CC1100E是一款Sub-GHz高性能射频收发器,提供对数据包处理、数据缓冲、突发传输、空闲信道评估、链路质量指示以及无线唤醒的广泛硬件支持。具有高灵敏度、低电流消耗、支持频率下高达+10dBm的可编程输出功率、1.2到500kBaud的可编程数据速率等特点,非常合适中短距离的数据传输,所以选择此方案。3.1.3显示模块的选择方案一:使用数码管显示。数码管具有耗能低、电压低、寿命长、对外界环境要求低,易于维护等优点,其电路复杂,占用资源较多,显示信息少,不宜显示大量信息。方案二:我们设计的系统需要显示的信息直观,所以应选用显示功能更好的液晶显示,要求能显示更多的数据,增加显示信息的可读性,看起来更方便。而液晶LCD1602有明显的优点:微功耗,尺寸小,超薄轻巧,显示信息量大,字迹美观,视觉舒适,而且容易控制。所以选择方案二。3.2芯片和组态王介绍专业技术资料 word资料下载可编辑综合了各个方案的对比,我得出了本系统的最终方案,在主从处理器方面选择STC89C51单片机,红外模组TN_9作为测温模块,用LCD1602为本系统的显示部分,通过CC1100E无线收发模块把测得的温度值传到从处理器并通过从处理器串口经RS232电平转换模块传到上微机软件组态王Kingview做各种数据的后台处理。3.2.1主从控制器STC89C51单片机作为红外测温系统的核心处理部件,它关系到整个系统的性能指标。因此它的选择是非常重要的。本测温系统选择的STC89C51RC单片机,下面是STC89C51RC单片机相关资料信息:STC89C51RC单片机是宏晶科技推出的新一代超强抗干扰/高速/低功耗的新一代8051单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可任意选择,最新的D版本内部集成MAX810专用复位电路。STC89C51RC系列单片机具有在系统可编程(ISP)特性,这样可以省去购买通用编程器,单片机在用户系统上即可下载/烧录用户程序,无须将单片机从以生产好的产品上拆下。对于一些尚未定型的设计可以一边设计一边完善,加快了设计速度,减少了一些软件缺陷风险。由于可以在用户的目标系统上将程序直接下载进单片机看运行结果,故无须仿真器,图3.1为此单片机的引脚图。图3.1STC89C51RC单片机引脚图STC89C51RC单片机的特点:(1)增强型6时钟/机器周期,12时钟/机器周期8051CPU;(2)工作电压:5.5v-3.8v;(3)工作频率范围:0-40MHz,相当于普通8051的0~80M,实际工作频率可达48MHz;(4)4k的Flash程序存储器;(5)片上集成512字节RAM;(6)ISP/IAP,无须专用编程器/仿真器;专业技术资料 word资料下载可编辑(7)通用I/O口,复位后:P1/P2/P3/P4是准双向口/弱上拉,P0口开漏输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时需加上拉电阻;(8)EEPROM功能;(9)看门狗;(10)内部集成MAX810专用复位电路(外部晶体20M以下时,可省复位电路)。(11)共3个16位定时器/计数器,定时器0还可以当成2个8位定时器使用;(12)外部中断4路,下降沿中断或低电平触发中断,PowerDown模式可由外部中断低电平触发中断方式唤醒;(13)超低功耗,正常工作模式,典型功耗2mA;掉电模式,典型功耗0.5uA,可由外部中断唤醒,中断返回后,继续执行原程序;(14)2个数据指针;(15)通用异步串行口(UATR),还可用定时器软件实现多个UATR;(16)工作温度范围:0-75℃/-40~+85℃;(17)封装形式:PDIP-40/PLCC-44/PQFP-44。STC89C51各引脚的功能描述如下:(1)电源和晶振:VCC、VSS——运行和程序校验时加的电压;XTAL1——输入到振荡器的反向放大器;XTAL2——反向放大器输出,输入到内部时钟发生器(2)RST:单片机的上电复位或掉电保护端;(3)ALE:地址锁存有效信号输出端;(4):片外程序存储器读选通信号输出端。3.2.2红外模组TN_9面对目前众多的红外检测器件产品,在设计中选择合适的红外检测器已成为一个重要问题。在设计过程中选择红外线检测器件时,首先考虑的是器件的以下性能因素:光谱响应范围、响应速度、有效检测面积、元件数量、制冷方式和检测目标的温度。凌阳公司生产的型号为TN9的红外探测器作为测温模块,它是一种集成的红外探测器,内部有温度补偿电路和线性处理电路,因此简化了本系统的设计。它的测量距离大约为30米,测量回应时间大约为0.5秒。而且它具备SPI接口,可以很方便地与单片机(MCU)传输数据。其引脚如图3.2。图3.2红外测温传感器引脚图专业技术资料 word资料下载可编辑在图3.2中,V为电源引脚VCC,VCC一般为3V到5V之间的电压,一般取3.3V;D为数据接收引脚,没有数据接收时D为高电平;C为2KHzClock输出引脚;G为接地引脚;A为测温启动信号引脚,低电平有效。TN_9红外测温模块的时序如图3.3所示,在CLOCK的下降沿时接收数据。(例:如果一次温度测量需接收5个字节的数据,这5个字节中:Item为0x4c表示测量目标温度,为0x6c表示测量环境温度;MSB为接收温度的高八位数据;LSB为接收温度的低八位数据;Sum为验证码,接收正确时Sum=Item+MSB+LSB;CR为结束标志,当CR为0xodH时表示完成一次温度数据接收。)图3.3TN_9模块的时序图红外测温模块温度值的计算:以上面的例子:无论测量环境温度还是目标温度,只要检测到Item为0x4cH或者0x66H同时检测到CR为0x0dH,他们的温度的计算方法都相同。计算公式:目标温度/环境温度=Temp/16-273.15(3-1)其中Temp为十进制,当把它转换成十六进制的高八位为MSB,低八位为LSB;比如MSB为0x14H,LSB为0x2Ah,则Temp十六进制时为0x142aH,十进制时为5162,则测得的温度值为5162/16-273.15=39.475℃.3.2.3无线收发CC1100ECC1100E是一款Sub-GHz高性能射频收发器,设计旨在用于极低功耗RF应用。其主要针对工业、科研和医疗(ISM)以及470-510MHz和950-960MHz频带的短距离无线通信设备(SRD)。CC1100E特别适合于那些针对日本ARIBSTD-T96标准和中国470-510MHz短距离通信设备的无线应用。CC1100E主要的应用范围有:专业技术资料 word资料下载可编辑(1)运行于470/950MHzISM/SRD频带的超低功耗无线应用;(2)无线传感网络;(3)家庭和楼宇自动化;(4)高级抄表架构(AMI);(5)无线计量;(6)无线告警和安全系统;图3.4CC1100E的简化结构图CC1100E具有一个低功耗IF接收机。在图3.4中,低噪声放大器(LNA)将接收到的RF信号放大,并在求积分(I和Q)过程中被降压转换至中频(IF)。在IF下,I/Q信号被ADC数字化。自动增益控制(AGC)、精确信道滤波和调制解调位/数据包同步均以数字方式完成。CC1100E的发送器部分基于RF频率的直接合成。频率合成器包括一个完全片上LCVCO和一个90度相位转换器,以在接收模式下向降压转换混频器生成I和QLO信号。将一个晶体连接XOSC_Q1和XOSC_Q2。晶体振荡器产生合成器的参考频率,以及ADC和数字部件的时钟。一个4线SPI串行接口用于配置和数据缓冲器存取。数字基带包括对信道配置、数据包处理以及数据缓冲的支持。图3.5CC1100E的复位时序专业技术资料 word资料下载可编辑在图3.5中,CC1100E全局复位方法使用SRES指令选通脉冲。通过发出这种选通脉冲,所有内部寄存器和状态均被设置为默认值,即IDLE状态。(1)设置SCLK=1和SI=0,以避免引脚控制模式下潜在的问题。(2)选通脉冲CSn低电平/高电平。(3)保持CSn为低电平,随后为高电平,保持CSn为高电平至少持续40μs。(4)拉低CSn,等待SO变低(CHIP_RDYn)。(5)通过SI线发送SRES选通脉冲。(6)当SO再次变低时,复位完成,芯片处于IDLE状态。图3.8配置寄存器的读写操作如图3.8所示,CC1100E通过一个简单的4-线SPI兼容接口(SI、SO、SCLK和CSn)便可对CC1100E进行配置,此时CC1100E为从属器件。该接口还可以用于读取和写入缓冲数据。SPI接口上的所有数据传输均以最高位开始。SPI接口上的所有事务均以一个报头字节作为开始,该字节包含一个R/W;¯bit,一个突发存取位(B),以及一个6位地址(A5–A0)。在SPI总线上传输数据期间,CSn引脚必须保持低电平。在传输报头字节或读/写寄存器期间,如果CSn电平升高,那么传输就会被取消。图3-7显示了SPI接口上地址和数据传输的时间。拉低CSn电平时,在开始传输该报头字节以前,MCU必须等待,直到CC1100E的SO引脚变为低电平为止。这表明,晶体正在运行。除非芯片处在SLEEP或XOFF状态,否则SO引脚总会在CSn变为低电平以后立即变为低电平。3.2.4电平转换芯片MAX232MAX232C是RS232与TTL电平之间进行电平转换的工具芯片,它是MAXIM公司生产、包括两路接收器和驱动器的IC芯片,适用于各种EIA-232C和V.28/V.24的通信接口。MAX232C芯片内部有一个电压变换器,可以把输入的+5V电源电压变换成为RS232所输出电平所需的电压。所以,采用此芯片的串行通信系统只需单一的+5V电源就可以了,如图3.9。专业技术资料 word资料下载可编辑图3.9MAX232引脚图MAX232C内部结构:(1)电荷泵电路。由1、2、3、4、5、6脚和4只电容构成。功能是产生+12v和-12v两个电源,提供给RS-232串口电平的需要。(2)数据转换通道。由7、8、9、10、11、12、13、14脚构成两个数据通道。其中13脚(R1IN)、12脚(R1OUT)、11脚(T1IN)、14脚(T1OUT)为第一数据通道。8脚(R2IN)、9脚(R2OUT)、10脚(T2IN)、7脚(T2OUT)为第二数据通道。TTL/CMOS数据从T1IN、T2IN输入转换成RS-232数据从T1OUT、T2OUT送到电脑DB9插头;DB9插头的RS-232数据从R1IN、R2IN输入转换成TTL/CMOS数据后从R1OUT、R2OUT输出。(3)供电。15脚GND、16脚VCC(+5v)。MAX232C主要特点:(1)单5V电源工作(2)LinBiCMOSTM工艺技术(3)两个驱动器及两个接收器(4)±30V输入电平(5)低电源电流:典型值是8Ma(6)符合甚至优于ANSI标准EIA/TIA-232-E及ITU推荐标准V.28(7)ESD保护大于MIL-STD-883(方法3015)标准的2000V3.2.5液晶16021602LCD分为带背光和不带背光两种,基控制器大部分为HD44780,带背光的比不带背光的厚,是否带背光在应用中并无差别。它的主要技术参数如表3.1,图3.10,图3.11所示。(1)显示容量:16×2个字符(2)芯片工作电压:4.5—5.5V(3)工作电流:2.0mA(5.0V)(4)模块最佳工作电压:5.0V专业技术资料 word资料下载可编辑表3.11602内部控制指令序号指令RSR/WD7D6D5D4D3D2D1D01清显示00000000012光标返回000000001*3置输入模式00000001I/DS4显示开/关控制0000001DCB5光标或字符移位000001S/CR/L**6置功能00001DLNF**7置字符发生存贮器地址0001字符发生存贮器地址8置数据存贮器地址001显示数据存贮器地址9读忙标志或地址01BF计数器地址10写数到CGRAM或DDRAM)10要写的数据内容11从CGRAM或DDRAM读数11读出的数据内容图3.10LCD1602读操作时序图3.11LCD1602写操作时序3.2.6稳压芯片LM2576专业技术资料 word资料下载可编辑HYM2576系列调节器是单片集成电路,它可以提供降压转换器(Buck)的功能,它同时具有驱动3A负载电流,且有着极好的线性和负载调节特性。HYM2576系列器件包括固定输出的3.3V、5V、12V、15V以及可调输出版本,它内部已经集成频率补偿和一个固定频率振荡器。HYM2576系列高效率的特性完全可以替代常用的三端线性调节器。它的高效率可以最大限度的减小散热片的尺寸,在某些情况下可以不加散热片。在特定输入和输出负载的条件下,HYM2576的输出可以保证±4%的精度容差,以及±10%的内部振荡频率容差。HYM2576同时具有外部的关断引脚,50μA(典型)的备用电流。HYM2596还具有循环限流和过温关断功能,如图3.12所示。图3.12LM2576应用电路3.2.7组态王Kingview北京亚控公司的工业组态软件Kingview是新型的工业自动控制系统,它以标准的工业计算机软、硬件平台构成的集成系统取代传统的封闭式系统。它是一个集成的工业组态软件,它包含几千种智能仪表和智能模块和大多数的单片机的地层通信协议,对于单片机它提供了两种可以修改的通信协议,可以方便的实现单片机和PC机之间的通信。Kingview更是提供了强大的人机界面的制作,可以很好的将采集到的数据进行处理显示记录,利用自带的动画制作工具可以实现现场模拟。(1)全中文界面,可以运行在Windows环境下,包括Windows98P2000PNT等。(2)先进的图形、动画功能,丰富的图库,开发简便,周期短,界面美观、友好。(3)在其公司网站上有各种应用实例,方便移植。(4)丰富的硬件支持功能,支持工业控制中大部分的板卡,接口简单,便于操作。(5)提供了上百个函数,大大简化了编程过程,减轻了工作量,提高了工作效率。(6)对于典型数据库的支持,使得数据的操作很容易实现。(7)强大的报表功能。(8)具有一定网络支持功能。(9)具有动态数据交换功能(DDE),这使得它可以和Windows环境下的大部软件或开发平台进行数据传递。通讯口设置如表3.2。专业技术资料 word资料下载可编辑(1)通讯方式:RS-232,RS-485,RS-422均可。(2)波特率:由单片机决定(2400,4800,9600and19200bps)。表3.2组态王字节数据格式起始位数据位校验位停止位在组态王中定义设备地址的格式(1)格式:##.#前面的两个字符是设备地址,范围为0-255,此地址为单片机的地址,由单片机中的程序决定;后面的一个字符是用户设定是否打包,“0”为不打包、“1”为打包,用户一旦在定义设备时确定了打包,组态王将处理读下位机变量时数据打包的工作。表3.3组态王中定义的寄存器格式寄存器名称dd上限dd下限数据类型Xdd655350FLOAT/BYTE/UINT表3.3中,斜体字dd代表数据地址,此地址与单片机的数据地址相对应。(2)组态王与单片机通讯的命令格式如表3.4所示。表3.4读写格式字头设备地址标志数据地址数据字节数数据…异或CR说明;字头:1字节1个ASCII码,40H设备地址:1字节2个ASCII码,0—255(即0---0x0ffH)标志:1字节2个ASCII码,bit0~bit7,bit0=0:读,bit0=1:写。bit1=0:不打包。bit3bit2=00,数据类型为字节。bit3bit2=01,数据类型为字。bit3bit2=1x,数据类型为浮点数。数据地址:2字节4个ASCII码,0x0000~0xffff数据字节数:1字节2个ASCII码,1—100,实际读写的数据的字节数。数据…:为实际的数据转换为ASCII码,个数为字节数乘2。异或:异或从设备地址到异或字节前,异或值转换成2个ASCII码CR:0x0d。3.3系统硬件总体设计方案专业技术资料 word资料下载可编辑确定系统的硬件由单片机主控模块、单片机从控模块、TN_9红外模组、液晶显示模块、声光报警模块、无线收发CC1100E模块、键盘模块、RS232电平转换模块、声光报警模块、电源模块、上位机模块。硬件的流程是主控制器通过不断的扫描键盘,当扫描到键值要求开始测温时,判断是测量环境温度还是目标温度,然后发送开始允许测温指令给TN_9,TN_9执行测温任务并把测量结果送往主控制器,主控制器处理温度后实时显示到LCD1602模块上,同时,主控制器将是实时温度值与设定的温度上限值比较,如果满足报警条件,则开启声光报警,同时,主控制器不断地扫描键盘,当发现有键值允许开启无线传输模块,则将实时温度值传至从处理器,从处理器通过串口将温度经RS232电平转换模块传到组态王软件,在组态王里面实现数据接收、数据显示、数据存储、数据查询、生成曲线报表等多项功能。STC89C51主控制器TN_9电源模块液晶显示键盘模块无线收发无线收发STC89C51从控制器RS232串口模块组态王KingView电源模块声光报警图3.13红外测温系统的硬件方案设计框图图3.13中,STC89C51主控制器是本系统的控制中心,它负责控制启动温度测量、接收测量数据、计算温度值、键盘控制、显示控制和无线传输数据控制;TN_9模块负责温度数据的测量和采集,并将采集到的数据通过数据端口传送给STC89C51单片机;通过键盘模块可以方便地控制测温及无线传输;RS232转换电路模块可以使从控制器方便地同组态王进行串口通信,并可以同时接收或传送外部送来的资料;LCD显示模块把测量的温度值直观地显示给观测者;电源模块负责整个测温系统的电源供应。3.4系统软件设计方案专业技术资料 word资料下载可编辑按照系统的设计功能要求,本红外测温系统的设计采用单片机软件系统实现,用单片机的自动控制能力配合按键控制,来控制温度的检测、显示、报警、传输;并用上位机软件界面实现温度的存储、查询、曲线报表等功能。所以本测温系统的软件设计同样采用模块化的设计思想,它把整个系统分成若干模块分别予以解决,它包括主从控制器的主程序模块,红外测温模块,键盘扫描模块、声光报警模块、液晶显示模块、无线传输模块和组态王通信模块。主程序模块红外测温键盘扫描液晶显示声光报警无线传输主程序模块无线传输组态王通信图3.14红外测温系统的软件方案设计框图图3.14中,主程序模块主要完成系统初始化,温度的检测,串行口通信,键盘和显示等功能,其中系统初始化包括:串口通信中断的初始化、液晶显示的初始化,无线传输初始化;红外测温模块包括:获取温度数据,计算温度值。键盘扫描模块:获取按键信息,处理按键请求等;显示模块:获取并处理相应的温度数据;无线传输模块:将测量到的温度传到从控制器,以便送到上位机处理;组态王通信:完成组态王与单片机通信协议和格式等各种操作。4红外测温系统的硬件设计专业技术资料 word资料下载可编辑基于STC89C51单片机的红外测温系统的硬件设计采用目前使用比较广泛的模块化设计思想,将整个系统分成七大模块:主从单片机处理模块、红外测温模块、无线传输模块、LCD液晶显示和声光报警模块、键盘模块、RS232转换电路模块、电源模块。通过划分模块的方法,可以把一个复杂的问题分割成几个相对容易解决的问题,分别予以解决,大大简化了设计的难度。4.1主从单片机处理模块该红外测温系统是以STC89C51单片机为核心器件,此单片机模块的工作原理是:加载相应程序的STC89C51单片机把红外测温模块传来的数据加以处理,送LCD液晶显示和无线传输,必要时进行声光报警。图4.1单片机处理模块电路图其复位电路如图4.1左边上部分,本单片机处理模块是通过开关手动复位的,只要在RST引脚出现大于10ms的高电平,单片机就进入复位状态,这样做的目的是便于根据实际情况而选择是否复位温度测量数据。而此仪器的震荡电路选用的是晶体震荡电路,其具体电路如图4.1左边下部分。采用晶体震荡电路的原因是因为它的频率稳定性好,而这正是本红外测温系统非常重要的技术要求。4.2TN-9红外测温模块接口设计红外测温模块采用非接触手段,解决了传统测温中需要接触的问题,具有回应速度快,测量精度高,测量范围广等优点。单片机通过P2.3口发送启动指令给TN_9,TN_9测得温度后,单片机通过检测TN_9的CLK脚的电平变化把温度数据从P2.5口的DATA脚接收到数据,如图4.2所示。专业技术资料 word资料下载可编辑图4.2红外测温电路模块4.3无线收发CC1100E模块接口设计本系统采用CC1100E设计了一个可控制的无线传输电路。此无线传输电路是通过单片机发出控制信号到CC1100E编码电路再经过发射电路把温度数据发射出去,再由接收电路把信号接收到另外一块CC1100E解码器进行解码得到温度值,从而达到中短距离控制的目的。图4.3无线传输模块电路图在图4.3中,GDO0和GDO2通用数字输出引脚,功能有测试信号,FIFO状态信号,空闲信道指示,时钟输出,从XOSC分频,串行输出RX数据;SI用途数据的输入;SO用于数据的输出;SCK为串行时钟输入;CSN为片选引脚,高电平有效,用于选择是否数据输出。专业技术资料 word资料下载可编辑4.4RS232A电平转换模块通过RS232转换电路单片机可以方便的同PC机进行串口通信,可以同时接收或传送外部送来的资料。但是进行串行通讯时要满足一定的条件,因为RS232是用正负电压来表示逻辑状态的,而TTL是用高低电平来表示逻辑状态的,因此,为了能够同PC机接口或终端的TTL器件连接,必须在RS232与TTL电平之间进行电平转换。本设计采用MAX232芯片它可完成TTL到EIA双向电平的转换。RS-232C是串行数据接口标准,它规定了连接电缆和机械、电气特性、信号功能及传送过程。RS-232被定义为一种在低速串行通信中增加通信距离的单端标准,它采取非均衡传输方式,即所谓的单端通信。典型的RS-232信号在正负电平之间摆动,发送数据时,发送端驱动器输出正电平+5~+15V,负电平为-15~-5V。无数据传输时,线上为TTL。从开始传送数据到结束,线上电平从TTL电平到RS-232电平,然后返回TTL电平。接收器典型的工作电平为+3~+12V与-12~-3V。由于发送电平与接收电平的差仅为2~3V左右,所以其共模抑制能力差。加上双绞线上的分布电容,其传送距离最大约为15米,最高速度为20Kb/s。图4.4RS232转换电路图4.4中,MAX232电路内部很难实现较大电容,所以周围的电容是电源变换的储能电容,它使用电荷泵把5V转换成串口的正负电源,外接的4个电容就是电荷泵电路的一部分。MAX232内部有两路数据转换通道,单片机通过串口P3.0、P3.1口与第二路连接,形成了物理通信,RS232的接收数据口RXD,发送数据口TXD与MAX232连接,与上位机通信。专业技术资料 word资料下载可编辑4.5液晶显示和声光报警模块本系统采用LCD1602液晶显示模块。这种显示最大的优点就是使用口资源比较少,显示位数多,显示比较清晰,界面友好,段码从P0口输出。输出内容为英文提示、实时温度值和无线传输标志位;同时,当实时温度值到达设定的上下限值时发出声光报警,在发声方面,考虑到体积和功耗的因素,本设计使用了PNP三极管驱动蜂鸣器;用红色发光二极管作为发光报警。图4.5LCD显示和报警电路在图4.5液晶模块中,RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器;通过单片机的P2.6口控制,R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。由于本设计中只需要对液晶进行写操作,为了节省单片机引脚资源,它直接接为低电平;E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令,通过单片机P2.7口控制。4.6键盘模块人机交互对话最通用的方法就是通过键盘和LCD显示进行的,操作者通过键盘向系统发送各种指令或置入必要的数据信息。键盘模块设计的好坏,直接关系到系统的可靠性和稳定性。按键接门可分为独立式按键接口、行列式按键接口和专用芯片式等。行列式按键接口适应于按键数量较多,这种方式的按键接口由行线和列线组成,按键位于行、列的交叉点上。这种方式的优点就是相对于独立接口方式可以节省很多I/O资源;专用键盘处理芯片一般功能比较完善,芯片本身能完成对按键的编码、扫描、消抖和重键等问题的处理,但成本较高;考虑到本设计中需要的按键不多,我采用了独立式的接法,通过程序处理消抖,完成键盘的权值设置。专业技术资料 word资料下载可编辑图4.6键盘电路原理图图4.6中,键盘模块采用动态扫描的方式,采用3个独立式键盘。其工作原理为:单片机通过运行程序不断扫描键盘,检查是否有键按下,当扫描到有键按下时。经过程序处理找出按下的键值,并调用相应键操作程序完成对应的键操作。4.7电源设计模块可靠的电源方案是整个硬件电路稳定可靠运行的基础。电源模块由两个相互独立的稳压电路模块组成。这样做可以减少各模块之间的相互干扰,减小电源噪声。STC89C51单片机和LCD1602均为5v电源,,而红外测温系统的红外测温模块和无线收发模块的共电电压都可为3.3V,所以在电源设计中,将外部输入电压分别转换成5V和3.3V电压,以保障整个红外测温系统的正常运行。由于是无线传输,故需要两块电源,用于异地供电。经过考虑和测试,本系统的5V采用78L05稳压芯片得到,而3.3V这用LM2576-3.3稳压芯片得到。图4.7电源电路原理图在图4.7LM2576电路中,电感DW2的选择要根据LM2576的输出电压、最大输入电压、最大负载电流等参数选择,首先,依据如下公式计算出电压.微秒常数(E.T):E.T=(Vin-Vout)×Vout/Vin×1000/f(4-1)上式中,Vin是LM2576的最大输入电压、Vout是LM2576的输出电压、LM2576的工作振荡频率值(52kHz)。E.T确定之后,根据负载电流曲线来查找所需的电感值。专业技术资料 word资料下载可编辑输入电容C2一般应大于或等于100μF,安装时要求尽量靠近LM2576的输入引脚,其耐压值应与最大输入电压值相匹配。输出电容C的公式(单位μF):C≥13300Vin/Vout×L(4-2)上式中,Vin是LM2576的最大输入电压、Vout是LM2576的输出电压、L是经计算并查表选出的电感L1的值,其单位是μH。电容C铁耐压值应大于额定输出电压的1.5~2倍。对于3.3V电压输出而言,我使用耐压值为100uF的电容器。稳压二极管D的额定电流值应大于最大负载电流的1.2倍,考虑到负载短路的情况,二极管的额定电流值应大于LM2576的最大电流限制。二极管的反向电压应大于最大输入电压的1.25倍。本设计使用1N582x系列的肖特基二极管。专业技术资料 word资料下载可编辑5红外测温系统的软件设计本红外测温系统的软件设计采用模块化的设计思想,这样就把一个复杂的软件设计分成几个相对简单的部分分别予以解决。因为本论文完成的功能是测温及上位机的数据处理,所以对温度数据接收及上位机设计做了较详细叙述,而对其它各模块做了相应简要的介绍。5.1主程序的设计本设计中,由于使用了无线收发模块,故需要了两个单片机处理器。5.1.1主控制器的主程序模块在主控制器方面如图5.1所示,当红外测温系统接通电源时,STC89C51单片机自动复位,开始运行自己的主程序。该程序首先对STC89C51初始化、液晶初始化、无线收发初始化。然后给出开机显示,接着判断是否有键输入,若没有键输入,则继续判断;若有键输入,第一个按键为目标温度测量,第二个按键为环境温度测量,第三个按键为数据的无线发送;若是进行红外测温,则接收数据,并将计算的温度值显示出来,并通过计算是否符合声光报警条件,然后通过第三个按键决定是否要将温度值进行无线传输到上位机处理;然后重新循环判断。各种初始化扫描键盘是否有键按下测量目标温度测量环境温度数据无线传输显示温度是否达到上限声光报警显示温度开始Key1Key2Key3NNY图5.1主控制器的主程序路程图专业技术资料 word资料下载可编辑部分程序如下描述:CpuInit();POWER_UP_RESET_CC1100();halRfWriteRfSettings();halSpiWriteBurstReg(CCxxx0_PATABLE,PaTabel,8);while(1){if(key1())TN_ReadData(0x4c);elseif(key2())TN_ReadData(0x66);elseif(key3())halRfSendPacket(Temperature,7);if((ReadData[0]==0x4c)&&(ReadData[4]==0x0d))TN_switch();elseif((ReadData[0]==0x66)&&(ReadData[4]==0x0d))TN_switch();if(key3())halRfSendPacket(Temperature,7);}主控制器的主程序执行步骤说明:(1)CpuInit()函数为无线收发模块的SPI初始化程序;(2)POWER_UP_RESET_CC1100()函数完成对无线收发模块的上电复位操作;(3)halRfWriteRfSettings()函数完成对无线模块内部寄存器的配置工作;(4)halSpiWriteBurstReg()函数完成对无线模块SPI连续写寄存器的配置并对它进行校验,以确保数据发送的准确性;(5)在循环体里面,通过key1()、key2()、key3()三个键盘函数的不断查询,通过不同的权值决定系统要完成什么功能,或者测温显示和报警,或者进行无线发送数据。5.1.2从控制器的主程序模块在从控制器方面如图5.2所示,STC89C51单片机自动复位,开始运行自己的主程序。该程序首先对STC89C51初始化、无线模块初始化和组态王通信初始化;当无线收发模块接收到新的数据时,从控制器把数据传到组态王上处理。开始各种初始化无线接收温度数据数据传输到组态王图5.2从控制器的主程序流程图专业技术资料 word资料下载可编辑部分程序如下描述:CpuInit();POWER_UP_RESET_CC1100();halRfWriteRfSettings();halSpiWriteBurstReg(CCxxx0_PATABLE,PaTabel,8);T_init();while(1){if(halRfReceivePacket(RxBuf,&leng));Send_Process();}从控制器的主程序执行步骤说明:(1)完成对无线模块的各种配置;(2)T_init()函数是完成对从控制器的串口中断、定时器中断的配置,并对单片机与组态王通信的速率做了定义,使其在波特率为9600的环境下进行数据的通信;(3)在循环体里,halRfReceivePacket()函数是主控制器通过无线收发模块发给从控制器的数据,Send_Process()函数为从控制器得到数据后传给组态王,以便做数据的后台操作。5.2TN_9红外测温程序模块开始定义数组存放测温数据开启测温读取数据计算温度值返回Item为0x4c或0x66且CR为0x0dNY图5.3TN_9程序流程图专业技术资料 word资料下载可编辑图5.3中,红外测温模块的数据输出信号和脉冲信号分别接单片机P2.4,P2.5口,测温控制端接P2.3口。它的程序流程图如上图所示,此模块首先定义一个字符型数组用于存放读取到的一帧数据,然后启动测温,读取数据,数据是在脉冲的下降沿一位一位传送的。把五个字节数据都读完后判断第一个字节是否为0x4c或0x66并且第五个字节为0x0d,若是则计算温度值则存入,否则继续读取数据。连续5次测量数据是为了能得到更准确温度,在温度计算里面,对读得的5个温度值求和然后平均,得到的便是人体温度,然后送入单片机进行处理。部分程序如下描述:floatTempf[6]={0.00};for(i=0;i<5;i++){Temp=(ReadData[1]<<8)|ReadData[2];Tempf[i]=(float)Temp/16.00-273.15;Tempf[5]+=Tempf[i];}Tempf[5]=Tempf[5]/5.00;Temp=Tempf[5]*100.00/0.85;return(Temp);TN_9测温程序执行步骤说明:(1)定义Tempf[6]浮点型数组,用于暂时储存5个初始温度值和一个平均值;(2)TN_9模块一次温度的读取包括5个字符型数据,Item为判断是环境温度还是目标温度,MSB和LSB为接收温度的高、低八位数据,Sum为验证码,CR表示完成一次温度数据接收;(3)在for循环体里,最对数据的高、低八位进行处理,对所得到的5个温度值进行再和再平均的算法设计,然后返回主函数,等待下一次的测量。此外,在此红外测温系统的软件设计中,温度值的计算也是一个非常重要的部分,它关系到整个产品的设计精度,因此把它的温度数据读取与计算用单独的程序给出,其流程图如下图所示。因为红外测温模块的数据是一位一位地送入单片机的,所以用双重循环,内循环接收一个字节的数据,外循环接收五个字节的数据。如图5.4所示。专业技术资料 word资料下载可编辑开始判断P2.3是否为0接收一位数据存放在数组中,变量加1变量等于7?变量清0,接收下一字节的数据NNYY图5.4读测量数据流程图部分程序如下描述:BitBitState=0;for(k=0;k<7;k++){for(j=0;j<5;j++){for(i=0;i<8;i++){while(TN_Clk);BitState=TN_Data;ReadData[j]=ReadData[j]<<1;ReadData[j]=ReadData[j]|BitState;while(!TN_Clk);}if(ReadData[0]==Flag)k=8;}TN_ACK=1;}读测温数据程序执行步骤说明:(1)BitState是一个位定义,表示TN_9每得到一位数据,便先存储在它里面;(2)在三个嵌入循环体里,第一个for循环表示每次发七帧数据,为的是保证数据的正确性,第二个for循环表示每次读5个字节的数据,刚好为一次测温的数据;(3)第三个for循环表示,当单片机检测到测温信号开始后读一位数据,数据先存入BitState里,然后再存入字符数组ReadData中,经过移位处理保证数据存储顺序的正确性,然后检测第一位数据的传送完成,如此循环八次便得到一个字节的数据。专业技术资料 word资料下载可编辑5.3无线收发CC1100E程序模块无线收发数据在微机系统中经常出现,它的优势在于以一定的范围内,可以随时随地搭建网络,不受限于硬件的局限性,而CC1100E是一款Sub-GHz高性能射频收发器,非常适合用于这方面,在200米的范围内,非常有利于传输数据。5.3.1无线发送程序开始返回发送清洗缓冲区命令写入地址和配置写入要发送的数据进入发送模式发送数据等待GDO0置1等待GDO0清0NNYY图5.5无线发送程序流程图图5.5中,无线发送部分程序如下描述:voidhalRfSendPacket(uchar*txBuffer,ucharsize){halSpiWriteReg(CCxxx0_TXFIFO,size);halSpiWriteBurstReg(CCxxx0_TXFIFO,txBuffer,size);halSpiStrobe(CCxxx0_STX);while(!GDO0);while(GDO0);halSpiStrobe(CCxxx0_SFTX);}专业技术资料 word资料下载可编辑无线发送程序执行步骤说明:(1)halSpiWriteReg()函数为配置SPI写寄存器的地址和配置,通过单片机控制CSN引脚为低电平,等待MISO输出低电平后,开始写入地址并配置成为相应的模式。(2)halSpiWriteBurstReg()函数为SPI连续写配置寄存器,通过写入地址、数据缓冲区、和数据个数,其中数据缓冲区为一个指针数组,等待发送模式。(3)halSpiStrobe()为SPI写命令函数,通过写入STX配置发送模式后开始发送数据,通过检测无线发送模块的GDO0引脚的高低脉冲来判断数据是否发送完成,当检测到GDO0引脚先来一个高脉冲,然后等待它再来一个低脉冲后,发送完成标志,至此,一次数据的发送就完成了。5.3.2无线接收程序开始读第一字节数据读CRC校验位接收数据成功并保存数据返回修改数据长度等待接收命令判断是否有数据要接受判断数据长度是否符合要求发送清洗缓冲区命令NNNYYY图5.6无线接收程序流程图专业技术资料 word资料下载可编辑图5.6中,无线接收部分程序如下描述:halSpiStrobe(CCxxx0_SRX);while(GDO0);if((halSpiReadStatus(CCxxx0_RXBYTES)&BYTES_IN_RXFIFO)){packetLength=halSpiReadReg(CCxxx0_RXFIFO);if(packetLength<=*length){halSpiReadBurstReg(CCxxx0_RXFIFO,rxBuffer,packetLength);*length=packetLength;halSpiReadBurstReg(CCxxx0_RXFIFO,status,2);halSpiStrobe(CCxxx0_SFRX);return(status[1]&CRC_OK);}elsehalSpiStrobe(CCxxx0_SFRX);elsehalSpiStrobe(CCxxx0_SFRX);无线接收程序执行步骤说明:(1)halSpiStrobe()为SPI写命令函数,SRX为无线模块进入接收状态标志,表示无线模块进入接收区;(2)等待GDO0引脚变为低电平,当GDO0变为低电平后开始接收数据,halSpiReadStatus()为判断该数据的字节数是否为0,若为零,则直接清除接收缓冲区并结束接收状态;(3)若不为零,halSpiReadBurstReg()为读出第一个字节,此字节为该帧数据长度,如果所要的有效数据长度小于等于接收到的数据包的长度,通过指针的改变读出所有接收到的数据,并把接收数据长度的修改为当前数据的长度。若为零,则直接清除接收缓冲区并结束接收状态;(4)读出CRC校验位后清洗接收缓冲区并返回主程序。5.4键盘扫描程序模块由于系统采用由机械触点构成的独立式按键,它存在按键开关的抖动问题,这种抖动的暂态过程大约经过5~10ms的时间,人的肉眼是觉察不到的,但对高速的CPU来说,这个抖动容易影响到单片机对按键的正确判断。如图5.7所示。图5.7按键抖动示意图专业技术资料 word资料下载可编辑为使单片机能够正确地读出键盘的状态,对每一次按键只作一次响应,必须采取措施以消除抖动。本设计采用软件方法消除抖动,它通过延时来躲过暂态抖动过程,执行一段10ms的延时程序后,再读取稳定的键状态。在没有键按下时P2.0口是高电平,在单片机获得P2.0口为低电平的信息后,不立即认定键盘已被按下,执行10毫秒延时函数后再次检测P2.0口,如果仍为低,说明键盘被按下了。这就消除了按键按下时前沿的抖动对单片机正确判断按键造成的影响。如图5.8所示。开始延时10ms判断是否有键按下判断是否有键按下扫描键盘,获得键值根据取得的键值处理相应的子程序返回NNYY图5.8键盘程序流程图键盘扫描部分程序如下描述:intkey1(){if(key_1==0){KEY_delay();if(key_1==0)KEY_delay();if(key_1==0)return(1);}elsereturn(0);}专业技术资料 word资料下载可编辑键盘扫描程序执行步骤说明:(1)本系统设计了三个按键,一个为测量目标温度,一个为测量环境温度,还有一个作为无线发送数据的标志。(2)key_1==0表示当第一个键按下时,延时一小段时间,即为KEY_delay(),为的是消除抖动,再判断一次key_1,当还是检测为0时,为了保证避免抖动期,在延时一小段时间,再判断一次key_1,当还检测到0时,键盘函数返回1,并把返回值送入主函数进行相应的处理。5.5组态王与单片机通信程序模块组态王与单片机的通信是通过RS232电平转换模块来实现的,在从单片机控制器设置串口的相关寄存器、定时器、相关中断,得到波特率9600bps,并定义相关地址等功能。如图5.9所示。开始清TI是否有新的数据清RI数据接收查询RI为1数据发送判断发送完毕判断接收完毕NNNNYYYY图5.9组态王与单片机通信流程图专业技术资料 word资料下载可编辑串口部分程序如下描述:voidUart()interrupt4using1//串口中断{if(RI){RI=0;m=SBUF;if(last==ENQ&&(m==MyAddr||m=='R'||m=='W')){Rbuf[Rptr]=m;Rptr++;}if(last==EOT)RecvOk=1;else{……}串口通信程序执行步骤说明:(1)不断地检查RI是否置位,若置位,则开始执行接收指令,否则执行发送指令;(2)不管执行发送指令还是接收指令,都要对其标志位清零,然后判断接收的或者发送的数据是否符合要求,若符合要求,则将数据存储起来并置位标志位;反之则结束本次数据的发送或者接收。5.6组态王应用设计(1)设计要求能够形象直观的显示当前的温度,历史温度。并且当检测到温度超过事先规定好的温度范围,则进行声光报警,报警温度可以随意调节。(2)设计思路由于需要检测当前温度和记录历史温度,决定设计四个画面分别用于显示当前的温度和历史温度。为了达到形象直观的目的,当前温度使用仪表和实时曲线同时显示,历史温度使用历史曲线的方式显示。当温度超出规定的范围,使用声光报警。使用了组态王智能模块中的单片机HEX,通信模式选择串口1,8位数据位,一位停止位,无校验,9600波特率。(3)具体实现①实时温度检测部分如图5.10所示。图5.10实时温度界面专业技术资料 word资料下载可编辑采用了组态王图库中的仪表来作为当前温度显示,该仪表的参数设置如下:目标温度变量名:\本站点df0环境温度变量名:\本站点df1仪表表盘:温度显示仪仪表量程:0-100,主刻度数:11副刻度数:9同时使用了实时曲线显示当前温度,如图5.11所示。图5.11实时趋势曲线图表达式1:\本站点df0表达式2:\本站点df1曲线选择:1号曲线X方向:主分线:3次分线:2Y方向:主分线:4次分线:1标识X轴:时间轴标识Y轴:数值轴(百分比)数值轴:标识数:11起始值:0最大值:100时间轴:标识数:3格式:xx分xx秒更新频率:1秒时间长度:20秒专业技术资料 word资料下载可编辑①历史温度报表部分如图5.12所示。图5.13报表界面图采用了组态王报表来显示和记录温度。具体设置如下:表达式1:\本站点df0表达式2:\本站点df1曲线选择:1号曲线X方向:主分线:3次分线:2Y方向:主分线:3次分线:2标识X轴:时间轴标识Y轴:数值轴(百分比)数值轴:标识数:11起始值:0最大值:100时间轴:标识数:3格式:xx时xx分时间长度:一小时②温度报警设置使用了文字提示、指示灯指示、声音报警三种方式。其中文字提示使用了中英文分别显示,指示灯设置为报警时将变为红色并且闪烁,当温度超出范围时将会发出设定好的报警声音(这个声音可以随意改变)。在历史记录中设计了报警记录,可以将报警的事件、时间、报警值和恢复值记录下来,以便查阅。专业技术资料 word资料下载可编辑(4)设计特点在各个画面里均设置了各种功能的按钮,可以完成各个画面之间的切换,在任何一个画面里均可以正常退出系统,各个画面中均显示当前时间。(5)调试过程①实时温度检测部分开始首先使用了组态王中的仪表控件显示接收到单片机传送过来的一个常数100,没有正确显示。怀疑是协议设置错误,将组态王串口1的通信的偶校验模式改为无校验后,仪表正确显示100调试成功。说明组态王的仪表控件工作正常并且组态王和单片机的通信协议正确无误。又加入了组态王的实时趋势曲线控件,显示接收到的常数发现正常,说明实时趋势曲线控件工作正常。在画面的右上角加入了时钟控件,发现时钟显示和计算机同步,工作正常。②历史趋势曲线部分使用组态王的历史趋势曲线控件将接收到的数据进行显示和记录,运行后观察结果正常。历史趋势曲线控件工作正常。③报警部分设置好报警条件,运行组态王并使温度超过温度上限。发现灯光闪烁和文字提示正常,但是没有报警声音。查阅组态王的命令语言手册发现所给出的例子中使用的声音文件是.WAV格式的,将声音文件由.MP3格式改为.WAV格式后,声音报警正常。④按钮部分设置了三个按钮来完成,画面的切换和系统的退出。运行组态王并测试按钮发现能够成功的切换画面并能成功的退出系统。按钮功能正常,调试结束。①整体调试连好硬件和烧录好单片机程序后进行整体调试,发现系统工作正常能够及时正确的进行温度的显示和记录。在温度超出范围时能够及时的进行声光报警。专业技术资料 word资料下载可编辑6系统调试和性能分析6.1所用仪器示波器,数字万用表,编程器,电烙铁,剪刀,剥线钳,镊子,吸锡器等。6.2焊接与调试过程虽然Protel99SE功能强大,人机界面友好,但在设计过程中往往遇到一些问题,在画原理图连线时,应尽量做到:(1)在元件端点处连线;(2)元器件连线尽量一线连通,少出现直接将其端点对接上的方法来实现。焊接实物板方面,焊接是电气设备制造中最为关键的一道工序,焊接质量的好坏直接影响到设备正常运转的质量。以下总结出几点小经验:(1)选用合适的焊锡,应选用焊接电子元件用的低熔点焊锡丝。(2)电烙铁使用前要上锡,具体方法是:将电烙铁烧热,待刚刚能熔化焊锡时,涂上助焊剂,再用焊锡均匀地涂在烙铁头上,使烙铁头均匀的吃上一层锡。(3)接方法,把焊盘和元件的引脚用细砂纸打磨干净,涂上助焊剂。用烙铁头沾取适量焊锡,接触焊点,待焊点上的焊锡全部熔化并浸没元件引线头后,电烙铁头沿着元器件的引脚轻轻往上一提离开焊点。(4)焊接时间不宜过长,否则容易烫坏元件,必要时可用镊子夹住管脚帮助散热。(5)首先在万用板上布线,在布线时要注意应尽可能减少噪声。调试系统板方面:(1)电路开始不工作,检查后发现有虚焊点,补焊后正常。(2)开机后液晶显示无法正常显示。导致此问题的原因是:由于程序刚开始的时候不太成熟,而且整个电路板应该尽量减少跳线。重新整理后显示正常。(3)液晶显示乱码,检查是程序出了问题,改正后,显示依然乱码。之后用104电容滤除点偏激芯片引脚之间的干扰波,并把该电容焊接到这两个脚上。之后显示正常。(4)刚开始时无法测出温度,然后经过多方面的看书和请教老师同学,发现原来是对红外模组的时序理解错了,最后改正过来。(5)在组态王通信方面,由于通信协议和地址的不彻底了解,最后从新开始看书解决。6.3测温系统的误差分析由于红外测系统是非接触性的测量,同样也会存在着各种误差。测温范围越窄,精度就越高,测温范围过宽,会降低精度,尤其在低端测温,影响红外测温的因素如下:(1)辐射率,辐射率是描述一个物体相对于黑体辐射能力大小的物理量,红外测温系统从物体上接收到的辐射能量大小与该物体的辐射率成正比,不同物质的辐射率是不同的。(2)距离,测温系统到目标的距离对精确度有很大的影响。(3)传感器本身也会对测温结果造成影响。专业技术资料 word资料下载可编辑6.4系统性能分析经过反复的调试,本测温系统取得了很好的效果,如表6.1所示。表6.1接触式和非接触式的温度比较表接触式目标温度/°C36.5036.8537.0737.3036.80环境温度/°C12.5018.8018.8111.0511.05非接触式目标温度/°C36.8236.7237.4537.0237.06环境温度/°C12.4319.3218.5111.1111.13(1)能够较精确的完成测温功能,在固定了传感器与被测人体的距离后,温度分辨力达到0.01°C,误差实现0.5°C以内;(2)能够完成无线传输的功能,本系统设计的无线传输距离能够达到500--800米的距离,这样就可以形成了一个无线局域网,可以在这个范围内任意搭建网络,比较适用于医院、学校、工厂这些场所;(3)能够实现组态王对数据的收集,储存,曲线报表或者柱形图的显示,不同的显示方式对不同的场合有各自的特点,最重要的是,组态王能够通过无线模块对局域网内的各个被测物的实时观测功能,这个作用比较适合用于医院里隔离病房,既能够节省人力,又能第一时间得到病人的体温数据,以便尽快的作出决策。6.5如何减小误差(1)在体温测量前,需先打开测温系统一段时间,让其适应周围的环境,根究调试经验,如果一开始就通电测量体温,会造成很大的误差,主要是本测温系统也会辐射红外线,刚开始时也会有一些发热,所以影响测温结果。(2)拟合测温曲线,由于超出一定距离后,距测温目标越远,辐射越弱,故需拟合测温曲线以补偿。专业技术资料 word资料下载可编辑7结论本设计系统实现了红外的温度监测系统,他主要实现了对环境温度和目标温度的较精确测量,如果目标温度达到温度的上限值则会声光报警,通过按键确定发送无线数据传输到组态Kingview进行数据接收、数据显示、数据存储、数据查询、生成曲线报表等多项功能。本设计基本上达到了任务书上的要求,而且温度值分辨力达到0.01℃,比任务书要求的还要高,精度在0.5°C以内。本课题的主要创新工作是把体温的测量方式变为非接触式,而且是以吸收人体的红外辐射为依据的,所以不对人体造成任何的伤害,并且所需测量时间少;通过无线传输把体温值传到上位机处理,作为一个模型,能够模拟整个医院病房的智能监测,有比较高的实用意义。受限于硬件的原因,本设计的测温方面还有很多不足,不能够在一定范围内移动测量,只能够把红外传感器固定,人与传感器的距离固定,才能够测出较准确的数据。这会在后面的学习中慢慢的改进。专业技术资料 word资料下载可编辑谢辞通过本次毕业设计,我的理论知识和实践得到了很大的提高,解并学习了时下应用非常广泛的工业控制组态软件,练习了单片机和PC通信以及各种模块的应用,这对我以后的学习工作都有很大的帮助。最后,衷心感谢陈雷老师和赵学军老师一直以来对我的支持和帮助,在我出现的新困难里提出自己的见解和积极的解决办法,从而让我顺利的完成本次毕业设计。专业技术资料 word资料下载可编辑参考文献[1]王汝琳.红外检测技术[M].北京:化学工业出版社,2006[2]吴金戌.8051单片机实践与应用[M].北京:清华大学出版社,2006[3]丁镇生.传感及其遥控遥测技术应用[M].电子工业出版社.2002.5.[4]马忠梅,籍顺心,张凯,马岩.单片机的C语言应用程序设计[M].北京:北京航空航天大学出版社,2003[5]何道清.传感器与传感器技术[M].北京:科学出版社,2004.[6]高鹏.电路设计与制板Protel99入门与提高[M].北京:人民邮电出版社.2001.[7]戴义保.高精密温度测量的研究与实现[J].上海:自动化仪表第2003,24(3):24-27[8]谢光忠、蒋亚东.温湿度智能数据采集控制系统的研制[J].哈尔滨:传感器技术2000,19(4),29-33[9]DonaldA.NeamenElectroniccircuitanalysisanddesign[M].TsinghuaUniversityPressandSpringerVerlag.2002.[10]Mark1.Montrose.PRINTEDCircuitBoardDesignTechniquesforEMCcompliance[J].IEEPressseries.2000.专业技术资料 word资料下载可编辑附录1.系统整体实物图:发送部分接收部分组态Kingview主界面专业技术资料 word资料下载可编辑2.源程序清单:#include#include#include"LCD1602.h"#include"TN_9.h"#include"KEY.h"#include"CC1100.h"ucharPaTabel[8]={0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60};ucharTemperature[]={'0','0','.','0','0','C',''};ucharname[]={"ThisisaTN_9"};ucharflaggt[]={"Temp:"};intBuffer2;voidTN_switch(){Buffer2=TN_GetData();Temperature[0]=Buffer2/1000+48;Temperature[1]=Buffer2%1000/100+48;Temperature[3]=Buffer2%100/10+48;Temperature[4]=Buffer2%10+48;write_strings(1,6,&Temperature);}voidmain(){init();TN_ACK=1;write_strings(0,0,&name);write_strings(1,0,&flaggt);write_strings(1,6,&Temperature);CpuInit();POWER_UP_RESET_CC1100();halRfWriteRfSettings();halSpiWriteBurstReg(CCxxx0_PATABLE,PaTabel,8);while(1){if(key1()){TN_ACK=0;TN_ReadData(0x4c);//目标温度的第一个字节为0x4c}elseif(key2()){专业技术资料 word资料下载可编辑TN_ACK=0;TN_ReadData(0x66);//环境温度的第一个字节为0x66}if((ReadData[0]==0x4c)&&(ReadData[4]==0x0d))//一个字节为0x0d{TN_switch();}elseif((ReadData[0]==0x66)&&(ReadData[4]==0x0d))//最后为0x0d{TN_switch();}if(key3()){halRfSendPacket(Temperature,7);}}}/*//////////////////////LCD_1602///////////////////////////////1602显示部分////////////////////////////////////////////////////////////*/sbiten=P2^7;sbitrs=P2^6;voidLCD1602_delay(xms){uinti,j;for(i=xms;i>0;i--)for(j=110;j>0;j--);}voidwrite_dat(uchardat)//写数据子函数date(){rs=1;LCD1602_delay(10);P0=dat;LCD1602_delay(10);en=1;LCD1602_delay(10);en=0;LCD1602_delay(10);}voidwrite_com(ucharcom)//写命令自函数com(){专业技术资料 word资料下载可编辑rs=0;LCD1602_delay(10);P0=com;LCD1602_delay(10);en=1;LCD1602_delay(10);en=0;LCD1602_delay(10);}voidinit(){en=0;write_com(0x38);//显示设置write_com(0x0c);//显示开关write_com(0x06);//屏幕不移动write_com(0x01);//清屏}voidwrite_strings(ucharflag,ucharaddr,uchar*p){if(flag==0){write_com(0x80+addr);while(*p!=''){write_dat(*p);p++;}}if(flag==1){write_com(0x80+0x40+addr);while(*p!=''){write_dat(*p);p++;}}}专业技术资料 word资料下载可编辑/*//////////////////////CC1100E///////////////////////////////无线收发部分////////////////////////////////////////////////////////////*/voidhalRfSendPacket(uchar*txBuffer,ucharsize){halSpiWriteReg(CCxxx0_TXFIFO,size);halSpiWriteBurstReg(CCxxx0_TXFIFO,txBuffer,size);//写入要发送的数据halSpiStrobe(CCxxx0_STX);//进入发送模式发送数据while(!GDO0);while(GDO0);halSpiStrobe(CCxxx0_SFTX);}voidsetRxMode(void){halSpiStrobe(CCxxx0_SRX);//进入接收状态}ucharhalRfReceivePacket(uchar*rxBuffer,uchar*length){ucharstatus[2];ucharpacketLength;uchari=(*length)*4;//具体多少要根据datarate和length来决定halSpiStrobe(CCxxx0_SRX);//进入接收状态delay(2);while(GDO0){delay(2);--i;if(i<1)return0;}if((halSpiReadStatus(CCxxx0_RXBYTES)&BYTES_IN_RXFIFO)){packetLength=halSpiReadReg(CCxxx0_RXFIFO);//节为该帧数据长度if(packetLength<=*length)//接收到的数据包的长度{halSpiReadBurstReg(CCxxx0_RXFIFO,rxBuffer,packetLength);*length=packetLength;//修改为当前数据的长度halSpiReadBurstReg(CCxxx0_RXFIFO,status,2);//读出CRC校验位halSpiStrobe(CCxxx0_SFRX);//清洗接收缓冲区return(status[1]&CRC_OK);//如果校验成功返回接收成功}else专业技术资料 word资料下载可编辑{*length=packetLength;halSpiStrobe(CCxxx0_SFRX);//清洗接收缓冲区return0;}}elsereturn0;}/*******************红外测温***********************/#ifndef_TN_9_H_#define_TN_9_H_#defineuintunsignedint#defineucharunsignedcharsbitTN_Data=P2^5;sbitTN_Clk=P2^4;sbitTN_ACK=P2^3;ucharReadData[5];voidTN_ReadData(ucharFlag){uchari,j,k;bitBitState=0;for(k=0;k<7;k++)//每次发七帧{for(j=0;j<5;j++)//每帧五个字节{for(i=0;i<8;i++){while(TN_Clk);BitState=TN_Data;ReadData[j]=ReadData[j]<<1;ReadData[j]=ReadData[j]|BitState;while(!TN_Clk);}}if(ReadData[0]==Flag)k=8;}TN_ACK=1;}专业技术资料 word资料下载可编辑intTN_GetData(){intTemp,i;floatTempf[6]={0.00};for(i=0;i<5;i++){Temp=(ReadData[1]<<8)|ReadData[2];Tempf[i]=(float)Temp/16.00-273.15;Tempf[5]+=Tempf[i];}Tempf[5]=Tempf[5]/5.00;Temp=Tempf[5]*100.00;return(Temp);}#endif专业技术资料

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
大家都在看
近期热门
关闭