您好,欢迎来到飒榕旅游知识分享网。
搜索
您的当前位置:首页2021年基于单片机的非接触式红外体温计设计

2021年基于单片机的非接触式红外体温计设计

来源:飒榕旅游知识分享网



本科毕业论文

非接触式红外体温计设计

Designof Contactless Infrared Thermometer System

学院名称:
专业班级:
学生姓名:

号:

指导老师姓名:
指导老师职称:



毕业设计(论文)原创性申明和使用授权说明

原创性申明

本人郑重承诺:所呈交毕业设计(论文),是我个人在指导老师指导下进行研究工作及取得结果。尽我所知,除文中尤其加以标注和致谢地方外,不包含其它人或组织已经发表或公布过研究结果,也不包含我为取得安阳工学院及其它教育机构学位或学历而使用过材料。对本研究提供过帮助和做出过贡献个人或集体,均已在文中作了明确说明并表示了谢意。

作者签名:
指导老师署名:

日期:
日 期:

使用授权说明

本人完全了解安阳工学院相关搜集、保留、使用毕业设计(论文)要求,即:根据学校要求提交毕业设计(论文)印刷本和电子版本;学校有权保留毕业设计(论文)印刷本和电子版,并提供目录检索和阅览服务;学校能够采取影印、缩印、数字化或其它复制手段保留论文;在不以赢利为目标前提下,学校能够公布论文部分或全部内容。

作者署名:

目录



摘要...............................................................................................................................I

Abstract.....................................................................................................................II

引言...............................................................................................................................1

第一章系统关键芯片介绍..................................................................................2

1.1STC89C52芯片介绍.......................................................................................21.2红外温度模块介绍.........................................................................................31.2.1 TN901红外测温模块...................................................................................31.2.2红外测温原理..............................................................................................31.2.3红外测温模块工作时序..............................................................................41.3 LCD1602显示器介绍.....................................................................................4第二章系统硬件设计............................................................................................6

2.1系统总体结构图.............................................................................................62.2单片机主控电路设计.....................................................................................62.3红外温度传感器模块电路设计.....................................................................72.4 LCD1602设计原理图.....................................................................................82.5按键电路设计.................................................................................................82.6系统其它硬件电路.........................................................................................92.6.1系统电源电路..............................................................................................92.6.2系统晶振电路..............................................................................................92.6.3报警电路设计............................................................................................10第三章系统软件设计..........................................................................................11

3.1软件编译KeilC51开发环境........................................................................113.2系统软件设计要求及任务............................................................................113.3系统主程序步骤图.......................................................................................113.4红外测温步骤图............................................................................................12第四章制作和调试..............................................................................................15

4.1软件调试.......................................................................................................154.2硬件调试.......................................................................................................154.3系统误差分析及处理...................................................................................16



4.4系统制作和调试...........................................................................................16结论.............................................................................................................................18致谢.............................................................................................................................19参考文件...................................................................................................................20附录.............................................................................................................................21



非接触式红外体温计设计

摘要:本文针对传统测温仪器本身存在很多缺点和在现实生活中所暴露使用不便,缺乏安全性等缺点,提出了一个非接触式红外测温系统设计方案。该系统是以STC89C52作为红外测温传感器数据传输和控制关键。另外,还设计了报警模块、显示电路、功效按键等外围模块。本系统实现了对实时温度显示,和对后者过限时报警,同时还能对温度测量报警上下限进行调整。它最大创新不仅仅是因为能够测量基础温度,更在于它能够控制继电器电路使温度在测量范围内。它安全性,方便性更有利于一般百姓使用。此次红外测温系统该系统含有反应速度快、传输效率高、设计简化了电路结构,提升了测温稳定性及可靠性。

测量精度高、可靠性高等优点。

关键字:STC89C52;报警;红外测温



Designof Contactless Infrared ThermometerSystem

AbstractInview of the traditional temperature measuring instrument , there aremany

