SRP基于单片机的红外测温仪设计说明_第1页
SRP基于单片机的红外测温仪设计说明_第2页
SRP基于单片机的红外测温仪设计说明_第3页
SRP基于单片机的红外测温仪设计说明_第4页
SRP基于单片机的红外测温仪设计说明_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、编号:SRP2012095石河子大学大学生研究训练计划项目项目名称:基于单片机的红外测温仪设计学生:学 院:信息科学与技术学院专业年级:电子信息工程2010级指导教师:完成日期:毕业设计(论文)原创性声明和使用授权说明原创性声明本人重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作与取得的成果。尽我所知,除文中特别加以标注和致的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得与其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了意。作 者 签 名: 日 期:指导教师签名: 日期:使用授

2、权说明本人完全了解工学院关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部容。作者签名: 日 期:基于单片机的红外测温仪设计摘要 体温计是人们日常生活中的必备品,但是传统的水银体温计测温时间长,读数不方便,而且水银有毒。本项目是基于传统体温计的这些缺点,设计的一种新型的电子红外测温仪,它在测量精度与传统的水银温度计相媲美的情况下,大大缩短了测温时间,携带方便,对环境几乎

3、无污染。本设计以单片机为核心,应用红外传感器TN901采集温度,并通过SPI接口和单片机通信,由STC89C52RC单片机来实现温度值的计算、转换和送入数码管显示,同时还加入了超温报警功能,实现了智能化体温测量,使设计具有实用价值。关键词单片机,红外测温,TN901,SPI目录第一章引言11.1项目的研究背景与意义11.2国外发展状况11.3项目研究的主要容2第二章红外测温的工作原理2第三章系统元器件特征分析43.1单片机43.1.1单片机的结构特点43.1.2单片机的引脚配置53.2红外传感器TN90163.2.1红外测温传感器引脚73.2.2红外测温模块的工作时序73.2.3红外测温模块温

4、度值计算83.2.4红外测温传感器的视场8第四章系统主要设计与思路分析94.1红外传感器与单片机通信94.2单片机送数据到数码管104.3数码管显示方式114.4复位电路124.5晶振电路134.6蜂鸣器电路134.7电源设计14第五章系统测试与误差分析145.1系统测试145.2误差分析155.2.1环境因素155.2.2目标尺寸15第六章总结17参考文献18致19附录A 硬件201.系统整体硬件原理图202.系统整体硬件实物图21附录B 软件221.说明222.流程图233.代码2329 / 33第一章 引言1.1 项目的研究背景与意义随着中国工农业、国防事业、医学的发展,对温度测量越来越

5、迫切。在某些场合,温度测量逐步上升为主要矛盾,引起了各方面的关注。例如在医学领域,为了了解病人的身体状况,需对病人身体各个部分的温度进行测量;在不停机的情况下对机械设备、电力设备、生产设备等进行温度测量;在不能造成产品污染或损坏的情况下对生产过程或仓库里的产品进行温度测量。而红外测温响应快、测量精度高、可靠性高、围广,为非接触测量,因而不易损坏,打破了传统的测温模式。它以准确快捷的测量功能、清晰易懂的数字化显示方便人们日常生活使用。本设计单片机模块采用的是最常见的STC89C52RC单片机,红外探测器采用的是凌阳公司的TN901。实现了便携式红外测温仪,具有反应时间短、非接触、不干扰被测场、读

6、数方便、使用寿命长、操作方便等优点,可广泛应用于医院、机场、海关、车站等人口密集地区的体温测量。1.2 国外发展状况1989年,T·Shinozaki等应用热电堆探测器制成的耳道式红外测温仪,已成功的应用于体温测量;1991年以后该产品已遍与欧美。我国在这方面的起步较晚,2003年,由于中科院物理研究所王树铎教授研制的“非接触、口腔式红外电子体温计”才获得专利授权。但不适合在公共场合对大流量人群的快速检测,且其远距离测温容易受外界环境温度影响。近几年来中国的红外产品市场发展较快而又平稳,少数国外公司的市场占有率提高得很快,已经在中国市场上占据相当的优势,这种市场发展趋势,必将对中国的

