51单片机+TN901非接触式红外测温设计论文与源码PCB等资料

1、摘要

        温度测量技术应用十分广泛,而且在现代设备故障检测领域中也是一项非常重要的技术。但在某些应用领域中,要求测量温度用的传感器不能与被测物体相接触,这就需要一种非接触的测温方式来满足上述测温需求。本论文正是应上述实际需求而设计的红外测温仪。
本设计将对硬件选择以及结构进行设计,并且采用新型的可编程温度传感器TN901,它的优点是能直接与单片机完成数据采集和处理,实现方便、精度高,性能稳定,并且不需复杂的信号调理电路和A/D转换电路。不需要使传感器TN901与人体接触,进行温度感应后,TN901就可以感应温度并且直接送入AT89S51单片机中,经过单片机的信号处理并将其送出,通过LCD1602显示屏进行显示。这样的好处是可以快速并精准的测量出人体体温,与传统的水银体温计相比,它的优点是测量精准度高、测量时间短、并且方便读数。

2、系统原理及方案

        本设计将对硬件选择以及结构进行设计,并且采用新型的可编程温度传感器TN901,它的优点是能直接与单片机完成数据采集和处理,实现方便、精度高,性能稳定,并且不需复杂的信号调理电路和A/D转换电路。不需要使传感器TN901与人体接触,进行温度感应后,TN901就可以感应温度并且直接送入AT89S51单片机中,经过单片机的信号处理并将其送出,通过LCD1602进行显示。这样的好处是可以快速并精准的测量出人体体温,与传统的水银体温计相比,它的优点是测量精准度高、测量时间短、并且方便读数。

2.1 红外测温系统的方案介绍

        本设计将对硬件选择以及结构进行设计,并且采用新型的可编程温度传感器TN901,它的优点是能直接与单片机完成数据采集和处理,实现方便、精度高,性能稳定,并且不需复杂的信号调理电路和A/D转换电路。不需要使传感器TN901与人体接触,进行温度感应后,TN901就可以感应温度并且直接送入AT89S51单片机中,经过单片机的信号处理并将其送出,通过LCD1602数码管进行显示。这样的好处是可以快速并精准的测量出人体体温,与传统的水银体温计相比,它的优点是测量精准度高、测量时间短、并且方便读数。

        非接触式电子体温计主要由TN901非接触式温度传感器控制,测量采集被测目标温度,将温度信号转变成电信号传送给单片机,由程序处理之后转变成文字信号在1602液晶显示屏上显示被测目标具体温度数字。非接触式电子体温计由两大部分构成,第一部分TN901非接触式温度传感器;第二部分主体控制电路板,电路板由51单片机、1602液晶显示屏、10K排阻、4.7K滑动变阻器、晶振、蜂鸣器、复位电路等构成。主要实现TN901温度传感器测量目标温度,经过程序处理之后在1602液晶显示屏上显示目标温度的具体数字。设置程序最大测量温度和最小测量温度,目标温度超出此范围蜂鸣器发出警报。通过按键复位测量完成后还原读数。4.7K滑动变阻器调节1602液晶显示屏亮度等。

3 红外测温系统的硬件设计

        本红外测温仪采用模块化的设计思想,它的硬件结构由STC89C51单片机模块,红外测温模块,电源模块,键盘模块和LCD显示模块组成。

        STC89C51单片机是本系统的控制中心,它负责控制启动温度测量、接收测量数据、计算温度值、并根据取得的键值控制显示过程;红外测温模块负责温度数据的采集、测量,并将采集到的数据通过数据端口传送给STC89C51单片机; LCD显示模块把测量的温度值直观地显示给观测者;电源模块负责本红外测温仪电源的供应。

3.1 单片机处理模块

该红外测温仪是以STC89C51单片机为核心器件,此单片机模块的工作原理是:加载相应程序的STC89C51单片机把红外测温模块传来的数据加以处理,送LCD显示屏显示。

 

STC89C51各引脚的功能描述如下:

(1)电源和晶振:VCC——运行和程序校验时加的电压;

VSS——接地;

XTAL1——输入到振荡器的反向放大器;

XTAL2——反向放大器输出,输入到内部时钟发生器。

(2)RST:单片机的上电复位或掉电保护端;

(3)ALE: 地址锁存有效信号输出端;

3.2 红外测温模块

它的测量距离大约为30米,测量回应时间大约为0.5秒。而且它具备SPI接口,可以很方便地与单片机(MCU)传输数据。

红外测温传感器的引脚介绍:

         红外测温传感器引脚图如图2-4,其中V为电源引脚VCC,VCC一般为3V到5V之间的电压,一般取3.3V;D为数据接收引脚,没有数据接收时D为高电平;C为2KHz Clock输出引脚;G为接地引脚;A为测温启动信号引脚,低电平有效。            

3、程序

#define uchar unsigned char
#define uint  unsigned int
//头函数
#include <reg52.h>
//全局变量定义
float Temp;
float HJTemp,MBTemp;

//TN9温度传感器头函数
#include <TN9.h>
//LCD头函数
#include <LCD.h>
//按键
sbit K =P1^0;
sbit LR=P1^7;
sbit LG=P1^1;

void delay1(uint x)
{
uint  a,b;
for(a=0;a<20;a++)
   { for(b=x;b>0;b--);
   }
}

void delay(uint x)
{
uint  a,b;
for(a=0;a<20;a++)
   { for(b=x;b>0;b--);
   }
}
//主函数
void main()
{ // while(1)        

//if(K==1)        //屏幕初始化
        
        Init_LCD();
        //开启指示灯
        LR=1;
        LG=0;
         delay1(20);
        //开始按键
        //while(K==1);
        
        //温度显示初始化
//        Init_T();

        //循环读码
        //while(1)
  while(1)        
  {        
        // Display(MBTemp,HJTemp);
        if(K==0)
        {          Init_T();
                  while(K==0)
        {        LR=~LR;
                //读取目标温度
                TN_IRACK_UN();
                TN_IRACK_EN();
                TN_GetData(0x4c);
                MBTemp=Temp;
                LR=~LR;
                //读取环境温度
                TN_IRACK_UN();
                TN_IRACK_EN();
                TN_GetData(0x66);
                HJTemp=Temp;
                //显示
                Display(MBTemp,HJTemp);}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

森旺电子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值