基于单片机的非接触式红外体温计设计(完整资料)_第1页
基于单片机的非接触式红外体温计设计(完整资料)_第2页
基于单片机的非接触式红外体温计设计(完整资料)_第3页
基于单片机的非接触式红外体温计设计(完整资料)_第4页
基于单片机的非接触式红外体温计设计(完整资料)_第5页
已阅读5页,还剩135页未读 继续免费阅读

下载本文档

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

文档简介

基于单片机的非接触式红外体温计设计(完整资料)(可以直接使用,可编辑优秀版资料,欢迎下载)

基于单片机的非接触式红外体温计设计(完整资料)(可以直接使用,可编辑优秀版资料,欢迎下载)本科毕业论文非接触式红外体温计的设计DesignofContactlessInfraredThermometerSystem学院名称:专业班级:学生姓名:学号:指导教师姓名:指导教师职称:年月毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得安阳工学院及其它教育机构的学位或学历而使用过的材料.对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作者签名:日期:指导教师签名:日期:使用授权说明本人完全了解安阳工学院关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名:日期:目录TOC\o”1—3”\h\u1160摘要I15053AbstractII6163引言16163第一章系统主要芯片介绍2245001。1STC89C52芯片简介229171.2红外温度模块简介3240031.2。1TN901红外测温模块337871。2。2红外测温原理3189411。2。3红外测温模块的工作时序465211.3LCD1602显示器简介 49216第二章系统硬件设计 6241742.1系统总体结构图 6256202.2单片机的主控电路设计6183422。3红外温度传感器模块电路的设计776332。4LCD1602设计原理图8157072.5按键电路的设计8190822.6系统其它硬件电路9106962.6。1系统的电源电路9228172.6。2系统晶振电路9326522.6。3报警电路的设计1023513第三章系统软件设计11208603。1软件编译KeilC51开发环境1195713.2系统软件设计要求及任务11199473。3系统主程序流程图11244593。4红外测温流程图1224459第四章制作与调试15244594.1软件调试 15244594.2硬件调试 15244594。3系统误差分析及处理16244594.4系统的制作与调试16结论 1824881致谢 1928698参考文献208576附录 21非接触式红外体温计的设计摘要:本文针对传统的测温仪器自身存在的诸多缺点以及在现实生活中所暴露的使用不便,缺少安全性等缺陷,提出了一种非接触式红外测温系统设计方案.该系统是以STC89C52作为红外测温传感器数据传输和控制核心.此外,还设计了报警模块、显示电路、功能按键等外围模块。本系统实现了对实时温度的显示,以及对后者过限时报警,同时还能对温度测量报警的上下限进行调节.它的最大的创新不仅仅是因为可以测量基本的温度,更在于它可以控制继电器电路使温度在测量范围内。它的安全性,方便性更有利于普通百姓的使用。本次红外测温系统的设计简化了电路结构,提高了测温的稳定性及可靠性。该系统具有反应速度快、传输效率高、测量精度高、可靠性高等优点。关键字:STC89C52;报警;红外测温DesignofContactlessInfraredThermometerSystemAbstract:Inviewofthetraditionaltemperaturemeasuringinstrument,therearemanyshortcomings,Andinreallifeitexposesmuchinconvenience,lacksofsafety,soiputforwardthisdesignofcontactlessinfraredtemperaturemeasurementsystem。ThesystemisbasedonsinglechipmicrocomputerSTC89C52thatasbeingthecenterofinfraredmeasuringtemperaturesensordata'stransmissionandregulation.Inaddition,itisalsoequippedwithalarmcircuits,keyswitch,liquidcrystaldisplayoutputandkeycircuits.Thissystemrealizereal—timetemperaturedisplay,andgiveanalarmwhenthetemperaturebeyondlimitationconfigured,surelythelimitationcanbechangedelse.Thesystem'sbiggestinnovationnotonlyintherealizationofbasicfunctionstemperaturemeasurement,butalsocancontrolarelaycircuittogetthetemperatureinmeasuringrange.Itssafety,conveniencearemorehelpfuloftheuseofthecommonpeople。Thedesignofinfraredtemperaturemeasurementsystemsimplifythecircuitstructure,improvethestabilityandreliabilityofmeasuringtemperature。Thegreatreactionspeed,hightransmissionefficiency,highaccuracyandhighreliabilityisalsoitsadvantage.Keywords:STC89C52;alarm;infraredtemperaturemeasurement引言随着经济的发展,社会生活水平的提高,人们对自身身体情况愈来愈重视.体温是人体生命活动最基本的特征,也是观察人体机能是否正常的重要指标之一。现在各种流行病比较多,传染性比较强,传统的接触式测温系统有很大的局限性,特别是在高发病的场所诸如学校或者客运中心等等.目前,传统的测温仪器存在的缺陷开始被人们所认识,测量准确度低,等待时间长,使用不当还会发生意想不到的事故等。非接触式红外测温系统的开发,将能很好的代替传统测温仪器,弥补他们的不足与使用的不便.它的响应时间快、非接触、使用安全及使用寿命长等优点,更适合儿童在平时的生活中独立完成体温测量。当今社会,红外测温技术已在工业、石化、农业、医学、安全监控与防范和科学研究等领域被广泛地应用,在传统的测温系统中注入现代科技的元素,它所具备的响应时间快、非接触、使用安全及使用寿命长等优点,较传统温度仪器更加能满足人们生活生产的需求,必定会占领相当大的市场,受到人们的青睐[5]。近20年来,我国的红外测温技术得到迅速的发展,并逐步应用于医疗、工业等领域。红外检测技术,它是一种在线监测不停电式高科技检测技术,能对电气设备的故障缺陷及绝缘性能做出可靠的预测,满足了现代电力企业对电力系统的可靠运行的要求.此无线测温系统包括硬件电路部分和软件部分。硬件电路采用STC89C52单片机作为控制核心,主要包括以下几个部分:红外测温电路、报警电路,显示电路,按键电路和继电输出控制电路等。软件设计主要包括:主程序、红外测温模块、报警模块、功能按键模块、显示模块、继电输出模块等子程序.该系统在工作时,操作者先将红外测量仪对准被测量者,接通电源,等待2秒钟,随后红外传感器就会把温度信号传送到STC89C52中进行处理,然后送1602显示。该系统可以调节报警的上下限,当实时温度低于设定温度,绿灯亮,蜂鸣器响;高于设定温度蜂鸣器响,红灯亮;正常温度蜂鸣器不响,黄灯亮。另外,该系统还可以测量物体温度,当物体温度过限时,继电器会闭合,同时触发相应的自己设定的动作来使目标温度控制在要求范围内。第一章系统主要芯片介绍1。1STC89C52芯片简介STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器.在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。STC89C52单片机引脚结构如图1—1所示[4]。图1-1STC89C52引脚结构图STC89C52单片机芯片的引脚介绍如下:管脚1~8:P1口,8位准双向I/O口,可驱动4个LS型TTL负载.管脚9:RESET复位键,单片机的复位信号输入端,对高电平有效.当进行复位时,要保持RST管脚大于两个机器周期的高电平时间。管脚10,11:RXD串口输入TXD串口输出。管脚12~19:P3口,P3。2为INT0中断0,P3。3为INT1中断1,P3.4为计数脉冲T0,P3。5为计数脉冲T1,P3。6为WR写控制,P3。7为RD读控制输出端。管脚21~28:P2口,8位准双向I/O口,与地址总线(高8位)复用,可驱动4个LS型TTL负载。管脚29:PSEN片外Rom选通端,单片机对片外Rom操作时29脚(PSEN)输出低电平。管脚30:ALE/PROG地址锁存器。管脚31:EArom取指令控制器高电平片内取低电平片外取。管脚32~39:P0口,双向8位三态I/O口,此口为地址总线(低8位)及数据总线分时复用口,可驱动8个LS型TTL负载。管脚40:电源+5V.1。2红外温度模块简介1.2。1TN901红外测温模块TN901红外传感器输出的是数字信号,TN901传感器芯片管脚如图1—2所示:图1-2TN9红外测温模块接口管脚5是V为电源引脚VCC,VCC一般为3V到5V之间的电压,一般取3。3V;管脚4为D是数据接收引脚,没有数据接收时D为高电平;管脚3为C为2KHzClock输出引脚;管脚2为G是接地引脚;管脚1是A为测温启动信号引脚,低电平有效[6]。1.2。2红外测温原理红外测温传感器是接收目标物体的热辐射并转换为电信号的器件。所有物体都会发出红外线能量,物体越热,其分子就愈加活跃,目标辐射波长越短,它所发出的红外线能量也就越多。红外温度模块中的光学装置,可以收集物体的辐射红外线能量,并把该能量聚焦在探测器上,能量经探测器转化为电信号,并被放大、显示出来[8]。由普朗克黑体辐射原理:—光学常数-辐射出射度-斯蒂芬—波尔兹曼常数-被测对像的辐射率-红外温度计的辐射率-被测对像热力学温度-红外温度计热力学温度通过红外传感器接收到的能量峰值信号,经过单片机即可计算出目标温度。探测器输出的信号与目标温度呈非线性的关系,所以需要对其进行线性化处理。线性化处理后得到物体的表观温度,然后对其进行辐射率修正,转化成真实温度,由于调制片辐射信号的影响,还需作温度的补偿,即真实温度加上环境温度才能最终得到被测物体的实际温度[3].红外测温模块的工作时序TN9红外传感器向单片机发送一帧数据共有5个BYTE组成,如表1—1所示.表1—1信息格式ItemItemMSBLSBSumCRItem:“L”(4CH):Tobj(目标温度),“f”(66H):Tamb(环境温度)MSB:8bitData最高有效位LSB:8bitData最低有效位Sum:Item+MSB+LSB=SumCR:0DH,结束信息单片机在时钟的下降沿接收数据,一次温度测量需接收5个字节的数据,这五个字节中:Item为0x4c表示测量目标温度,0x66表示测量环境温度;MSB为接收温度的高八位数据;LSB为接收温度的低八位数据;Sum为验证码,接收正确Sum=Item+MSB+LSB;CR为结束标志,当CR为0x0dH时表示完成一次温度数据接收.1。2。4红外测温模块温度值计算无论测量环境温度还是目标温度,只要检测到Item为0x4cH或者0x66H,同时检测到CR为0x0dH,它们的温度计算方法都相同。计算公式为:实际温度值=temp/16—273。15。其中273.15为华氏转摄氏的单位转换差值[7]。Temp为十进制,当把它转换成十六进制时高八位为MSB,低八位为LSB;比如MSB为0x10H,LSB为0x2bH,则Temp为十六进制时是0x142bH,十进制时是5163,则测得实际温度值为5163/16—273。15=49。537℃。1。3LCD1602显示器简介在本系统中,需要将实时时钟与测量出来的温度值显示出来,LCD显示器的微功耗,体积小,显示内容丰富,超薄轻巧的诸多优点非常符合系统需求。本次使用的LCD1602显示器模块为5×7点阵图形来显示字符的液晶显示器,内带ASCII字符库。LCD1602模块内部可以完成显示扫描,单片机只要向LCD1602发送命令和显示内容的ASCII码。LCD1602显示器的工作电压为4.5~5.5V,在本系统中,采用的电压为5V,字符尺寸为2。95×4.35(WXH)mm。LCD1602显示芯片引脚如图1—3所示[1]。图1—3LCD1602芯片引脚图第1脚:VSS为地电源.第2脚:VDD接5V正电源.第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度或者直接接地。第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第7~14脚:D0~D7为8位双向数据线。第15~16脚:空脚。LCD1602液晶显示器寄存器选择控制如表1-2所示。表1—2寄存器选择控制表RSR/W操作说明00写入指令寄存器D0~D701读取输出的D0~D7的状态字10写入数据寄存器D0~D711从D0~D7读取数据开始时初始化E为0,然后置E为1,再清0。读取状态字时,注意D7位,D7为1,禁止读写操作;D7为0,允许读写操作。所以对控制器每次进行读写操作前,必须进行读写检测。第二章系统硬件设计本系统的硬件原理图采用AltiumDesigner进行设计,AltiumDesigner主要运行在Windows操作系统。这套软件通过把原理图设计、电路仿真、PCB绘制编辑、拓扑逻辑自动布线、信号完整性分析和设计输出等技术的完美融合,为设计者提供了全新的设计解决方案,使设计者可以轻松进行设计,熟练使用这一软件必将使电路设计的质量和效率大大提高[11]。2。1系统总体结构图本系统的硬件电路设计以STC89C52单片机为核心,外围主要包括:TN9红外传感器模块,报警电路,LCD1602显示模块,功能按键、晶振电路和继电器输出电路组成,如图2-1所示.继电器输出电路晶振电路STC89C52单片机LCD1602液晶显示器功能按键报警电路电源电路红外测温模块继电器输出电路晶振电路STC89C52单片机LCD1602液晶显示器功能按键报警电路电源电路红外测温模块图2-1系统整体框图2.2单片机的主控电路设计在本系统的设计中,从价格,熟悉程度以及满足系统的需求等方面考虑采用了51系列STC89C52单片机.单片机为整个系统的核心,控制整个系统的运行,其接口电路如图2-2所示。图2—2STC89C52接口电路STC89C52单片机连接系统的各个模块,P0口接上LCD1602显示器模块的数据线,P1.0,P1.1作为LCD1602的控制信号;P2。0,P2.1,P2。2接红外测温模块;P1.2,P1。3和P1.4分别接红、绿、黄三个LED指示灯;P1.5接继电器输出电路;P3。2,P3.3,P3.4,P3.5接4个功能按键。由于P0口为开漏式,只有一个模式管,故在设计中加了一个上拉电阻J2,为的是增加P0口的驱动能力。2.3红外温度传感器模块电路的设计本系统采用的是TN9红外模块,该模块不需要增加另外的A/D转换电路,使得硬件可以尽可能的简单化,相比于其他红外模块,TN9产品只需要3伏电源供电。它是一种集成的红外探测器,内部有温度补偿电路和线性处理电路,使本系统的设计得到了简化。TN9红外模块接口如图图2—3所示[2]。图2—3TN9红外模块接口电路图TN9红外模块的工作过程:系统正常上电,当进行温度测量时,将TN9的红外传感器探头对准被测量者的额头,随即按下功能按键0,即开始键,单片机通过向测试脚提供一个高电平的信号,即启动红外测温。在时钟的下降沿开始读数据,共5个字节,当第一个字节为4CH(或66H),且第5个字节为0DH时,读取的数据为有效数据,否则读取的数据无效,数据读取后,单片机对读到的有效数据进行运算处理,然后送LCD1602显示。2。4LCD1602设计原理图本系统采用LCD1602作为显示器,相比于LED,LCD1602需要的管脚少,电路图和实物比较简单。同时LCD1602还可以显示字母和数字,LED就只能显示数字。LCD1602显示是从系统上电运行时就开始显示时间,该显示模块与单片机的连接如图2—4所示。图2-4LCD1602显示电路图RS为寄存器选择,高电平时选择数据寄存器、低电平时选指令寄存器;通过单片机的P0。2口控制,R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。由于本设计中只需要对液晶进行写操作,为了节省单片机引脚资源,它直接接为低电平;EN端为使能端,当EN端由高电平跳变成低电平时,液晶模块执行命令,通过单片机P0.4口控制.图3-6中的R8是一个5K欧姆的滑动变阻器,通过改变它的数值,可调节显示器的对比度[10].2。5按键电路的设计本次设计的系统开启红外测温功能只需按下电源电路中的开关,LCD1602上能对报警上下限进行调整,比如数字的加和减以及调整完之后的确认,经过设想,最终系统的功能按键设置为4个,均采用独立按键模块,电路原理图如下图2—5所示。图2-5系统按键电路原理图键盘模块采用动态扫描的方式,采用4个独立式键盘.相较于矩阵键盘,独立式键盘是一种常开型按键开关,常态下键的两个触点处于断开状态,按下键时它们才闭合,最大的优点是使用方便,程序编写比较简单。4个按键的功能具体如下:按键S3:调节报警上下限的功能按键,按下后进入调整状态;按键S4:在跳针的情况下,实现“加”功能;按键S5:在跳针的情况下,实现“减”功能;按键S6:对上述“加减”功能调节后的确认键。2.6系统其它硬件电路2。6。1系统的电源电路电源电路原理图如图2-6所示.图2—6电源电路接口系统使用的电源为5V,由外部引入,二极管作为电源指示灯,C4、C5起滤波的作用。2.6.2系统晶振电路STC89C52单片机引脚XTAL1和XTAL2与晶体振荡器及C2、C3的连接如图2-7所示.图2—7系统晶振电路原理图晶振的作用是给单片机提供一个稳定的节拍,C2,C3这两个电容叫晶振的负载电容,接法如上图所示,大小为30pF,它会影响到晶振的谐振频率和输出幅度,也是使振荡频率更稳定。实际上等同于电容三点式电路的分压电容,接地点就是分压点,以接地点作为参考点,振荡引脚的输入和输出是反相的。当两个电容量相等时,反馈系数是0.5,一般是可以满足振荡条件的,但如果不易起振或振荡不稳定可以减小输入端对地电容量,而增加输出端的值以提高反馈量。2。6.3报警电路的设计该系统的报警电路的原理图如图2-8所示。图2—8报警电路原理图报警电路实际就是蜂鸣器驱动电路,R6为限流电阻,防止电路电流过大损坏其他器件。FM输出的是控制信号,Q1可以看做是个电子开关,用来控制蜂鸣器的控制中断.当FM口输出高电平时,Q1饱和导通,蜂鸣器获得电工作发出鸣响,当FM口输出低电平时Q1截止蜂鸣器失电,停止工作.第三章系统软件设计3.1软件编译KeilC51开发环境Kei1C51集成开发环境是美国KeilSoftwaer公司出品的51系列兼容单片机C语言软件开发系统。Kei1C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,编译后生成的汇编代码,到Kei1C51生成的目标代码效率非常高,多数语句生成的汇编代码很紧凑,容易理解,在开发大型项目时非常理想。3.2系统软件设计要求及任务软件是整个系统的核心,它具有充分的灵活性与可修改性,可以根据系统的要求而变化。在硬件结构一定的情况下,通过改变软件就能实现不同的功能。本设计的红外测温系统的软件方面全部采用C语言编写,以提高系统的可读性和可移植性.其设计方法和硬件设计相对应,采用模块对应进行编写,将系统的硬件划分为相应的子程序模块,分别进行编写、调试,使整个程序看起来简洁,明了,在调试过程中也方便自己发现错误,提高了编程的效率。整个系统软件主要包括主程序、红外测温模块、功能按键模块、显示模块等子程序.3。3系统主程序流程图主程序的运行过程:系统正常上电,开始初始化,对功能按键进行扫描处理,看是否有按键按下,如果有,则进入设置状态,对上下限进行调节,如果没有,则显示测的温度,且对过限的温度进行报警,相应LED指示灯亮,继电器闭合,执行根据自己设定的动作,阻止过限的继续。主程序流程图如图3—1所示。图3—1系统主流程图3.4红外测温流程图红外传感器模块流程图如图3—2所示。图3-2红外测温流程图如流程图所示:系统正常上电,开始初始化,判断是否有功能按键0按下,如果是,再次判断首字节是否为4CH或者66H,最后一个字节是否为0DH,因为单片机每一次读取5个BYTE,当第一个BYTE和最后一个BYTE分别同时为4CH(或66H)和0DH时,才认为这是一个有效的数据,否则单片机将不停地进行读取.如果是,则进行温度的计算及温度的处理,然后送LCD1602显示,最后关闭TN901;如果不是,则继续按下按键0,直到符合有效数据的要求,才进行温度的读取。制作与调试4.1软件调试本设计由于需要外界环境作为媒介才能完成仿真,所以我没有进行最后的仿真,仅仅用Altiumdesigner进行了编译,程序部分用KeilC51进行了编译。在进行该过程时分为两步:目标程序纠错,整体程序调试。目标程序纠错:该阶段工作通常在目标程序编辑时就完成。一般来说,软件能为用户输入的程序指令纠错,包括书写格式、标号未定义或多重定义、转移地址溢出等错误,这一步主要是一些细节上的问题,需要一部分一部分的去检查。整体程序调试:即把各子程序整体连起来联系整体电路进行调试,看根据现行的程序和硬件条件是否能实现预计的功能显示。在这阶段若发生故障,可以考虑各子程序在运行时是否破坏现场,数据缓冲单元是否发生冲突,标志位的建立和清除在设计上是否失误,堆栈是否溢出,输入输出状态是否正常等再进一步对细节进行修改。4.2硬件调试单片机应用系统的硬件调试和软件调试是分不开的,许多硬件故障在软件调试时才能发现,但通常要先排除系统中明显的硬件故障。调试工作可以分为四步:线路检查:根据硬件逻辑设计图,仔细检查样机线路是否连接正确,并核对元器件的型号、规格和安装是否符合要求,必要时可用万用表检测线路通断情况。电源调试:样机的第一次通电测试很重要,若样机中存在电源故障,则加电后将造成器件损坏。调试的方法有两种:一种是断开稳压电源的输出端,检查空载时电源工作情况;另一种是拔下样机上的主要集成芯片,检查电源的负载能力(用假负载).确保电源无故障并性能符合设计要求[12].通电检查:在确保电源良好前提下,接通电源.最好在电源与其余电路之间串接一个电流表。若接通后电流很大,须立即切断电源.电源大得超出正常范围,说明电路中有短路或故障.通电检查的主要目的是看系统是否存在短路或由元器件损坏、装配错误引起的电流异常。检查芯片的逻辑关系是否出错:加电后检查各插座上相关引脚的电位,仔细测量相应的输入输出电平是否正常.单片机系统大都是数字逻辑电路,使用电平检查法可首先查出逻辑设计是否正确,选用器件和连接关系是否符合要求等.4。3系统误差分析及处理由于该系统是非接触式测温,这就给获得正确的温度值带来一定困难,影响红外测温系统的温度误差的因素很多,通过查阅资料和自己的了解,主要体现在以下几方面:距离系数是该系统性能的一个重要指标.通常距离越远的物体,红外测温仪测温时所经过的光路上受到的干扰以及大气衰减越大,精度也越低。物体的辐射率的影响。辐射率是指相同几何条件和光谱的条件下,实际被测物体和同温度黑体的辐射的能量之比,不同的物体的辐射率不同,且和黑体辐射的能量也有差别,所以输入值必然存在一定误差。环境因素对测温的影响.环境温度,被测物到测温仪的现场清晰度都和输出温度有关。通常,环境温度越低,从外界进入红外测温仪窗口的辐射能量就少,而且环境的清晰度越高,传感器接收到的能量越多,就越接近真实值.干扰光的影响.因为该系统是通过物体辐射出来的红外线测得温度的,外界的一切光线都会对系统产生一定干扰.由于该系统存在上述影响,故在使用时必须采取一定的措施来尽量减轻误差。比如,在选取传感器时尽量选取吸收系数高的器件;测量时尽量多测量几次数据,取其平均值,降低误差;软件设计时,采用循环系统测量,想办法得到更精确的算法;测量时尽量注意周围环境的影响,在比较适合测量的环境测量温度。4。4系统的制作与调试在系统的制作与调试中除了要关注上述问题之外,系统本身的情况也需要注意,本系统进行模块化处理,分别分为不同的几个电路:电源电路,LCD1602显示电路,复位电路,功能按键电路,过限状态指示电路,继电器输出电路,晶振电路以及最重要的红外测温模块电路。在制作前首先要了解各个电路的原理和作用,这样才能知道电路可以使用哪些元器件,比如,电源电路的电容起到了滤波的作用,我们就可以根据电路电压的大小来选择合适的电容,LED指示电路的电阻起到的是限流的作用,可以选择的范围为100Ω—1KΩ,这样可以对元器件的选择有一个很好的把握.在制作本系统时,同样的遇到了很多问题,比如PCB板的排版问题,由于封装不合适,最后显示屏和按键以及单片机没办法和谐的安装,只能重新制作,浪费了不少功夫,还有在腐蚀铜板的时候,没有把握时间,有些电路不得不在焊接的时候用焊锡连接起来.这些问题都是可以通过自己的注意加以避免的。制作好实物后,首先我用万用表测量了那些腐蚀过度并用焊锡连接的地方,保证其连通,检查电解电容,二极管,三极管,蜂鸣器等有正负极的期间的焊接情况,其是否接反。确认无误后,想测试下电路是否能正常运行,因为传感器的价格较高,我没有连接,实验结果证明电路正常运行,显示屏亮。我按照各管脚的顺序用杜邦线接上传感器,开机,系统初始化,因为我设置的初始的上下限是4度和25度,显示屏显示的26度,标志正常温度的黄色LED灯亮,之后我又设置最高限是20度,此时,红灯亮起,蜂鸣器报警,继电器闭合,表示温度超过最大限度。最后设置最低限为30度,超过室温,绿灯亮起,蜂鸣器报警,继电器闭合,表示低于最低温度。按下复位按钮,系统变为初始状态.实践证明,本系统可以运行。结论本系统利用STC89C52单片机作为系统核心,通过TN9红外传感器,对人体和物体温度进行数据采集,同时在显示器上显示实时温度,还可以对过限的温度进行报警,对于超出或者低于限度的温度会闭合继电器,继电器电路可以接上风扇,加热装置以应对测量目标为非人体时的各种情况,这个属于扩展功能。同时本设计中的红外测温部分采用的是红外传感器模块,价格占了总设计费用的一大半,而且该模块如果损坏,无法通过软件或者通过对硬件的检修而修复,以上缺点有待以后改进。致谢本次的毕业设计,很好的为我大学四年的生涯做了一个总结,它集合了我自己,指导老师****老师,班级同学的努力,从前期准备包括课题的选定,相关资料的收集,期刊论文的查找,每一件元器件的购买,焊接,每一个模块的程序编写,到最后的论文的完成,一路走来,凝聚了大量的心血与时间。每一次的焊接错误,每一次程序运行出错,都在不断激励我走向成功.在这里我要由衷地感谢****老师对我耐心的指导和严格的要求,使我在完成本次毕业论文的过程中少走了很多弯路,此外我还要感谢其他同学对我这段期间帮助,帮助我解决了技术上的很多难题,总而言之,感谢每一位关心过我的人.当然由于本人才疏学浅,该系统还存在一些漏洞与不足,功能有待于进一步的改进,恳请老师同学批评指正,在此深表感谢。参考文献[1]李响,张岷等.一种新型红外测温方法研究[J]。天津理工大学学报:2010,26(01):58—61。[2]郑文瑶,孟庆义.体温测量的研究进展[J].河北医学:2008,14,(01):103-106.[3]任婷婷,张雯,梁志华.浅谈红外体温测量法[J]。计量与测试技术:2008,35(12):44—46。[4]张日欣。基于MLX90614的非接触式体温测量系统设计[J]:2009,8(03):105-108.[5]吴海洋,计林.一种基于ARM的人体红外测温系统[J]。红外测温:2011(03):34—38。[6]韩吉辰.从“红外测温仪”谈起[M].中国科普作家协会:2010:41-50。[7]崔红淼,梁波。提高远红外测温技术对电力设备故障判断的准确度[J]。电工电气:2010(No。2):63—70.[8]刘晓春。基于单片机、温度传感器的温度智能控制系统的设计[J].电子世界:2011(9):24-25.[9]时子青。陈向东。龚静。李秀梅,一种新型MEMS温度传感器[J].传感器:2011,30(9):149-152.[10]王琳。浅谈温度传感器特点及其应用[J].倪雪飞:浅谈红外测温及其应:2011(5):21—22.[11]张璇。基于51单片机的红外测温仪的设计与实现[J].高科技产品研发:2010(02):52-53[12]余彦霖。基于凌阳SPCE061A单片机的语音导引系统的设计与总结报告[J]。科技信息:2011(01):99—100。[13]柳刚,黄竹邻,周昊等。非接触式红外测温的研究[J].光电子技术与信息:2005(5):69—73。附录元器件清单器件名称器件规格器件数量电容30PF2电容1041电容220UF1LEDLED_RED2LEDLED_GREEN1LEDLED_YELLOW1电阻10K排阻1传感器TN9_11LCD16021S555V继电器1三极管88501三极管85501电阻2205电阻5K1电阻1K1按钮4开关1蜂鸣器BUZZER1接线柱接线柱3P(3.96MM间距)1单片机80511晶振12M1系统的整体原理图:系统的PCB图:实物图:系统的程序:#include”reg52。h"#include”intrins。h"#defineucharunsignedchar#defineuintunsignedint/*************1602LCD引脚定义*************/#defineLCD_dataP0//数据口sbitRS=P1^0;//寄存器选择输入sbitEN=P1^1;//液晶使能控制sbitRW=P2^5;/*************按键引脚定义*************/sbitkeys=P3^5;sbitkeyz=P3^4;sbitkeyj=P3^3;sbitkeyq=P3^2;/*************发光二极管指示接口定义*************/sbitledg=P1^2;sbitledd=P1^3;sbitledc=P1^4;sbitfm=P3^7;sbitji=P1^5;bitflag=0;/*************红外测温引脚定义*************/sbitA_TN9=P2^0; //TN9触发sbitCLK_TN9=P2^1; //TN9时钟线sbitDATA_TN9=P2^2; //TN9数据线/***********全局变量定义**************/bitflag;unsignedcharTN_Data_Buff[5]; //红外模块0数据缓存数组unsignedcharDATA_INDEX;unsignedcharDATA_NUM; //八位数据计数unsignedchardata_tmp; //红外模块数据缓存unsignedchartable_mbtemp[]=”00。00^C”;floatiTemp,MBTemp=11.01; //温度数据intT1h=25,T1l=4; //温度上下限初始值/*************函数定义声明**************/voidshow_temp(); //温度显示子函数函数voidkey_pro(); //按键处理子函数voidwarn(); //报警子函数/************延时子程序,11。0592M晶振下*****************/voiddelay(){ unsignedinti; for(i=0;i〈10;i++);}/************延时毫秒子程序,11.0592M晶振下*****************/voiddelay_ms(unsignedinttime){ unsignedinti,j; for(i=1;i〈=time;i++) for(j=1;j〈=113;j++);}/*—-——-—-——-———-—-—-——-——-—-—-—————————--写入命令函数——-—-——-—————-——--—-—--——-—--—-————--*/voidLCD_Write_Com(unsignedcharcom){ delay_ms(5); RS=0; RW=0; EN=1; P0=com; _nop_(); EN=0;}/*——-———-———-—-——-—--————-————-—————写入数据函数——--—-————--———————-——--———————-——-—*/voidLCD_Write_Data(unsignedcharData){ delay_ms(5); RS=1; RW=0; EN=1; P0=Data; _nop_(); EN=0;}/*———--—--——--—--——-——-———-——-——--———-———-——写入字符串函数--———-—-——-—-———-—--——--————-—-—--—————--————*/voidLCD_Write_String(unsignedcharx,unsignedchary,unsignedchar*s){ if(y==0) { LCD_Write_Com(0x80+x);//表示第一行 } else { LCD_Write_Com(0xC0+x);//表示第二行 } while(*s) { LCD_Write_Data(*s); s++; }}/*--——-——————-——-—————-————-————-———-—-———初始化函数-————————--—-—-——-—-—--—--—————-—-——-—*/voidLCD_Init(void){ LCD_Write_Com(0x38);/*显示模式设置*/ delay_ms(5); LCD_Write_Com(0x38); delay_ms(5); LCD_Write_Com(0x38); delay_ms(5); LCD_Write_Com(0x38); LCD_Write_Com(0x08);/*显示关闭*/ LCD_Write_Com(0x01);/*显示清屏*/ LCD_Write_Com(0x06);/*显示光标移动设置*/ delay_ms(5); LCD_Write_Com(0x0C);/*显示开及光标设置*/}//==========================================================================// // C格式: voidTN_IRACK_EN(void);// 实现功能: 红外模块启动函数// 入口参数: 无// 出口参数: 无//==========================================================================voidTN_IRACK_EN(void){ unsignedcharj; flag=0; A_TN9=0; delay();DATA_NUM=0;DATA_INDEX=0; for(j=0;j〈=4;j++) TN_Data_Buff[j]=0;}//==========================================================================// C格式: voidTN_IRACK_UN(void);// 实现功能: 红外模块关闭函数// 入口参数: 无// 出口参数: 无//========================================================================== voidTN_IRACK_UN(void){ A_TN9=1;}//==========================================================================// C格式: intTN_ReadData(void);// 实现功能: 读测得数据//========================================================================== voidTN_ReadData(void){ data_tmp=0; DATA_NUM=0; DATA_INDEX=0; while(DATA_INDEX〈5) { if(!CLK_TN9) { if(flag==0) { flag=1; DATA_NUM++; data_tmp〈<=1; if(DATA_TN9) { data_tmp=data_tmp|0x01; } else { data_tmp=data_tmp&0xfe; } if(DATA_NUM==8) { TN_Data_Buff[DATA_INDEX]=data_tmp; DATA_NUM=0; DATA_INDEX++; data_tmp=0; } } } else { if(flag==1) { flag=0; } } }}//======================================================================////Program:TN红外传感器目标数据测量子程序//InPut:NULL//OutPut:unsignedintreturnData 测量结果的出错标识//Note://Editbyxinqiang20050324//======================================================================//unsignedcharTN_IR_GetData(){ unsignedchariItem,MSB,LSB; unsignedcharBack_Data;//定义返回变量,返回0表示读出正确数据 Back_Data=0xaa;TN_IRACK_UN(); delay_ms(10); TN_IRACK_EN(); //enabletheTN delay(); delay(); delay(); TN_ReadData(); delay(); iItem=TN_Data_Buff[0];//取读到第一个字节数据 delay(); if(iItem==0x4c)//判断第一个字节数据是否正确 { MSB=(TN_Data_Buff[1]);//取读到第二个字节数据 LSB=(TN_Data_Buff[2]);//取读到第三个字节数据 if(TN_Data_Buff[4]==0x0d)//判断是否读到结束标志 { iTemp=MSB*256+LSB;//计算温度值,计算方法请参考红外测温模块 iTemp=iTemp/16-273。15; Back_Data=0; //返回变量赋0 } } TN_IRACK_UN(); //UnabletheTN returnBack_Data;//返回Back_Data}/*****************目标温度值MBtemp处理子程序*************/voiddis_mbtemp(){ unsignedintmb; mb=MBTemp*100; //变成整数,便于单片机处理 table_mbtemp[4]=mb%10+0x30; //分别取温度十位、个位、小数点后一位、小数点后二位 mb=mb/10; table_mbtemp[3]=mb%10+0x30; mb=mb/10; table_mbtemp[1]=mb%10+0x30; mb=mb/10; table_mbtemp[0]=mb%10+0x30;}/***************************************************** 主函数*****************************************************/voidmain(){ //ucharflag1=0; LCD_Init(); //LCD1602初始化音使用 while(1) { show_temp();//显示温度示时间 warn(); key_pro(); }}/***************************************************** 温度显示子函数*****************************************************/voidshow_temp() { if(!TN_IR_GetData()) { MBTemp=iTemp; } dis_mbtemp(); //目标温度值MBtemp处理 LCD_Write_String(0,0,"TEMP:”); LCD_Write_String(7,0,table_mbtemp);}/***************************************************** 按键处理*****************************************************/voidkey_pro(){ ucharshi,ge,num_key=0; bitflag1=1; if(keys==0) //按键S按下 { delay_ms(10); //按键消抖 if(keys==0) { while(!keys);//松手检测 fm=1; LCD_Write_Com(0x01); LCD_Write_String(0,0,”T1H:”); LCD_Write_String(8,0,"T1L:"); LCD_Write_Com(0x84); shi=T1h/10; LCD_Write_Data(shi+0x30); ge=T1h%10; LCD_Write_Data(ge+0x30); LCD_Write_Com(0x8c); shi=T1l/10; LCD_Write_Data(shi+0x30); ge=T1l%10; LCD_Write_Data(ge+0x30); while(flag1) { if(keys==0) { delay_ms(10); if(keys==0) { while(!keys); num_key++; if(num_key==2) num_key=0; } } if(num_key==0) { LCD_Write_Com(0x85); LCD_Write_Com(0x0f); if(keyz==0) { delay_ms(5); if(keyz==0) { while(!keyz); T1h++; if(T1h==100) T1h=99; LCD_Write_Com(0x84); shi=T1h/10; LCD_Write_Data(shi+0x30); ge=T1h%10; LCD_Write_Data(ge+0x30); } } if(keyj==0) { delay_ms(5); if(keyj==0) { while(!keyj); T1h--; if(T1h==0) T1h=1; LCD_Write_Com(0x84); shi=T1h/10; LCD_Write_Data(shi+0x30); ge=T1h%10; LCD_Write_Data(ge+0x30); } } } if(num_key==1) { LCD_Write_Com(0x8d); LCD_Write_Com(0x0f); if(keyz==0) { delay_ms(5); if(keyz==0) { while(!keyz); T1l++; if(T1l==100) T1l=99; LCD_Write_Com(0x8c); shi=T1l/10; LCD_Write_Data(shi+0x30); ge=T1l%10; LCD_Write_Data(ge+0x30); } } if(keyj==0) { delay_ms(5); if(keyj==0) { while(!keyj); T1l-—; if(T1l==0) T1l=1; LCD_Write_Com(0x8c); shi=T1l/10; LCD_Write_Data(shi+0x30); ge=T1l%10; LCD_Write_Data(ge+0x30); } } } if(keyq==0) { delay_ms(5); if(keyq==0) { while(!keyq); LCD_Write_Com(0x01); LCD_Write_Com(0x8d); LCD_Write_Com(0x0c); flag1=0; } } } }}}voidwarn(){ if((MBTemp〉=T1h)) //温度大于50°报警 { fm=0; ji=0; ledg=0; ledc=1; ledd=1; } elseif((MBTemp<=T1l)) { fm=0; ji=0; ledd=0; ledg=1; ledc=1; } else { fm=1; ji=1; ledc=0; ledg=1; ledd=1; }}毕业设计(论文)任务书?!!下面的行距都跟原来的封面不一样了,连论文题目也没有。。。你能不能用“?!!下面的行距都跟原来的封面不一样了,连论文题目也没有。。。你能不能用“论文”封面?(2016届)所属系(部):机电工程学院所学专业:通信技术班级:13通信技术班姓名:xxx学号:xxx指导教师:xxx2015年7月7日AT89C52单片机设计设计单片机??设计单片机??通信技术XxxXxx摘要计算器是微型电子计算机的一种特殊类型。它与一般通用计算机的主要区别在于程序输入方式的不同.计算器的程序一般都已经固定,只需按键输入数据和运算符号就会得出结果,很容易就能掌握.而一般计算机的程序可以根据需要随时改动,或重新输入新的程序。简易计算器主要用于加减乘除;科学计算器,又增添了初等函数运算。随着微电子技术的不断发展,微处理芯片的集成程度越来越高,单片机已可以在一片芯片上同时集成cpu,存储器,定时器,计数器,并行和串行接口,看门狗,前置放大器,A|D转换器,D|A转换器等多种电路。完成一定区间和条件的简单四则运算过程.关键词:计算器,AT89C52,矩阵按键,LCD1602目录TOC\o”1—3”\h\z\uHYPERLINK\l”_Toc432753147"第一章绪论1HYPERLINK\l”_Toc432753148”1。1课题的提出及意义11.2设计的任务及要求12。1芯片比较32.1.1单片机选择32.1.2显示器的选择3HYPERLINK\l”_Toc432753154"2.1。3按键部分的选择42。2总体设计及系统原理43。1.1单片机发展历史63.1。2单片机发展趋势6HYPERLINK\l”_Toc432753160"3。1。3计算器系统现状7HYPERLINK\l”_Toc432753161"3。1。4AT89C52系列单片机简介8HYPERLINK\l”_Toc432753162"3。2矩阵按键部分16_Toc432753164”第四章单片机软件设计25HYPERLINK\l”_Toc432753165"4。1主程序设计25HYPERLINK\l”_Toc432753166"4.2键扫程序设计25HYPERLINK\l”_Toc432753167”4。3算术运算程序设计26HYPERLINK\l”_Toc432753168”4。4显示程序设计27HYPERLINK\l”_Toc432753169”第五章单片机安装、调试29_Toc432753171"5。2安装步骤30HYPERLINK\l”_Toc432753172”5。2.1检查元件的好坏30HYPERLINK\l”_Toc432753173”5.2.2放置、焊接各元件305.3调试345.3.1硬件调试345.3.2软件调试34结束语35HYPERLINK\l”_Toc432753178"致谢36参考文献37第一章绪论1.1课题的提出及意义随着社会的发展,科学的进步,人们的生活水平在逐步地提高,尤其是微电子技术的发展犹如雨后春笋般的变化。计算器在人们的日常中是比较常见的电子产品之一,如何使计算器技术更加的成熟,充分利用已有的软件和硬件条件,设计出更出色的计算器,使其更好地为各个行业服务,成了如今电子领域重要的研究课题。现在人们的日常生活中已经离不开计算器了,社会的各个角落都有它.因此设计一款简单实用的计算器会有很大的实际意义。本设计在进一步掌握单片机理论知识,理解嵌入式单片机系统的硬软件设计,加强对实际应用系统设计的能力.通过本设计的学习,使我掌握单片机程序设计和微机接口应用的基本方法,并能综合运用本科阶段所学软、硬件知识分析实际问题,提高解决毕业设计实际问题的能力你的本设计不就是“毕业设计”你的本设计不就是“毕业设计”吗?怎么本设计去提高解决毕业设计的能力??对字符液晶显示模块的工作原理,如初始化、清屏、显示、调用及外特性有较清楚的认识,并会使用LCD(液晶显示模块)实现计算结果的显示;掌握液晶显示模块的驱动和编程,设计LCD和单片机的接口电路,以及利用单片机对液晶显示模块的驱动和操作;在充分分析内部逻辑的概念,进行软件和调试,学会使用,并能够以其为平台设计出具有四则运算能力简易计算器的硬件电路和软件程序。这些要不放在论文最后总结那里。这一节讲的是这些要不放在论文最后总结那里。这一节讲的是“计算器”本身的意义,不是做这个对你的意义。1。2设计的任务及要求eq\o\ac(○,1)目的:通过本次工程实践,运用《智能化测量控制仪表原理与设计》、《MCS—51系列单片微型计算机及其应用》所学知识及查阅相关资料,完成简易计算器的设计,达到理论知识与实践更好结合、提高综合运用所学知识和设计能力的目的。通过本次设计训练,可以使我们在基本思路和基本方法上对基于MCS—51单片机的嵌入式系统设计有一个比较感性的认识,并具备一定程度的设计能力。逻辑不对吗?不是先理论设计好了,再实践的吗?上面那段都实践完了,这里才理论设计?逻辑不对吗?不是先理论设计好了,再实践的吗?上面那段都实践完了,这里才理论设计?eq\o\ac(○,2)要求:使用硬件:MCS—51单片机,中央处理器,数据存储器(RAM),程序存储器(ROM)等。使用软件:电子绘图软件Protel。(1)通过网络及各种相关书籍查找相关信息,确定使用的元器件。(2)以MCS—51单片机为核心,开发一个完整的系统,包括硬件设计和软件的编程.(3)使用Protel软件,绘制原理图、PCB,并进行元器件安装、焊接及调试检测达到预期的目的.矩阵按键输入、LCD1602液晶显示,构成一套可以运算两个数之间的加减乘除的设计。最大运算是:9999*9999,可以运算负数。第二章总体方案设计2.1芯片比较2。1.1单片机选择AT89C52是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含8Kbytes的可反复擦写的只读程序存储器(PEROM)和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,与标准MCS—51指令系统及8052产品引脚兼容,片内置通用8位中央处理器(CPU)和FLASH存储单元,功能强大AT89C52单片机适用于许多较为复杂控制应用场合.AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。AT89C52有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。2。1。2显示器的选择在单片机应用系统中,使用的显示器主要有LED(发光二极管显示器)、LCD液晶显示。方案一:使用8位LED数码管来显示,LED显示器是由发光二极管显示字段组成的显示器件,在单片机应用系统中通常使用的是七段LED,这种显示器有共阴极和共阳极两种,它具有成本低廉、配置灵活和单片机接口方便等特点.方案二:使用液晶显示器来显示。液晶是介于固态和液态间的有机化合物,将其加热会变成透明液态,冷却后变成结晶的浑浊固态。在电机的作用下,产生冷热变化,从而影响它的透光性,来达到显示的目的。LCD还具有以下优点:(1)低压、微功耗;(2)显示信息量大;(3)长寿命;(4)无辐射、无污染。选择液晶显示屏。为了适应本课题的需要,本设计采用液晶显示屏LCD1602进行显示。2.1.3按键部分的选择根据操作需要和毕业设计需要,按键部分采用4*4行列式键盘,分别设定数字键和功能键。2.2总体设计及系统原理所示:

温馨提示

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

评论

0/150

提交评论