7、红外技术和产业的发展起到积极的推动作用,必将激励和加快具有完全中国自主知识产权的红外技术产品问世,也必将带来更广阔的红外产品应用市场。因此,红外测温仪的应用也必然越来越广泛,具有广阔的市场前景和经济效益。1.3 项目研究的主要容项目研究的主要容有:1. SPI数据传输,实现红外传感器TN901与单片机的通信。2. MCU程序编写,实现数码管实时显示系统测量得到的温度值。3. 硬件电路制作和焊接,系统整体性能测试以与误差分析。第二章 红外测温的工作原理一切温度高于绝对零度(-27315)的物体都在不停地向周围空间发出红外辐射能量。物体向外辐射的红外能量大小与其按波长的分布与它的表面温度有着十分密

8、切的关系。因此,通过对物体自身辐射的红外能量的测量,便能准确地测定它的表面温度,这就是红外辐射测温所依据的客观基础。黑体辐射定律:黑体是一种理想化的辐射体,它吸收所有波长的辐射能量,没有能量的反射和透过,其表面的发射率为1。应该指出,自然界中并不存在真正的黑体,但是为了弄清和获得红外辐射分布规律,在理论研究中必须选择合适的模型,这就是普朗克提出的体腔辐射的量子化振子模型,从而导出了普朗克黑体辐射的定律,即以波长表示的黑体光谱辐射度,这是一切红外辐射理论的出发点,故称黑体辐射定律。由于黑体的光谱辐射功率Pb()与绝对温度 之间满足普朗克定理: (1)其中,Pb()黑体的辐射出射度;波长;T绝对温

9、度;c1、c2辐射常数。式(1)说明在绝对温度下,波长处单位面积上黑体的辐射功率为Pb()。根据这个关系可以得到下图的关系曲线:黑体辐射的光谱分析从图中可以看出:(1) 随着温度的升高,物体的辐射能量越强。这是红外辐射理论的出发点,也是单波段红外测温仪的设计依据。(2) 随着温度升高,辐射峰值向短波方向移动(向左),并满足维恩位移定理T *m = 2897.8 m*K,峰值处的波长m与绝对温度 成反比,虚线为m 处峰值连线。这个公式告诉我们为什么高温测温仪多工作在短波处,低温测温仪多工作在长波处。(3) 辐射能量随温度的变化率,短波处比长波处大,即短波处工作的测温仪相对信噪比高(灵敏度高),抗

10、干扰性强,测温仪应尽量选择工作在峰值波长处,特别是低温小目标的情况下,这一点显得尤为重要。根据斯特藩玻耳兹曼定理黑体的辐出度 Pb()与温度 的四次方成正比,即: (2)式中,Pb(T)温度为T 时,单位时间从黑体单位面积上辐射出的总辐射能,称为总辐射度;斯特藩玻耳兹曼常量;T物体温度。式(2)中黑体的热辐射定律正是红外测温技术的理论基础。如果在条件一样情况下,物体在同一波长围辐射的功率总是小于黑体的功率,即物体的单色辐出度 Pb()小于黑体的单色黑度(),即实际物体接近黑体的程度。()= P(T)/ Pb(T)(3)考虑到物体的单色黑度()是不随波长变化的常数,即 ()=,称此物体为灰体。它

11、是随不同物质而值不同,即使是同一种物质因其结构不同值也不同,只有黑体=1,而一般灰体0<<1,由式(2)可得:所测物体的温度为: (4)式(4)正是物体的热辐射测温的数学描述。红外温度仪表测温围很宽,从一5O直至高于3000。在不同的温度围,对象发出的电磁波能量的波长分布不同,在常温(0-100)围,能量主要集中在中红外和远红外波长。本设计选用的红外传感器是TN901,测温围为一33 +220。第三章 系统元器件特征分析3.1 单片机3.1.1 单片机的结构特点STC89C52RC是一款低功耗、高性能CMOS8位微处理器,具有8K在系统可编程FLASH存储器。使用高密度非易失性存储