shortcomings,And in real life it exposes much inconvenience,lacks of safety , so iput forward this design of contactless infrared temperaturemeasurement system . The system is based on single chip microcomputerSTC89C52 that as being the center of infrared measuring temperaturesensor data’s transmission and regulation.In addition, it is alsoequipped with alarm circuits,key switch, liquid crystal displayoutput and key circuits. This system realize real-time temperaturedisplay, and give an alarm when the temperature beyond limitationconfigured, surely the limitation can be changed else.The system'sbiggest innovation not only in the realization of basic functionstemperature measurement,but also can control a relay circuit to getthe temperature in measuring range.Its safety, convenience are morehelpful of the use of the common people. The design of infraredtemperature measurement system simplify the circuit structure,improve the stability and reliability of measuring temperature. Thegreat reaction speed, high transmission efficiency, high accuracy andhigh reliability is also its advantage.

KeywordsSTC89C52;alarm; infrared temperature measurement



引言

伴随经济发展,社会生活水平提升,大家对本身身体情况愈来愈重视。体温是人体生命活动最基础特征,也是观察人体机能是否正常关键指标之一。现在多种流行病比较多,传染性比较强,传统接触式测温系统有很大不足,尤其是在高发病场所诸如学校或客运中心等等。现在,传统测温仪器存在缺点开始被大家所认识,测量正确度低,等候时间长,使用不妥还会发生意想不到事故等。

非接触式红外测温系统开发,将能很好替换传统测温仪器,填补她们不足和使用不便。它响应时间快、非接触、使用安全及使用寿命长等优点,更适合儿童在平时生活中独立完成体温测量。

当今社会,红外测温技术已在工业、石化、农业、医学、安全监控和防范和科学研究等领域被广泛地应用,在传统测温系统中注入现代科技元素,它所含有响应时间快、非接触、使用安全及使用寿命长等优点,较传统温度仪器愈加能满足大家生活生产需求,肯定会占领相当大市场,受到大家青睐[5]

20年来,中国红外测温技术得到快速发展,并逐步应用于医疗、工业等领域。红外检测技术,它是一个在线监测不停电式高科技检测技术,能对电气设备故障缺点及绝缘性能做出可靠估计,满足了现代电力企业对电力系统可靠运行要求。

此无线测温系统包含硬件电路部分和软件部分。硬件电路采取STC89C52单片机作为控制关键,关键包含以下多个部分:红外测温电路、报警电路,显示电路,按键电路和继电输出控制电路等。软件设计关键包含:主程序、红外测温模块、报警模块、功效按键模块、显示模块、继电输出模块等子程序。

该系统在工作时,操作者先将红外测量仪对准被测量者,接通电源,等候2秒钟,随即红外传感器就会把温度信号传送到STC89C52中进行处理,然后送1602显示。该系统能够 ;高于设定温度蜂鸣器响,调整报警上下限,当实时温度低于设定温度,绿灯亮,蜂鸣器响
红灯亮;正常温度蜂鸣器不响,黄灯亮。另外,该系统还能够测量物体温度,当物体温度过限时,继电器会闭合,同时触发对应自己设定动作来使目标温度控制在要求范围内。

第一章系统关键芯片介绍

1.1STC89C52芯片介绍
STC89C52是一个低功耗、高性能CMOS8位微控制器,含有8K在系统可编程Flash



存放器。在单芯片上,拥有灵巧8CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效处理方案。STC89C52单片机引脚结构图1-1所表示[4]

1-1STC89C52引脚结构图
STC89C52单片机芯片引脚介绍以下:
管脚18P1口,8位准双向I/O口,可驱动4LSTTL负载。

管脚9RESET复位键,单片机复位信号输入端,对高电平有效。当进行复位时,要保持RST管脚大于两个机器周期高电平时间。

管脚1011RXD串口输入TXD串口输出。

管脚1219P3口,P3.2INT0中止0P3.3INT1中止1P3.4为计数脉冲T0P3.5为计数脉冲T1P3.6WR写控制,P3.7RD读控制输出端。

管脚2128P2口,8位准双向I/O口,和地址总线(高8位)复用,可驱动4LSTTL负载。

管脚29PSEN片外Rom选通端,单片机对片外Rom操作时29(PSEN)输出低电平。管脚30ALE/PROG地址锁存器。

管脚31EArom取指令控制器高电平片内取 低电平片外取。

管脚3239P0口,双向8位三态I/O口,此口为地址总线(低8位)及数据总线分时复用口,可驱动8LSTTL负载。

