【基于单片机的非接触式红外体温测量仪设计10000字(论文)】_第1页
【基于单片机的非接触式红外体温测量仪设计10000字(论文)】_第2页
【基于单片机的非接触式红外体温测量仪设计10000字(论文)】_第3页
【基于单片机的非接触式红外体温测量仪设计10000字(论文)】_第4页
【基于单片机的非接触式红外体温测量仪设计10000字(论文)】_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

-4-基于单片机的非接触式红外体温测量仪设计目录TOC\o"1-2"\h\u10448目录 -2-26901中文摘要 -3-27907英文摘要 -4-177511概述 -5-202771.1选题的背景及意义 -5-258841.2应用和研究现状 -5-116671.3红外温度测量技术原理概述 -6-19462红外测温仪系统设计方案介绍 -8-106082.1红外测温系统的技术指标及主要功能 -8-55362.2红外测温系统的硬件系统方案设计 -8-306322.3红外测温仪的应用软件系统的方案设计 -9-191313红外测温系统硬件设计 -10-243643.1单片机处理模块 -10-197873.2红外测温模块 -12-172263.3晶振电路以及复位电路模块 -13-61833.4电源模块 -14-197673.5按键模块 -14-190743.6LED显示模块 -15-58554软件程序设计 -16-225214.1编程软件介绍 -16-23804.2主程序系统的软件设计 -17-86754.3按键函数流程设计 -19-294694.4显示函数流程设计 -19-31704.5处理函数流程设计 -20-163595总结 -21-16250参考文献 -21-23630附录A原理图 -23-9304附录B程序代码 -26-摘要:在当今的日常生活中,普通的温度计己经实现不了迅速而又精确的温度测量要求,也无法在地铁站和飞机场等人口密度较大的区域实现个人体温测定。所以,为解决常规温度计测定温度的主要缺陷—需要测温者和被测量目标的近距离联系和测量不方便问题,在确保测温数据迅速精确的前提下,设计出了非接触式红外体温测量仪,从而完成了对人体表面迅速精确的温度检测。红外测温仪集迅速、精确、安全、简单实用等诸多优势为一体,迅速的被更多的人所了解和接触。而此项技术的最主要部分就是通过微机系统和感应器实现对人体表面温度的非接触式红外检测。系统的核心主要是MLX90614红外温度传感器和STC89C52芯片。将STC89C52单片机控制器作为其核心控制部件的红外线检测与温度控制系统。整个系统是由单片机的最小系统、显示系统、按键系统等部分组成。关键词:STC89C52单片机,红外线测温,LED显示屏概述1.1选题的背景及意义自2019年12月份新型冠状病毒首次出现在我国湖北武汉已经过去了两年时间。当前,国外的新冠肺炎病毒仍在扩散,中国国内多个省份也正陆续出现大量本土散发病例和集中性疫病,在奥密克戎变异株事件发生后,中国肺炎流感防治形势更为严峻复杂。在流感防治阻击战中,应急物品严重匮乏、供给不足,而基础类产品的全球化供应却仍无法满足需要,所暴露出的严重社会问题和明显社会问题,让人铭记犹新,又或者是刻骨铭心。疫病防控设备中非接触式红外体温测量仪,也就是现在人们所通称的手持耳温和额温枪,在疫病防治中起到了无可替代的主要功能。手持测温枪可以满足医院、高校、海关、酒店、图书馆、家庭、机场等综合性公共场所的快速检测。在最近几年时间,由于水银的生产工艺、刻度的准确性、以及环保问题等原因逐步淘汰了水银温度计。电子温度计则需要接触到测量对象,在对儿童、以及重症病人等测量对象进行测温时,测量的过程会遇到很多困难和不方便,也正在慢慢被红外测温仪器替代。非接触式红外线测量技术不要求触及被测物体,可以防止传染、灼伤等隐患。对于没有接触的物品,尤其是像卫生设施、医疗材料等,不会遭到污染或破坏。而非接触式的红外线检测温技术,可以迅速、精确地检测出物品的表面温度,并且具备反应快、精度高、价格低、寿命长、长期使用安全可靠等特性,在产品质量管理与检测、电子设备的在线故障诊断、安全防护等领域都起到了关键性作用。此次研制非接触式红外体温测量仪的最主要目的,就是它可以在空港、海关、车站、宾馆、商城、剧院、写字楼、大学校园等人流动很大的公众场所,在迅速、精确、无接触式的情形下检测出体内环境温度,所以非接触式的红外线体温测量法也被已经广泛应用于新冠肺炎预防的监测工作中。正因为是非接触式红外线体温检测仪的各种优良特点,而能够应用在不同场所,并有着非常好的市场前景。并且通过此次制作毕业设计的过程,也提高了自己的自学能力,掌握了如何设计程序,如何借鉴所学传感电子的理论知识去解决问题。1.2应用和研究现状红外体温测温仪的研发,在国内已经有了数十年的历史。近二十多年,非接触式红外线测温计技术方面获得快速进展,性能不断改善,功用日益扩大,种类日益丰富,应用也不断丰富,市场占有率逐渐扩大。目前,红外测温仪已经成为一款非常成熟的产品,它具有远距离、大面积、高效率等优点。现如今运用到了红外线原理、人脸识别、AI等技术手段的红外热成像测温仪,可以在微秒内部进行体温筛查,测量距离可达十米左右,可自动记录体温的异常信号、适时发布预警,甚至自动抓取发热人。在中国,已经广泛运用在机场、地铁站、医院、高速火车站等拥挤的地方。手持测温枪实物如图1-1所示:图1-1手持测温枪实物图1.3红外温度测量技术原理概述一、红外测温原理红外线测温仪的测量基本原理是根据黑体辐射定律,已知,在自然界中所有高温高于绝对零度的物质,都在不停地向外部放射热量,而物质的向外放射能量的高低以及其波段的划分,与物质体表的温度有着紧密的关系,其所产生的红外线辐射能力随着物质的体表环境温度增高而增强,根据普朗克公式定义可得出黑体的光谱辐射出射度的关系式即:下图1-1为不同温度下的黑体光谱辐射度图。图1-2不同温度下的黑体光谱辐射度图总结图中曲线的规律可发现黑体辐射具有以下特点:①在任意温度下,绝对黑体的光谱辐射率都随着波长而不断改变,每一条曲线都有一条极大值;②由于工作温度的提高,与光谱辐射度最大值相应的短波段减少.这说明了由于工作温度的提高,黑体辐射中的短波段辐射所占比重增大;③随着工作温度的增大,黑体波长强度全面提高,因此即使在任何的波段上,与较深温度有关的光谱辐射量也都增大,反之亦然.二、红外测温的方法依据根据测量原理的不同,红外测温仪的设计主要有以下三种方式,利用测量照射物体的全波段的热辐射,来判断物体的照射温度的方法称为全辐射测量法;利用测定物在某个波段下的单色辐射亮度变化来判断它的亮度温度的方法叫做比光度测量法;而如果是利用被测物在二个波段下的单色辐射光度之比随温度改变来定温度的方法叫做比色量温度法。亮度测量法无需温度补偿,且发送率偏差较小,测量体温的精确度高,可工作在短波区,只适合于高温测试。比色测量法的光学传感体系可局部屏蔽,受烟气粉尘影响程度较小,因此检测温度偏差较小,但需要选取相应波段,使波束的发送比差不大.本文主要采用全辐射测量法来估计被测物质的工作温度,全辐射测量法是通过所有波段区域内的全部射线而定温度控制,所求得的便是物质的全射线工作温度。采用这个办法是因为中低温物质的波长变化较大,全射线信号也很微弱,并且构造简便,成本也较低廉,但是它的测量准确度稍差,受物质辐射率负面影响也较大。以下为全射线测量法的有关办法说明:根据普朗克公式,我们可以推导出辐射体温度和检测电流相互的关系式:V=RaεσT4=KT4式中K=Raεσ,由实验结果确定,定标时的σ取一T—被测物体的绝对温度R—探测器的灵敏度a—与地球大气衰减距离直接相关的值常数ε—辐射率σ—斯蒂芬—玻耳兹曼常数如此就能够利用测量电流而判断被测物质的目标环境工作温度,但上式说明了探测器的电流信号与目标环境工作温度成非线性相关,即V和T值的4次方成正比,故要采用线性化处理方法。线性化加工后所得物质的表观环境温度,需通过辐照率校准为实际环境温度,其校准式结果为:其校正式为:式中Tr—-辐射温度(表观温度)ε(T)——辐射率,取0。1~0。9受到调制片辐射信号的影响,经辐射率调整后的实际温度将超过周围环境的工作温度,还需要再作环温补偿,即实际的工作温度再加环境温度才能在最后得出被测物质的实际工作温度。系统设计方案介绍2.1系统设计的技术指标及主要功能1:温度测量精度±1℃;2:温度测量的分辨率0。1℃:2:LED显示;3:电源:DC5V±10%;4:工作温度为≤60℃工作环境湿度为≤80%;2.2系统方案设计此红外线测温仪设计运用了模块化的设计理念。硬件设计中控制芯片使用的是STC89C52单片机,其主要功能为收集输入信息,并进行内部处理,同时监控输出信号。整个系统主要由四个部分构成,第一部分为DS18B20环境温度监测模块,通过该模组可监测当前的温度数值;第二部分为非接触式型人体红外线温度监测模块,通过该模组可监测当前的人体环境温度;第三部分为独立按钮,利用三个单独按钮提供界面和设定当前人体环境温度的最大值;第四部为电源电路,为整体控制系统提供电源。输出部分主要由二个部门构成,第一部LCD1602型显示模块,利用该模组能够表示当前温度、人体环境温度、设定人体环境温度的最大值等;第二部分为蜂鸣器,如果当前人体环境温度超过设定的最大值,则蜂鸣器每隔500ms告警一次,如果当前人体环境温度小于或等于设定的最大值,则蜂鸣器立即终止告警。同时各个模块的软件设计也是对应的,它包含了为主程式模组,键盘扫描模组,显示器模组以及蜂鸣器报警模组。主程序模组主要实现了系统初始化,内部温度的测量,串行口通讯,鼠标和显示器等功能。而系统的初始化分为:LED显示器的初始化、时间中断的初始化、串口通信中断的初始化、外部中断源的初始化。按键扫描模块:收集按钮数据,并管理按钮请求等。温度显示模块:收集和管理相关的温度信息。此红外测本设备以STC89C52单片机为基础控制器,并连同其他的模组共同构成了非接触式红外测量的整体控制系统,其主要包括中控部门、输入部分和产出部分。此红外测温仪系统的总体设计框图如图21所示:图2-1红外线测温仪系统的总体方案设计框图硬件设计3.1单片机系统模块本次红外测温仪设计是以STC89C52单片机为核心器件。STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。具有以下标准功能:8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KBEEPROM,MAX810复位电路,3个16位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。另外STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选。本系统单片机最小系统电路原理图如图3-1所示。图3-1单片机最小系统电路原理图3.2测温模块红外测温模块:红外测温模块所使用的传感器型号是MLX90614。MLX90614系列模块,是一个普通的红外线检测温度模组。在出厂前该模组就已进行了校验和线性化,具有非接触式、容积小、精确度高,成本低等优势。被测目标气温和周围环境气温都能进行单频道输出,它有二个供电端口,特别适用于汽车空调、房间取暖、个人家电、手持装置和医疗设备使用中。而MLX90614也有特别适合于三伏和五伏供电使用中的二个型号。因为三伏型有低于二毫安的电量损耗,它也特别适合于手提设备和电池的动力装置。因此,传感器中还存在着一种节能"休眠"方法,此时的电量损耗可低于二毫安。而针对十二伏汽车电池直接供电的状况,5V型包含的内部电子元件还可以和几个外部电容器共同在更高压力下工作。MLX90614管脚如图3-2所示: 图3-2MLX90614管脚MLX90614的管脚功能表:名称功能描述VSS接电源地,金属外壳和该管脚相连SCL/VzSMBus接口的时钟信号,或8-16V电源供电时接三极管基极PWM/SDAPWM或SMBus接口的数据信号,通常模式下从该管脚通过PWM输出物体温度VDD电源红外测温模块电路原理图如图3=5所示:环境温度测量模块:环境温度测量模块所使用的传感器型号是DS18B20。DS18B20温度传感器是美国DALLAS半导体公司推出的一种温度传感器。与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9-12位的数字值读数方式。DS18B20采用3脚PR-35封装或8脚SOIL封装。DS18B20的温度检测与数字数据输出全集成于一个芯片之上,从而抗干扰力更强。其一个工作周期可分为两个部分,即温度检测和数据处理。DS18B20共有三种形态的存储器资源,它们分别是:ROM只读存储器,用于存放DS18B20ID编码,其前8位是单线系列编码(DS18B20的编码是19H),后面48位是芯片唯一的序列号,最后8位是以上56的位的CRC码(冗余校验)。数据在出产时设置不由用户更改。DS18B20共64位ROM。RAM数据暂存器,用于内部计算和数据存取,数据在掉电后丢失,DS18B20共9个字节RAM,每个字节为8位。第1、2个字节是温度转换后的数据值信息,第3、4个字节是用户EEPROM(常用于温度报警值储存)的镜像。在上电复位时其值将被刷新。第5个字节则是用户第3个EEPROM的镜像。第6、7、8个字节为计数寄存器,是为了让用户得到更高的温度分辨率而设计的,同样也是内部温度转换、计算的暂存单元。第9个字节为前8个字节的CRC码。DS18B20的性能特点如下:1.独特的单线接口仅需要一个端口引脚进行通信;2.多个DS18B20可以并联在唯一的三线上,实现多点组网功能;3.不需要外部器件;4.可通过数据线供电,电压范围为3.0-5.5V;5.零待机功耗;6.负电压特性,电源极性接反时,温度计不会因发热而烧毁,只是不能正常工作。环境测温模块电路原理图如图3=5所示:3.4电源模块STC89C52的内核供电为5v,而此红外测温仪系统的红外测温模组与LCD键盘模组之间的共电电压一般都能为5V,所以在使用此电源模组之后,必须使外部输入电压转换为5V的单片机工作电压,才可以保证红外测温系统的正常工作。因为要考虑到系统的便携性,所以该系统采用电池供电。市面上电池的种类繁多,比如干电池、锂电池和纽扣电池等。本系统决定使用常见的两节锂电池串联作为系统电源。两节锂电池在串联后电压为7.2V,因此需要使用到降压电路,使电路稳压后输出5V的电源电压系统。本次降压电路选用的芯片为PW2162,PW2162是一个完全集成,高效率2A同步整流降压转换器。PW2162在宽输出电流负载范围内以高效率运行。此设备提供两种工作模式,PWM控制和PFM模式开关控制,实现高效率在更宽的负载范围内。PW2162的主要特征如下:效率高达96%2.600KHz频率操作2A输出电流不需要肖特基二极管5.4.5V至16V输入电压范围6.0.6V参考电压7.斜坡补偿电流模式控制对于良好的线路和负载瞬态回应电源电路原理图如图1--2所示图3-6电源电路原理图3.5按键模块此次设计的控制系统启动红外线测量功能时仅须按下电源电路中的开关电源,在LCD1602上可对报警上下限加以调节,包括数值的加与减及在调节完成之后的确认,通过思考之后,最终将控制系统的主要功能按键设定为三个,均使用了独立的键盘模组,电路原理图如图3-7所显示。图3-7系统按键电路原理图键盘模块选用动态扫描的方法,并选用了三个独立式键盘。相比于矩阵键盘系统,独立式键盘系统是一个常启型按键开关,在常规下键盘开关的二端接点都处在断开状态,按下键时它们才封闭,较大的好处是使用方便,而且程式编写也比较简单。3个键盘系统的功用,具体包括:按键S1:调整报警值上下限的功能键,按下后进入调整状态,调整完毕后再按一次确认设置值。按键S2:在跳针的状态下,可以进行“加”功能;按键S3:在跳针的状态下,可以进行“减”功能;3.6LCD显示模块本此设计决定采用LCD1602显示器做为显示屏,相对于普通的LED,LCD1602所要求的管脚更少,而且集成电路图和实物都比较简单。同样,LCD1602显示器还能够显示数字和字母,而LED却只能够显示出数字。LCD1602显示器在系统上电工作后就开始运行显示了,它与单片机的连接电路图如图3-8所示:图3-8LCD1602显示电路图R/W是读写信号线,在高电平时执行读操作,低电平有效时执行写操作;RS为选择寄存器,低电平有效时选指令寄存器、高电平时选数据寄存器。由于此次设计中只要求对液晶显示器进行写操作,为节约单片或微型计算机插针资源,它可以直接接为低电平而有效;EN端也是使能端,当EN端从高电平跳过转为低电平时,液晶模块执行指令。图3-6中的R2,是一个3.3欧姆的滑动变阻器,通过变化它的位置,就可以调整显示屏幕的对比度。3.7蜂鸣器模块蜂鸣器电路其实是报警驱动电路,R5是限流电阻,它的作用是避免因电路电流过大损伤其他元件。P2.1口所输出的是控制信号,因此Q1也可认为是一个电气开关,用于控制蜂鸣器的运行与中断。当P2.1口输出高电平时,Q1饱和导通,蜂鸣器通电工作并发出警鸣,当p2.1口截至输出时,Q1截止断电,蜂鸣器终止工作。图3-9蜂鸣器电路原理图软件程序设计应用软件的设计是整套操作系统的核心,它拥有足够的灵活性和可修改性,并且能够随着操作系统的需要而改变。在硬件构成一定的情形下,通过改变应用软件也可以完成不同的功能。本设计的红外线测量系统的软件方面全部使用了C语言编制,以增强系统的可读性和可移植性。本次的软件设计方式也与硬件设计的方式相对,通过按模组相应地加以设计及编写,可以把整套操作系统的软件设计按功能分割成几个子程序模组,然后依次加以编程、调试等,使整套编程显得更加简单,明了,同时在调试运行流程中也便于发现自己的错误,从而增加了编程的有效性。整套控制系统主要分为主程序模组、红外线检测模组、功能按键模组、显示器模组等子程式。4.1编程软件介绍本次设计编程部分采用美国KeilSoftware建立的KeilμVision5开发平台,Keil5的工作方式相对于其他软件编程环境,Keil5更加的轻便快捷,操作更加的简单。Keil五还支持各种芯片,包括51单片机、STM32、HC32、NXP等,产生的HEX文档,也可以通过烧录器直接烧录在单片或微型计算机中,非常方便。另外,Keil5编译有三种,一种是单编,一种是部分编译,还有一种是全部编译,这样给开发人员更多的选择,并且编译的结果,显示在界面的最下方,供开发者查找错误。Keil5工作界面如图4-1所示:示:图4-1keil5工作界面本次软件编程选用了C语言为主要设计语言,相对于汇编等其他编程语言,用C语言描述的问题更为快捷,简单易学工作量小、可读性强并且方便修改和移植[10]。C语言结构清晰,很多部分可以通过调用子函数来实现,调试出错时方便检查,对编程人员的技术能力要求较低。可以每部分单独编程,与本次设计的要求相契合。4.2主程序设计在主程序设计中:先对各个模板完成初始化,然后加入while主循环系统,在主循环系统中,先加入一种函数按键函数,该函数主要包括二个部分,第一分为通过调用按键扫描函数获得的按键键值,第二部分通过按键完成相关的数据处理动作,包括更改界面、设定身体环境温度的最大报警数值等;然后进入第二个函数检测函数,该函数主要使用相关元器件获取环境温度和身体环境温度;然后加入第三个函数检测函数,该函数主要使用不同的界面标识位表示不同的用户界面,包括在主页面中显示当前的温度值和身体环境温度,在另外界面中显示已设定身体环境温度的最大数值等;紧接着加入第四个函数处理函数,该函数主要确定当前人体温度是不是在设定的最大之内,如果当前人体温度超过了设定的最大,则蜂鸣器每间隔500ms报警一遍,如果当前人体温度不足或超过设定的最大温度,则蜂鸣器立即终止报警;结尾,使用一组延时函数和计算公式,以控制各函数扫描周期。图4-2系统的主流程图4.3测温程序设计红外测温模块的程序结构相对比较简单。当主函数调用测温函数模块时,测温模块就开始顺序地执行信息的处理发送。首先程序对MLX90614进行初始化(读取传感器的地址、合成相应的指令等),然后c52通过传输协议来读取存在MLX90614里的TO数据。通过计算可以得出对应的体温值是多少,并且可以通过LCD来显示测量结果。MLX90614发送和接收数据是以字节为单位进行的。每次发送一个字节,需要判断是否有应答,如果有应答,就接着发送下一个字节;如果没有应答,多次重发该字节,直到有应答,再发送下一个字节,如果多次重发后,仍然没有应答,就结束。接收数据时,每次接收一个字节,向对方发送一个应答信号,继续接收下一个字节。从MLX90614中读出的数据是16位的,由高8位(DataH)和低8位(DataL)两部分组成,其中RAM地址07H单元存储的是TO数据,数据范围从0x2D8Ah~0x4DB0h,表示的温度范围是-40°C~85°C。从MLX90614中读出的数据(DataH:DataL)换算为温度的数据单位为摄氏度(°C),其换算公式为:To[°C]=RAM(DataH:DataL)*0.02–273.15。数据传输时序图:图3-3数据传输时序图PWM/SDA上的数值在SCL变成低电平300n时后立即发生变化,数据结果从SCL的上沿被捕获。十六字节的统计信息分为二段传递,每传一字节。每字节都是按高位(MSB)在前,低位(LSB)在后的格式传递,两字节之间的第9个时钟为应答时钟。 环境温度测量程序设计在环境测温模块中,先初始化DS18B20,然后启动温度转换,读取转换后的温度值,并进行处理,最终将温度显示在LCD屏幕上。DSL8b20是L线单线器材,即在一根数据线上实现数据的双向传输,这就需要严格的通信协议来保证各位数据传输的正确性和完整性。4.3按键程序设计按键设置功能首先使用按键扫描函数,读取按键所按下的键值,再使用不同的按键,以实现对相应变量的调整。如果所获取的键值都是1,则进行界面标志位+1。当所获取的键值为2,人体温度最大值小于99℃且显示标志位为1时,代表人体温度的最大值+1;当所获取的按键值为3,代表人体温度最大值大于0℃且显示标志位为1时,代表人体温度的最大值为-1。按键函数子流程图如图4-3所示。图4-3按键函数子流程图4.4显示程序设计显示模组通过采用不同的显示模式,以标识位置表来示不同的界面,在显示标识位为0时,界面0表示当前的人体温度和环境温度;显示标志位为1时,界面1显示蜂鸣器报警的的最大预警值。显示函数子流程图如图4-4所示:图4-4显示函数子流程图4.5蜂鸣器程序设计处理函数子流程中,先确定当前的显示标志位是否为0,如果为0,则首先确定当前身体环境温度,若当前身体环境温度超过设定的身体环境温度最大,则鸣声器每隔500ms报警一遍,若当前身体环境温度不足或超过设定的身体环境温度最大,则鸣声器立即终止报警。如果当前显示的标志位不为,则蜂鸣器停止报。处理函数子流程如下图4-5所示:图4-5处理函数子流程图总结本次设计主要包括两个部分的设计:硬件设计和软件设计。在设计的过程中必须去了解和学习所应用集成电路的原理与功能,如此可以了解集成电路必须用到什么元器件,例如,电源电路的电容是发挥了滤波的功能,我们需要根据电路压力的高低,来选用适当的电容器。在进行这次毕业设计的过程中,我不知不觉中学习到了比较全面的单片机基础知识,并使我在思维方面与动手技术都进步了很多,大大增强了自己的知识运用能力,为我在毕业后的工作与学习中打下了坚实的基石。同时,也使我看到了自身许多所欠缺的地方。这更鼓舞了我要在今后的生活中多读书,多动笔,多反思,并力争在今后的学习与工作中努力做到好。谢辞四年的时光转瞬即逝,这篇论文也为我的大学生活画上了圆满的句号。在这里我要由衷的感谢我的指导老师陈章宝老师,感谢老师在完成毕业设计过程中的悉心指导,指导我理论知识的学习,为我之后毕业论文的设计与实践打下了夯实的基础。同时我也要感谢和我一起学习进步的好伙伴,在我疑问时为我解惑,在我繁忙时送上援助之手,并在论文的写作过程中一起解决遇到的各种问题。我也要感谢我的室友对我生活上的帮助,日常的督促,让我养成养好的生活及学习习惯。最后我也要感谢自己不断的提高自己的能力,在完成学业的同时,也有了面向社会的勇气与实力,最后感谢我的母校蚌埠学院,谢谢您对我的栽培!参考文献[1]王升升.基于创新能力提升的非接触红外测温仪的设计[J].南方农机,2021,(18):167-169.[2]侯杨阳.一种教学用非接触式红外测温系统的设计实现[J].电子技术与软件工程,2021,(15):90-91.[3]葛泽勋.医用红外测温仪及其关键技术研究[D].导师:曹秒.长春理工大学,2019.[4]杨志巍,张朝龙,刁书成,江善和,李彦梅.基于单片机的红外测温装置设计[J].电脑知识与技术,2019,(13):278-280.[5]严敏.1602液晶显示计数器的设计与实现[J].焦作大学学报,2016,(04):82-84.[6]薛彪,张可儿,岳明星.基于单片机的非接触式温度测量仪设计[J].陇东学院学报,2016,(03):14-18.[7]秦钟.简易红外测温仪的设计[J].电子制作,2014,(21):1-2.[8]李浩.采用STM32F103芯片的红外测温仪设计[J].电子产品世界,2013,(09):45-47+56.[9]吕程.红外测温仪设计分析[J].计算机光盘软件与应用,2012,(05):210+207.[10]赵亮.液晶显示模块LCD1602应用[J].电子制作,2007,(03):58-59.[11]杜轩,董喜奎.红外测温仪的设计原理及应用[J].河北科技大学学报,1998,(03c附录A元器件清单序号 型号 规格 数量 位置 名称1 10K AXIAL0.3 1 R4 电阻2 10K AXIAL0.4 1 R1 电阻3 10uF DIP-EC2.5X5X11 2 EC1,EC2 极性电容4 11.0592MOSCHC-49S 1 Y1 晶振5 1K AXIAL0.3 2 R3,R5 电阻6 3.3K AXIAL0.3 1 R2 电阻7 30P RAD-0.1 2 C1,C2 无极性电容8 BEEP BEEP7.6X12X7.5 1 B1 蜂鸣器9 BUTTOM DIP-6X6X5 4 K1,S1,S2,S3按键10 DC_Socket DC-002 1 DC1 电源接口11 DS18B20 TO-92A 1 U2 温度传感器12 KFTDIP-8X8 KFTDIP-8X8 1 S4 自锁开关13 LCD1602 LCD1602 1 LCD1 显示模块14 LED LED5-BLUE 1 LED1 发光二极管15MLX90614ESF模块 MLX90614 1 U1 MLX红外测温模块16 PNP TO-92A1 Q1 PNP三极管17 STC89C52 DIP40_MH 1 STC1 51单片机18 下载口PinHDR1X3/2.54mm-S1 JD1 下载口2.54排针附录B原理图

附录C程序代码主程序:#include"main.h"#include"lcd1602.h"#include"key.h"#include"ds18b20.h"ucharkey_num=0; ucharflag_display=0; uinttime_num=0; uintE_temp_value=0; uintR_temp_value=0; uintR_temp_max=37; voidDelay_function(uintx); voidKey_function(void); voidMonitor_function(void); voidDisplay_function(void); voidManage_function(void); voidmain(){ Lcd1602_Init(); Delay_function(50); lcd1602_clean(); Delay_function(50); Ds18b20_Init(); Delay_function(50); while(1) { Key_function(); Monitor_function(); Display_function(); Manage_function(); Delay_function(10); time_num++; if(time_num>5000) { time_num=0; } }}voidDelay_function(uintx){ uintm,n; for(m=x;m>0;m--) for(n=110;n>0;n--);}voidKey_function(void){ key_num=Chiclet_Keyboard_Scan(); //° if(key_num!=0) { switch(key_num) { case1: flag_display++; if(flag_display>1) flag_display=0; lcd1602_clean(); break; case2: if(R_temp_max<99&&flag_display==1) { R_temp_max++; } break; case3: if(R_temp_max>0&&flag_display==1) { R_temp_max--; } break; default: break; } }}voidMonitor_function(void){ if(time_num%50==0) { E_temp_value=Ds18b20_Read_Temp(); R_temp_value=Ds18b20_Read_Temp_1(); }}voidDisplay_function(void){ switch(flag_display) { case0: lcd1602_display_str(1,0,"E_Temp:"); lcd1602_display_temp(1,7,E_temp_value); lcd1602_display_str(2,0,"R_Temp:"); lcd1602_display_temp(2,7,R_temp_value); break; case1: lcd1602_display_str(1,0,"R_Temp_Max:"); if(time_num%20==0) { lcd1602_display_num(1,11,R_temp_max); } if(time_num%40==0) { lcd1602_display_str(1,11,""); } break; default: break; }}voidManage_function(void){ if(flag_display==0) { if(R_temp_value>R_temp_max*10) { if(time_num%50==0) BEEP=~BEEP; } else { BEEP=1; } } else { BEEP=1; }}显示模块#include"main.h"#include"lcd1602.h"#include"key.h"#include"ds18b20.h"ucharkey_num=0; ucharflag_display=0; uinttime_num=0; uintE_temp_value=0; uintR_temp_value=0; uintR_temp_max=37; voidDelay_function(uintx); voidKey_function(void); voidMonitor_function(void); voidDisplay_function(void); voidManage_function(void); voidmain(){ Lcd1602_Init(); Delay_function(50); lcd1602_clean(); Delay_function(50); Ds18b20_Init(); Delay_function(50); while(1) { Key_function()

温馨提示

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

评论

0/150

提交评论