12、器技术制造,与工业80C51产品指令和引脚完全兼容。片上FLASH允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程FLASH,使得STC89C52RC为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。STC89C52RC可以通过STC_ISP软件下载进行烧录。3.1.2 单片机的引脚配置STC89C52RC引脚配置图STC89C52RC单片机采用40引脚双列直插封装(DIP)形式。对于CHMOS单片机除采用DIP形式外,还采用方形封装工艺。由于受到引脚数目的限制,所以有部分引脚具有第二功能。在单片机的40条引脚中,有2条用于主电源的引脚,2条外接

13、晶体的引脚,控制或其他电源复用引脚RST/ Vpd、ALE、和VPP,32条输入/输出引脚。下面就本系统用到的引脚分别说明这些引脚的名称和功能。(1)主电源引脚V CC和GNDVCC:接+5V电源GND:接电源地(2)钟电路引脚XTAL1和XTAL2XTAL1:接外部晶体的一端。在单片机部,它是反相放大器的输入端,该放大器构成了片振荡器。在采用外部时钟电路时,对于HMOS单片机,此引脚必须接地;对CHMOS单片机,此引脚作为驱动端。 XTAL2:接外部晶体的另一端。在单片机部,接至上述振荡器的反相放大器的输出端,振荡器的频率是晶体振荡频率。若采用外部时钟电路时,对于HMOS单片机,该引脚输入外

14、部时钟脉冲;对于CHMOS单片机,此引脚应悬空。(3)信号引脚RST/VpdRST/Vpd:复位/备用电源输入端。单片机上电后,只要在该引脚上输入24个振荡周期(2个机器周期)宽度以上的高电平就会使单片机复位;若在RST与VCC之间接一个10F的电容,而在RST与GND之间接一个8.2K的下拉电阻,则可实现单片机上电自动复位。RST/Vpd具有复用功能,在主电源VCC掉电期间,该引脚可接上+5V备用电源。当VCC下掉到低于规定的电平,而Vpd在其规定的电压围时,Vpd就向片RAM提供备用电源,以保持片RAM中的信息不丢失,复电后能继续正常运行。(4)输入/输出(I/O)引脚P0、P1、P2和P

15、3MCS-51单片机有4个双向并行的8位I/O口P0P3,P0口为三态双向口,可驱动8个TTL电路,P1、P2、P3口为准双向口(作为输入时,口线被拉成高电平,故称为准双向口),其负载能力为4个TTL电路。3.2 红外传感器TN901红外测温传感器选用凌阳科技公司生产的TN9红外测温传感器,可测量目标温度和环境温度。它采用非接触测温手段,解决了传统测温中需要接触的问题,具有回应速度快、测量精度高、测量围广以与可同时测量目标温度和环境温度的特点。 红外测温模块根据大气状况最远测温距离约 30m,测量回应时间大约为 0.5s,而且,它具备 SPI接口,可以很方便地与单片机传输数据。 TN9红外测温

16、传感器特性量程-33-220/-27-428工作温度-10-50/14-122精度±0.8反应时间1s电压围3V- 5V3.2.1 红外测温传感器引脚红外测温模块的引脚如图2所示。其中V为电源电压引脚VCC,VCC一般为 3V到 5V之间的电压;D为数据接收引脚,没有数据接收时D为高电平;C为 2KHz Clock输出引脚(只有为TN9供上电源,C脚就有2KHz的方波信号输出);G为接地引脚;A为测温启动信号引脚,低电平有效。TN9红外测温传感器引脚3.2.2 红外测温模块的工作时序从时序图可以看出: TN9红外传感器向单片机发送一帧数据共有5个BYTE组成,每个BYTE位的含义如下

17、:Item :如果为4CH代表此帧测量为目标温度,为66H代表此帧测量为环境温度。MSB :数据高八位LSB :数据低八位SUM :校验位 SUM=Item+MSB+LSBCR :0DH为结束码单片机在CLOCK的下降沿接收数据,一次温度测量需接收 5 个字节的数据,这五个字节中:Item为 0x4c表示测量目标温度,为 0x66 表示测量环境温度;MSB为接收温度的高八位数据;LSB为接收温度的低八位数据;Sum为验证码,接收正确时Sum=Item+MSB+LSB;CR为结束标志,当CR为 0x0dH时表示完成一次温度数据接收。3.2.3 红外测温模块温度值计算无论测量环境温度还是目标温度,