管脚40:电源+5V



1.2红外温度模块介绍

1.2.1TN901红外测温模块
TN901红外传感器输出是数字信号,TN901传感器芯片管脚图1-2所表示:

1-2TN9红外测温模块接口
管脚5V为电源引脚VCCVCC通常为3V5V之间电压,通常取3.3V;管脚4D是数据接收引脚,没有数据接收时D为高电平;管脚3C2KHzClock输出引脚;管脚2G是接地引脚;管脚1A为测温开启信号引脚,低电平有效[6]

1.2.2红外测温原理
红外测温传感器是接收目标物体热辐射并转换为电信号器件。全部物体全部会发出

红外线能量,物体越热,其分子就愈加活跃,目标辐射波长越短,它所发出红外线能量也

就越多。红外温度模块中光学装置,能够搜集物体辐射红外线能量,并把该能量聚焦在探

测器上,能量经探测器转化为电信号,并被放大、显示出来[8]

由普朗克黑体辐射原理:

A1 2

(T 1

T ) 2

A

光学常数

E

-辐射出射度

-斯蒂芬-波尔兹曼常数

1

-被测对像辐射率

K

2

-红外温度计辐射率

T 1

-被测对像热力学温度

K

-红外温度计热力学温度

T 2

经过红外传感器接收到能量峰值信号,经过单片机即可计算出目标温度。探测器输

出信号和目标温度呈非线性关系,所以需要对其进行线性化处理。线性化处理后得到物体

表观温度,然后对其进行辐射率修正,转化成真实温度,因为调制片辐射信号影响,还需

作温度赔偿,即真实温度加上环境温度才能最终得到被测物体实际温度[3]



1.2.3红外测温模块工作时序
TN9红外传感器向单片机发送一帧数据共有5BYTE组成,如表1-1所表示。

1-1信息格式

Item

MSB

LSB

Sum

CR

ItemL”(4CH)Tobj(目标温度)f”(66H)Tamb(环境温度)
MSB8bit Data最高有效位
LSB8bit Data最低有效位
SumItem+MSB+LSB=Sum
CR0DH,结束信息
单片机在时钟下降沿接收数据,一次温度测量需接收5个字节数据,这五个字节中:Item0x4c表示测量目标温度,0x66表示测量环境温度;MSB为接收温度高八位数据;LSB为接收温度低八位数据;Sum为验证码,接收正确Sum=Item+MSB+LSBCR为结束标志,当CR0x0dH时表示完成一次温度数据接收。

1.2.4红外测温模块温度值计算
不管测量环境温度还是目标温度,只要检测到Item0x4cH0x66H,同时检测到CR0x0dH,它们温度计算方法全部相同。计算公式为:实际温度值=temp/16-273.15。其中273.15为华氏转摄氏单位转换差值[7]Temp为十进制,当把它转换成十六进制时高八位为MSB,低八位为LSB;比如MSB0x10HLSB0x2bH,则Temp为十六进制时是0x142bH,十进制时是5163,则测得实际温度值为5163/16-273.15=49.537℃

1.3LCD1602显示器介绍

在本系统中,需要将实时时钟和测量出来温度值显示出来,LCD显示器微功耗,体积小,显示内容丰富,超薄轻巧很多优点很符合系统需求。此次使用LCD1602显示器模块为5×7点阵图形来显示字符液晶显示器,内带ASCII字符库。LCD1602模块内部能够完成显示扫描,单片机只要向LCD1602发送命令和显示内容ASCII码。LCD1602显示器工作电压为4.55.5V,在本系统中,采取电压为5V,字符尺寸为2.95×4.35(WXH)mmLCD1602显示芯片引脚图1-3所表示[1]



1-3LCD1602芯片引脚图1脚:VSS为地电源。

2脚:VDD5V正电源。

3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时能够经过一个10K电位器调整对比度或直接接地。

4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。

6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块实施命令。第714脚:D0D78位双向数据线。

1516脚:空脚。

LCD1602液晶显示器寄存器选择控制如表1-2所表示。

1-2寄存器选择控制表

RS

R/W

操作说明

0

0

写入指令寄存器D0~D7

0