18、只要检测到 Item 为 0x4c或者 0x66同时检测到 CR 为 0x0dH,它们的温度的计算方法都一样。计算公式为 目标温度/环境温度=Temp/16-273.15 其中 Temp 为十进制,当把它转换成十六进制时高八位为 MSB,低八位为 LSB;比如 MSB 为 0x14,LSB 为 0x2a,则 Temp 十六进制时为 0x142a,十进制时为 5162,则测得温度值为 5162/16-273.15=49.475。3.2.4 红外测温传感器的视场D : S = 1:1距离 :目标直径 = 1:1 Field of ViewTN901视场第四章 系统主要设计与思路分析4.1 红外传感

19、器与单片机通信TN901与单片机的硬件连接图虽然TN901与单片机引脚连接简单,但TN9如何把数据传输刚给单片机,单片机怎么接受到数据并计算是本设计的关键,也是难点。经过查阅大量书籍,分析SPI接口的传输方式,以与多次试验和总结,得出程序设计的关键在于 CLOCK 信号的下降沿检测,单片机读取 TN9 传感器送入的每一帧数据位。单片机一次读 5 个 BYTE。 只有当第一个 BYTE 和最后一个 BYTE 分别为 4CH (或 66H) 和 0DH 时,才可以认为这是一个有效的数据,否则单片机不停的进行读取。单片机一直在做一个While循环,当有按键K1或K2触发时,单片机通过给P1.2引脚一

20、个低电平来启动红外传感器TN901。只要启动红外传感器TN901,它会测量环境温度和目标温度,但我们采用的是最简单的4位一体的数码管,不能同时显示两个数值。所以我们分K1和K2来区分要测量的是环境温度还是目标温度。具体程序见附录B。4.2 单片机送数据到数码管显示:选择一: LED数码管(4位一体数码管)是一种半导体发光器材,其基本单元是发光二极管。选择二:LCD液晶显示屏,LCD的构造是两片平行的玻璃当中放置液态的晶体,两片玻璃中间有许多垂直和水平的细小电线,透过通电与否来控制杠状水晶分子改变方向,将光线折射出来产生画面。虽然显示效果颇佳,但价格较昂贵。由于设计显示少,故不选用LCD显示屏。

21、4位一体数码管,其部段已连接好,外部引脚下图所示(正面朝自己,小数点在下方)。但外部引脚并不是按段选和位选整齐排列的,所以焊接复杂。a、b、c、d、e、f、g、dP为段引脚,1、2、3、4分别表示四个数码管的位。                        。 。 。 。 。 。                  &

22、#160;     1   a     f     2    3   b                        。 。 。 。 。 。               

23、;         e   d   dp   c    g    4数码管引脚焊接图把数码管的12个引脚按顺序(a、b、c、d、e、f、g、dP ,1、2、3、4)连接到小万用板的排针上,分别为位选8个引脚和段选4个引脚,整齐的顺序方便与万用板连接。数码管与单片机连接原理图4.3 数码管显示方式共阴LED数码管字形(段码)表显示数字P0.7"dp"P0.6"g"P0.5"f"P

24、0.4"e"P0.3"d"P0.2"c"P0.1"b"P0.0"a"二进制代码十六进制代码0001111110011 11113f1000001100000 0110062010110110101 10115b3010011110100 11114f4011001100110 0110665011011010110 11016d6011111010111 11017d7000001110000 0111078011111110111 11117f9011011110110 11116f数码管要正

25、常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。数码管动态显示是单片机中应用最为广泛的一种显示方式之一。从本设计的原理图中我们可以看到数码管的段码a,b,c,d,e,f,g,dp分别与单片机的P0.0P0.7相连,P0口接了上拉电阻,因为它是漏极开路的,控制数码管中显示的字形。位选与单片机的P2.7P2.4相连,同上表,得到4位共阴LED数码管字形位选代码0xef,0xdf,0xbf,0x7f,控制数码管不同的位数显示不同的字形。当单片机输出字形码时,所有数码管都接收到一样的字形码,但究竟是那个数码管会显示出字形