1

读取输出D0~D7 状态字

1

0

写入数据寄存器D0~D7

1

1

D0~D7 读取数据

开始时初始化E0,然后置E1,再清0。读取状态字时,注意D7位,D71,严禁读写操作;D70,许可读写操作。所以对控制器每次进行读写操作前,必需进行读写检测。



第二章系统硬件设计

本系统硬件原理图采取AltiumDesigner进行设计,AltiumDesigner关键运行在

Windows操作系统。这套软件经过把原理图设计、电路仿真、PCB绘制编辑、拓扑逻辑自

动布线、信号完整性分析和设计输出等技术完美融合,为设计者提供了全新设计处理方案,

使设计者能够轻松进行设计,熟练使用这一软件必将使电路设计质量和效率大大提升[11]

2.1系统总体结构图

本系统硬件电路设计以STC89C52单片机为关键,外围关键包含:TN9红外传感器

模块,报警电路,LCD1602显示模块,功效按键、晶振电路和继电器输出电路组成,图2-1

所表示。

继电器输出电路

LCD1602

功效按键

STC89C52

液晶显示器

电源电路

单片机

红外测温模块

晶振电路

报警电路

2-1系统整体框图

2.2单片机主控电路设计

在本系统设计中,从价格,熟悉程度和满足系统需求等方面考虑采取了51系列

STC89C52单片机。单片机为整个系统关键,控制整个系统运行,其接口电路图2-2所表

示。



2-2STC89C52接口电路
STC89C52单片机连接系统各个模块,P0口接上LCD1602显示器模块数据线,P1.0P1.1作为LCD1602控制信号;P2.0P2.1P2.2接红外测温模块;P1.2P1.3P1.4分别接红、绿、黄三个LED指示灯;P1.5接继电器输出电路;P3.2P3.3P3.4P3.54个功效按键。因为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作为显示器,相比于LEDLCD1602需要管脚少,电路图和实

物比较简单。同时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,由外部引入,二极管作为电源指示灯,C4C5起滤波作用。

2.6.2系统晶振电路
STC89C52单片机引脚XTAL1XTAL2和晶体振荡器及C2C3连接图2-7所表示。



2-7系统晶振电路原理图

晶振作用是给单片机提供一个稳定节拍,C2C3这两个电容叫晶振负载电容,接法如

上图所表示,大小为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所表示。



开始

初始化

按键扫描

No

温度显示

设置模式

Yes

设置完毕

显示温度

Yes

是否过限

报警

No继电器闭合

做出相应动作

来阻止过限温

结束

3-1系统主步骤图

3.4红外测温步骤图

红外传感器模块步骤图图3-2所表示。



开始

初始化

是否有按键0

No

下?

Yes

读取数据

首字节是否为4CH

No

66H)?

Yes

5个字节是否

No

0DH?

Yes

计算处理

LCD1602

关闭TN901

返回

3-2红外测温步骤图

如步骤图所表示:系统正常上电,开始初始化,判定是否有功效按键0按下,假如是,

再次判定首字节是否为4CH66H,最终一个字节是否为0DH,因为单片机每一次读取5

BYTE,当第一个BYTE和最终一个BYTE分别同时为4CH(或66H)和0DH时,才



认为这是一个有效数据,不然单片机将不停地进行读取。假如是,则进行温度计算及温度处理,然后送LCD1602显示,最终关闭TN901;假如不是,则继续按下按键0,直到符合有效数据要求,才进行温度读取。



第四章制作和调试

4.1软件调试
本设计因为需要外界环境作为媒介才能完成仿真,所以我没有进行最终仿真,仅仅用Altiumdesigner进行了编译,程序部分用KeilC51进行了编译。在进行该过程时分为两步:目标程序纠错,整体程序调试。

目标程序纠错:该阶段工作通常在目标程序编辑时就完成。通常来说,软件能为用户输入程序指令纠错,包含书写格式、标号未定义或多重定义、转移地址溢出等错误,这一步关键是部分细节上问题,需要一部分一部分去检验。