26、,取决于单片机对位选电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的位选,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为12ms,由于人的视觉暂留现象与发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。4.4 复位电路按键后:电容器被短路放电、RST直接和VCC相连,就是高电平,此时进入“复位状态”。松手后:电源开始对电容器充电,此时,充电电流在电阻上,形成高电平送到RST,仍然是“复位状态”;稍后

27、,充电结束,电流降为0,电阻上的电压也将为0,RST降为低电平,单片机进入工作状态。4.5 晶振电路单片机片有一个用于构成振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。把放大器与作为反馈元件的晶体振荡器和瓷电容连接,就构成了自激振荡器,其输出就是时钟脉冲。4.6 蜂鸣器电路通过控制引脚P1.5来达到蜂鸣器报警。程序预置beep高电平,当测量得到的温度数值超过38时,beep变成低电平,产生回路,有电流经过蜂鸣器,达到报警的目的。4.7 电源设计电源硬件实物图供电方式1:采用最常用的USB供电。供电方式2:用10V的干电池,经7805降压芯片后,输出5V稳定

28、的直流电。第五章 系统测试与误差分析5.1 系统测试下表是采用本设计得到的温度实测值与标准水银温度计的测量温度值、误差以与误差率。测量次数真实值(°C)实测值(°C)误差(°C)误差率(%)137.336.830.471.26236.035.420.581.61340.841.150.350.85438.537.840.661.71不同温度下实际测量温度数据与误差注:水银温度计的测量围从 35到 42,测量围有限,测量时间长,所以本测试有一定的局限性。真实值:由市场上购买的测量体温用的水银温度计测量得到;实测值:由本设计的红外测温仪得到;误差=|真实值实测值|;误

29、差率=(误差/真实值)x 100%。5.2 误差分析5.2.1 环境因素被测物体所处的环境条件对测量的结果有很大的影响,它主要体现在两个方面,即环境的温度和清晰度。1. 环境温度的影响设被测目标的温度为T1,环境温度为T2 时,该目标单位面积表面发射的辐射能为,而相应地被它所吸收辐射能为,则该物体发出的净辐射能Q 为: Q=- (5)式中, A单位面积;物体的辐射率;吸收率。设被测物体的 和两者相等,由式(5)可得:2. 大气吸收的影响红外线在辐射的传输过程中,由于大气的吸收作用,能量总要受到一定的衰减。大气吸收是指在传输过程中使一部分红外线辐射能量变成其它形式的能量,或以另一种光谱分布。大气

30、吸收程度随空气温温变化而变化,被测物体距离越远,大气透射对温度测量的影响就越大。所以,在室外进行红外测温时,应尽量在无雨、无雾、空气比较清晰的环境下进行。在室进行红外测温时,应在没有水蒸气的环境下进行,这样就可以在误差最小的情况下测得较准确的数值。5.2.2 目标尺寸测量距离与目标直径S:D=1:1 的测温仪,测量距离应满足下表的要求。目标大小D(mm)4008001600测量距离S(mm)<400<800<1600被测物体和测温仪视场决定了仪器测量的精度。使用红外测温仪测温时,一般只能测定被测目标表面上确定面积的平均值。一般测试时有以下三种情况:1. 当被测目标大于测试视场

31、时,测温仪就不会受到测量区域外面的背景影响,就能显示被测物体位于光学目标确定面积的真实温度,这时的测试效果最好。2. 当被测目标等于测试视场时,背景温度已受到影响,但还比较小,测试效果一般。3. 当被测目标小于测试视场时,背景辐射能量就会进入测温仪的视声符支干扰测温读数,造成误差。仪器仅显示被测物体和背景温度的加权平均值。因此在实际测温时,被测目标尺寸超过视场大小的50%为好,具体情况如图所示。目标与视场示意图第六章 总结经过将近一年学习和实践,我们设计的基于单片机的红外测温仪达到了立项时的预期目标。它体积小巧,能够很方便地测量近距离物体的表面温度以与所处环境的温度,完全可以满足常温领域的测量

32、。红外测温具有反应时间短、非接触、不干扰被测场、读数方便、使用寿命长、操作方便等优点。充分利用常见的电子元器件,如单片机、数码管,实现了日常生活中急需的仪器测温仪。软硬件结合,实现了最底层的设计,为后续商业应用开发提供了基础,如:添加无线数据传输模块,PC机客户端远程控制其测量采集温度值,并将采集到的数据返回给PC机记录分析。我们的设计也存在着很大的不足,整个板子没有做PCB板,又没有做外壳进行装饰,所以整体看起来不够美观。经过大量测试,发现系统整体性能还不是很稳定,想要应用到实践中还需要努力改进。参考文献1 亮.单片机C语言编程与实例M.:人民邮电,20032 阎石.数字电子技术基础M.:高

33、等教育,2006.53 童诗白,华成英模拟电子技术基础M高等教育,20014 戴梅萼,史嘉权,微型计算机技术与应用M清华大学2008.5 刚毅.单片机微机原理与应用M.:高等教育,2009.6 楼然苗.51系列单片机设计实例M.航空航天大学,2006.7 伟,文昱.SPI总线与其在单片机系统中的应用J.科技广 场,2008(10)8 易志明,林凌,刚,郝丽宏.SPI总线在51系列单片机系统中的实现J.电气技术与自动化,2003.9 何希才.传感器与其应用实例M.:机械工业,200410 何志彪,黄光,易新建.热释电红外测温方程的研究J.红外技术,199911 柳刚,黄竹领,周昊,王双保,易新建

34、.非接触式电红研制M.光电子科技与信息,2005 12 永甫.红外探测与控制电路M.:人民邮电,2004致我们当初对硬件一无所知,怀着些许憧憬和茫然申报了这个“基于单片机的红外测温仪设计”项目。正是在这样的环境下,不断督促自己去学习,学会了Keil uVision4、Multisim、ISIS7 Professional等电子设计软件的使用,单片机软硬件仿真,以与简单的电路设计。感那些鼓励我们申报SRP项目的老师以与我们的指导老师田敏老师。由于经验的匮乏,难免有许多考虑不周全的地方,感导师的督促指导,以与一起工作的同学的支持,感同学对我无私的帮助,正因为在同学们的帮助配合下,我们才能顺利的完成

35、设计。感信息科学与技术学院各位老师对我们学习的谆谆教诲,传授给了我专业知识。在此期间还要感家人与朋友对我们学习的支持。附录A 硬件1. 系统整体硬件原理图2. 系统整体硬件实物图附录B 软件1. 说明MCU: STC89C52RC ,晶体频率:12MHz 功能描述: 测量环境温度和目标温度,并用按键控制显示温度值, 按K1,显示目标温度 按K2,显示环境温度 IDE环境: Keil uVision4 硬件连接: VCC-5V P1.0-DataP1.1-ClkP1.2-ACKP1.3-K1P1.4-K2P1.5-beepGND-GND2. 流程图3. 代码/* -头文件-*/ #include

36、 <reg52.h>#define uchar unsigned char#define uint unsigned int/* -定义接口-*/ sbit TN_Data= P10;sbit TN_Clk = P11;sbit TN_ACK= P12;sbit key_1 = P13;sbit key_2 = P14;sbit beep = P15;/*-定义变量列表-*/unsigned char code keytab_1=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;unsigned char code keytab_2

37、=0xef,0xdf,0xbf,0x7f; uchar ReadData5,iShow5;/*-定义函数列表-*/void display_1(uchar i,uchar num); /定位显示单个字符void display_2(void); /定位显示四个字符void TN_ReadData(uchar Flag); /读数据void TN_GetData(void); /计算数据void sound(void); /蜂鸣器/*-主程序-*/void main()TN_ACK=1;while(1)if(!key_1)TN_ACK=0;beep=1;TN_ReadData(0x4c); /目

38、标温度的第一个字节为0x4celse if(!key_2)TN_ACK=0;beep=1;TN_ReadData(0x66); /环境温度的第一个字节为0x66if(ReadData0=0x4c)&&(ReadData4=0x0d) /每帧的最后一个字节为0x0dTN_GetData();display_2();sound(); else if(ReadData0=0x66)&&(ReadData4=0x0d) /每帧的最后一个字节为0x0dTN_GetData();display_2();sound(); /*-蜂鸣器报警-*/void sound(void)