整体程序调试:即把各子程序整体连起来联络整体电路进行调试,看依据现行程序和硬件条件是否能实现估计功效显示。在这阶段若发生故障,能够考虑各子程序在运行时是否破坏现场,数据缓冲单元是否发生冲突,标志位建立和清除在设计上是否失误,堆栈是否溢出,输入输出状态是否正常等再深入对细节进行修改。

4.2硬件调试
单片机应用系统硬件调试和软件调试是分不开,很多硬件故障在软件调试时才能发觉,但通常要先排除系统中显著硬件故障。调试工作能够分为四步:
线路检验:依据硬件逻辑设计图,仔细检验样机线路是否连接正确,并查对元器件型号、规格和安装是否符合要求,必需时可用万用表检测线路通断情况。

电源调试:样机第一次通电测试很关键,若样机中存在电源故障,则加电后将造成器件损坏。调试方法有两种:一个是断开稳压电源输出端,检验空载时电源工作情况;另一个是拔下样机上关键集成芯片,检验电源负载能力(用假负载)。确保电源无故障并性能符合设计要求[12]

通电检验:在确保电源良好前提下,接通电源。最好在电源和其它电路之间串接一个电流表。若接通后电流很大,须立即切断电源。电源大得超出正常范围,说明电路中有短路或故障。通电检验关键目标是看系统是否存在短路或由元器件损坏、装配错误引发电流异常。

检验芯片逻辑关系是否犯错:加电后检验各插座上相关引脚电位,仔细测量对应输入输出电平是否正常。单片机系统大全部是数字逻辑电路,使用电平检验法可首先查出逻辑设计是否正确,选择器件和连接关系是否符合要求等。



4.3系统误差分析及处理
因为该系统是非接触式测温,这就给取得正确温度值带来一定困难,影响红外测温系统温度误差原因很多,经过查阅资料和自己了解,关键表现在以下几方面:
1)距离系数是该系统性能一个关键指标。通常距离越远物体,红外测温仪测温时所经过光路上受到干扰和大气衰减越大,精度也越低。

2)物体辐射率影响。辐射率是指相同几何条件和光谱条件下,实际被测物体和同温度黑体辐射能量之比,不一样物体辐射率不一样,且和黑体辐射能量也有差异,所以输入值肯定存在一定误差。

3)环境原因对测温影响。环境温度,被测物到测温仪现场清楚度全部和输出温度相关。通常,环境温度越低,从外界进入红外测温仪窗口辐射能量就少,而且环境清楚度越高,传感器接收到能量越多,就越靠近真实值。

4)干扰光影响。因为该系统是经过物体辐射出来红外线测得温度,外界一切光线全部会对系统产生一定干扰。

因为该系统存在上述影响,故在使用时必需采取一定方法来尽可能减轻误差。比如, 测量时尽可能多测量几次数据,取其平均值,在选择传感器时尽可能选择吸收系数高器件;
降低误差;软件设计时,采取循环系统测量,想措施得到更正确算法;测量时尽可能注意周围环境影响,在比较适合测量环境测量温度。

4.4系统制作和调试
在系统制作和调试中除了要关注上述问题之外,系统本身情况也需要注意,本系统进行模块化处理,分别分为不一样多个电路:电源电路,LCD1602显示电路,复位电路,功 继电器输出电路,晶振电路和最关键红外测温模块电路。效按键电路,过限状态指示电路,
在制作前首先要了解各个电路原理和作用,这么才能知道电路能够使用哪些元器件,比如,电源电路电容起到了滤波作用,我们就能够依据电路电压大小来选择适宜电容,LED 能够选择范围为100Ω—1KΩ,这么能够对元器件选择有一指示电路电阻起到是限流作用,
个很好把握。

在制作本系统时,一样碰到了很多问题,比如PCB板排版问题,因为封装不适宜,最终显示器和按键和单片机没措施友好安装,只能重新制作,浪费了不少功夫,还有在腐蚀铜板时候,没有把握时间,有些电路不得不在焊接时候用焊锡连接起来。这些问题全部是能够经过自己注意加以避免。

首先我用万用表测量了那些腐蚀过分并用焊锡连接地方,确保其连通,制作好实物后,