39、if(iShow3>=4)beep=0;if(iShow3=3)if(iShow2>=8) /如果温度大于38,则蜂鸣器响beep=0;/*-定位显示单个字符-*/void display_1(uchar i,uchar num) if(iShow4!=0)/如果有百位if(num=1) /个位加小数点 P0=0x80|keytab_1i;P2=keytab_2num; else P0=keytab_1i;P2=keytab_2num;else /没有百位if(num=2)/个位加小数点P0=0x80|keytab_1i;P2=keytab_2num; elseP0=keytab_

40、1i;P2=keytab_2num; /*-定位显示四个字符-*/void display_2(void) uchar kk; if(iShow4!=0)display_1(iShow4&0x0f,3); /显示十位for(kk=200;kk>0;kk-); /延时display_1(iShow3&0x0f,2); /显示个位for(kk=200;kk>0;kk-); /延时display_1(iShow2&0x0f,1); /显示小数第一位for(kk=200;kk>0;kk-); /延时display_1(iShow1&0x0f,0); /

41、显示小数第二位for(kk=200;kk>0;kk-); /延时 else /没有百位 display_1(iShow3&0x0f,3); for(kk=200;kk>0;kk-); display_1(iShow2&0x0f,2); for(kk=200;kk>0;kk-); display_1(iShow1&0x0f,1); for(kk=200;kk>0;kk-);display_1(iShow0&0x0f,0); for(kk=200;kk>0;kk-); /*-读数据-*/void TN_ReadData(uchar Fl

42、ag)uchar i,j,k;bit BitState=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;ReadDataj=ReadDataj<<1;ReadDataj=ReadDataj|BitState; while(!TN_Clk); if(ReadData0=Flag) k=8;TN_ACK=1;/*-计算数据-*/void TN_GetData(void) int Temp; Temp=(ReadData1<

43、<8)|ReadData2; Temp = Temp/16 - 273.15; Temp=Temp*100; /温度值乘100,以方便计算小数点后两位/iShow4=Temp/10000; /计算温度值的百位数iShow3=(Temp/1000); /计算温度值的十位数iShow3=iShow3%10; iShow2=(Temp/100); /计算温度值的个位数 iShow2=iShow2%10;iShow1=(Temp/10); /计算温度值的小数点后第一位数iShow1=iShow1%10;iShow0=(Temp); /计算温度值的小数点后第二位数 iShow0=iShow0%10

44、;致时间飞逝,大学的学习生活很快就要过去,在这四年的学习生活中,收获了很多,而这些成绩的取得是和一直关心帮助我的人分不开的。首先非常感学校开设这个课题,为本人日后从事计算机方面的工作提供了经验,奠定了基础。本次毕业设计大概持续了半年,现在终于到结尾了。本次毕业设计是对我大学四年学习下来最好的检验。经过这次毕业设计,我的能力有了很大的提高,比如操作能力、分析问题的能力、合作精神、严谨的工作作风等方方面面都有很大的进步。这期间凝聚了很多人的心血,在此我表示由衷的感。没有他们的帮助,我将无法顺利完成这次设计。首先,我要特别感我的知道老师周巍老师对我的悉心指导,在我的论文书写与设计过程中给了我大量的帮

45、助和指导,为我理清了设计思路和操作方法,并对我所做的课题提出了有效的改进方案。周巍老师渊博的知识、严谨的作风和诲人不倦的态度给我留下了深刻的印象。从他身上,我学到了许多能受益终生的东西。再次对周巍老师表示衷心的感。其次,我要感大学四年中所有的任课老师和辅导员在学习期间对我的严格要求,感他们对我学习上和生活上的帮助,使我了解了许多专业知识和为人的道理,能够在今后的生活道路上有继续奋斗的力量。另外,我还要感大学四年和我一起走过的同学朋友对我的关心与支持,与他们一起学习、生活,让我在大学期间生活的很充实,给我留下了很多难忘的回忆。最后,我要感我的父母对我的关系和理解,如果没有他们在我的学习生涯中的无私奉献和默默支持,我将无法顺利完成今天的学业。致四年的大学生活就快走入尾声,我们的校园生活就要划上句号,心中是无尽的难舍与眷恋。从这

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论