检验电解电容,二极管,三极管,蜂鸣器等有正负极期间焊接情况,其是否接反。确定无误后,想测试下电路是否能正常运行,因为传感器价格较高,我没有连接,试验结果证实电路正常运行,显示器亮。我根据各管脚次序用杜邦线接上传感器,开机,系统初始化,因为我设置初始上下限是4度和25度,显示器显示26度,标志正常温度黄色LED灯亮,以后我又设置最高限是20度,此时,红灯亮起,蜂鸣器报警,继电器闭合,表示温度超出最大程度。最终设置最低限为30度,超出室温,绿灯亮起,蜂鸣器报警,继电器闭合,表示低于最低温度。按下复位按钮,系统变为初始状态。实践证实,本系统能够运行。

结论



本系统利用STC89C52单片机作为系统关键,经过TN9红外传感器,对人体和物体温

度进行数据采集,同时在显示器上显示实时温度,还能够对过限温度进行报警,对于超出

或低于程度温度会闭合继电器,继电器电路能够接上风扇,加热装置以应对测量目标为非

人体时多种情况,这个属于扩展功效。同时本设计中红外测温部分采取是红外传感器模块,

价格占了总设计费用一大半,而且该模块假如损坏,无法经过软件或经过对硬件检修而修

复,以上缺点有待以后改善。

致谢

此次毕业设计,很好为我大学四年生涯做了一个总结,它集合了我自己,指导老师****

老师,班级同学努力,以前期准备包含课题选定,相关资料搜集,期刊论文查找,每一件



元器件购置,焊接,每一个模块程序编写,到最终论文完成,一路走来,凝聚了大量心血

和时间。每一次焊接错误,每一次程序运行犯错,全部在不停激励我走向成功。

在这里我要由衷地感谢****老师对我耐心指导和严格要求,使我在完成此次毕业论文

过程中少走了很多弯路,另外我还要感谢其它同学对我这段期间帮助,帮助我处理了技术

上很多难题,总而言之,感谢每一位关心过我人。

当然因为本人才疏学浅,该系统还存在部分漏洞和不足,功效有待于深入改善,恳请老

师同学批评指正,在此深表感谢。

参考文件

[1]李响,张岷等.一个新型红外测温方法研究[J].天津理工大学学报:20XX,26(01):58-61.[2]郑文瑶,孟庆义.体温测量研究进展[J].河北医学:20XX,14,(01):103-106.

[3]任婷婷,张雯,梁志华.浅谈红外体温测量法[J].计量和测试技术:20XX,35(12)44-46.[4]张日欣.基于MLX90614非接触式体温测量系统设计[J]:20XX,8(03):105-108.

[5]吴海洋,计林.一个基于ARM人体红外测温系统[J].红外测温:20XX(03)34-38.



[6]韩吉辰.从“红外测温仪”谈起[M].中国科普作家协会:20XX:41-50.

[7]崔红淼,梁波.提升远红外测温技术对电力设备故障判定正确度[J].电工电气:20XX(No.2):63-70. [8]刘晓春.基于单片机、温度传感器温度智能控制系统设计[J].电子世界:20XX(9):24-25.

[9]时子青.陈向东.龚静.李秀梅,一个新型MEMS温度传感器[J].传感器:20XX,30(9):149-152.[10]王琳.浅谈温度传感器特点及其应用[J].倪雪飞:浅谈红外测温及其应:20XX(5):21-22.

[11]张璇.基于51单片机红外测温仪设计和实现[J].高科技产品研发:20XX02:52-53
[12]余彦霖.基于凌阳SPCE061A单片机语音导引系统设计和总结汇报[J].科技信息:20XX(01):99-100.[13]柳刚,黄竹邻,周昊等.非接触式红外测温研究[J].光电子技术和信息:20XX(5):69-73.

附录

元器件清单

器件名称

器件规格

器件数量

电容

30PF

2

电容

104

1

电容

220UF

1

LED

LED_RED

2




LED

LED_GREEN

1

LED

LED_YELLOW

1

电阻

10K 排阻

1

传感器

TN9_1

1

LCD

1602

1

S55

5V 继电器

1

三极管

8850

1

三极管

8550

1

电阻

220

5

电阻

5K

1

电阻

1K

1

按钮


4

开关


1

蜂鸣器

BUZZER

1

接线柱

接线柱3P3.96MM 间距)

1

单片机

8051

1

晶振

12M

1

系统整体原理图:



系统PCB图:



实物图:



系统程序:

#include"reg52.h"
#include"intrins.h"
#defineuchar unsigned char
#defineuint unsigned int

/*************1602LCD引脚定义*************/

#defineLCD_data P0 //数据口

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;

unsigned char TN_Data_Buff[5]; unsigned char DATA_INDEX; unsigned char DATA_NUM;

unsigned char data_tmp;

//红外模块0数据缓存数组

//八位数据计数

//红外模块数据缓存

unsigned char table_mbtemp[]="00.00^C";

float iTemp,MBTemp=11.01; //温度数据

int T1h=25,T1l=4; //温度上下限初始值

/*************函数定义申明**************/

void show_temp(); void key_pro();

//温度显示子函数函数
//按键处理子函数

void warn(); //报警子函数

/************延时子程序,11.0592M 晶振下*****************/

void delay()
{
unsigned int i;
for(i=0;i<10;i++);
}

/************延时毫秒子程序,11.0592M 晶振下*****************/



voiddelay_ms(unsigned int time)
{
unsignedint i,j;
for(i=1;i<=time;i++)
for(j=1;j<=113;j++);
}
/*------------------------------------------------

写入命令函数

------------------------------------------------*/void LCD_Write_Com(unsigned char com) {
delay_ms(5);
RS=0;
RW=0;
EN=1;
P0=com;
_nop_();
EN=0;
}
/*------------------------------------------------

写入数据函数

------------------------------------------------*/void LCD_Write_Data(unsigned char Data) {
delay_ms(5);
RS=1;
RW=0;
EN=1;
P0=Data;



_nop_();
EN=0;
}
/*------------------------------------------------

写入字符串函数

------------------------------------------------*/
void LCD_Write_String(unsigned char x,unsigned char y,unsigned char*s) {
if(y == 0)
{

}

LCD_Write_Com(0x80+ x); //表示第一行

else
{

}

LCD_Write_Com(0xC0+ x); //表示第二行

while (*s)
{
LCD_Write_Data( *s);
s ++;
}
}
/*------------------------------------------------

初始化函数

------------------------------------------------*/ void LCD_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 格式:void TN_IRACK_EN(void);

// 实现功效: 红外模块开启函数

// 入口参数:

// 出口参数:

//========================================================== ================
void TN_IRACK_EN(void)
{
unsigned char j;
flag=0;
A_TN9=0;
delay();
DATA_NUM=0;



DATA_INDEX=0;

for(j=0;j<=4;j++)
TN_Data_Buff[j]=0;

}
//==========================================================================

//

C 格式:

void TN_IRACK_UN(void);

//

实现功效:

红外模块关闭函数

//

入口参数:

//

出口参数:

//==========================================================================
voidTN_IRACK_UN(void)
{
A_TN9=1;
}
//==========================================================================

//

C 格式:

int TN_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:unsignedint returnData测量结果犯错标识

//Note:
//Editby xinqiang 20XX0324
//======================================================================//
unsignedchar TN_IR_GetData()
{
unsignedchar iItem,MSB,LSB;

unsigned char Back_Data; 0 表示读出正确数据
Back_Data = 0xaa;

TN_IRACK_UN();
delay_ms(10);

//定义返回变量,

TN_IRACK_EN(); //enable the TN

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();//Unable the TN

returnBack_Data; //返回Back_Data

/*****************目标温度值MBtemp 处理子程序*************/ void dis_mbtemp()
{



unsignedint mb;

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; }

//变成整数,便于单片机处理
//分别取温度十位、个位、小数点后

/*****************************************************

主函数

*****************************************************/ void main()
{
//uchar flag1=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);
}
/*****************************************************

按键处理

*****************************************************/void key_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))

{
fm=0;
ji=0;
ledg=0;
ledc=1;
ledd=1;
}

//温度大于50°报警

else if((MBTemp<=T1l))
{
fm=0;
ji=0;
ledd=0;
ledg=1;
ledc=1;
}
else
{
fm=1;
ji=1;
ledc=0;
ledg=1;
ledd=1;
}
}

Copyright © 2019- sarr.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务