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

news2024/11/23 18:55:37

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1581540.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【2024】Rancher的安装与介绍

———————————————————————————— 记录一下rancher的学习与使用过程 本部分内容包括rancher的介绍、特点、与k8s关系和部署等内容 ———————————————————————————— Rancher是什么&#xff1f; 简单来说&#xff0c;Ranc…

RabbitMQ如何保证消息的幂等性???

在RabbitMQ中&#xff0c;保证消费者的幂等性主要依赖于业务设计和实现&#xff0c;而非RabbitMQ本身提供的一种直接功能。 在基于Spring Boot整合RabbitMQ的场景下&#xff0c;要保证消费者的幂等性&#xff0c;通常需要结合业务逻辑设计以及额外的技术手段来实现。以下是一个…

由近期 RAGFlow 的火爆看 RAG 的现状与未来

4 月 1 日&#xff0c;InfiniFlow &#xff08;英飞流&#xff09;的端到端 RAG 解决方案 RAGFlow 正式开源&#xff0c;首日即获得了 github 千星&#xff0c;目前已接近 3000 star。在这之前&#xff0c;InfiniFlow 还开源了专门用于 RAG 场景的 AI 原生数据库 Infinity&…

Emacs之实现复制当前已打开文件buffer(一百三十五)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…

网络安全---非对称数据加密签名验证

一、课题描述 三位同学一组完成数据的非对称加密和数字签名验证传输。 三位同学分别扮演图中 Alice、Bob 和 CA 三个角色&#xff0c;Bob 和 Alice 从 CA 中获得数字证书、Bob 向 Alice 发送秘密发送一段加密并签名后的信息&#xff0c;Alice 获取 Bob 发送的加密信息&#x…

LeetCode 994—— 腐烂的橘子

阅读目录 1. 题目2. 解题思路3. 代码实现 1. 题目 2. 解题思路 1.记录下初始新鲜橘子的位置到 notRotting&#xff0c;我们按照行把二维数组拉成一维&#xff0c;所以&#xff0c;一个vector 就可以实现了&#xff1b;2.如果没有新鲜橘子&#xff0c;那么第 0 分钟所有橘子已经…

创建个人百度百科需要什么条件?

互联网时代&#xff0c;创建百度百科词条可以给个人带来更多的曝光和展现&#xff0c;相当于一个镀金的网络名片&#xff0c;人人都想上百度百科&#xff0c;但并不是人人都能创建上去的。 个人百度百科词条的创建需要满足一定的条件&#xff0c;今天伯乐网络传媒就来给大家聊聊…

Scrapy 爬取m3u8视频

Scrapy 爬取m3u8视频 【一】效果展示 爬取ts文件样式 合成的MP4文件 【二】分析m3u8文件路径 视频地址&#xff1a;[在线播放我独自升级 第03集 - 高清资源](https://www.physkan.com/ph/175552-8-3.html) 【1】找到m3u8文件 这里任务目标很明确 就是找m3u8文件 打开浏览器…

featup入坑笔记

一、新建环境 在conda中建立一个虚拟环境featup&#xff0c; conda create -n featup python3.9 二、开始配置&#xff1a; 我是先下载了FeatUp&#xff0c;之后 pip install -e . -i https://mirrors.aliyun.com/pypi/simple/ 但是&#xff0c;突然出错了&#xff0c;说无法…

Day:004(4) | Python爬虫:高效数据抓取的编程技术(数据解析)

XPath工具 浏览器-元素-CtrlF 浏览器-控制台- $x(表达式) Xpath helper (安装包需要科学上网) 问题 使用离线安装包 出现 程序包无效 解决方案 使用修改安装包的后缀名为 rar&#xff0c;解压文件到一个文件夹&#xff0c;再用 加载文件夹的方式安装即可 安装 python若使用…

【2024年5月备考新增】《软考案例分析答题技巧(3)质量、资源》

2.5 项目质量管理 质量管理过程 质量管理过程:规划质量管理-管理质量-控制质量。 管理质量意义: ① 通过执行有关产品特定方面的设计准则,设计出最优的成熟产品; ② 建立信心,相信通过质量保证工具和技术(如质量审计和故障分析)可以使未来输出在完工时满足特定的需求…

动态规划刷题(2)之杨辉三角(详细解释)

最近在自学动态规划,网上到处找资料学习: 在这里记录我的刷题历史: 题目都是在力扣里面刷的!! 这里,我放一个刷动态规划的链接在这里:动态规划知识点题库 - 力扣(LeetCode) 力扣 在这里附加动态规划相关知识点:动态规划(DP)-CSDN博客文章浏览阅读197次。动态规划…

postgresql uuid

示例数据库版本PG16&#xff0c;对于参照官方文档截图&#xff0c;可以在最上方切换到对应版本查看&#xff0c;相差不大。 方法一&#xff1a;自带函数 select gen_random_uuid(); 去掉四个斜杠&#xff0c;简化成32位 select replace(gen_random_uuid()::text, -, ); 官网介绍…

从数据中台到上层应用全景架构示例

一、前言 对于大型企业而言&#xff0c;数据已经成为基本的生产资料&#xff0c;但是有很多公司还是值关心上层应用&#xff0c;而忽略了数据的治理&#xff0c;从而并不能很好的发挥公司的数据资产效益。比如博主自己是做后端的&#xff0c;主要是做应用层&#xff0c;也就是…

(源码+部署+讲解)基于Spring Boot + Vue编程学习平台的设计与实现

前言 &#x1f497;博主介绍&#xff1a;✌专注于Java、小程序技术领域和毕业项目实战✌&#x1f497; &#x1f447;&#x1f3fb; 精彩专栏 推荐订阅&#x1f447;&#x1f3fb; 2024年Java精品实战案例《100套》 &#x1f345;文末获取源码联系&#x1f345; &#x1f31f;…

HDFS [MSST‘10] 论文阅读笔记

原论文:The Hadoop Distributed File System (MSST’10) HDFS关键技术要点概览 设计目标:HDFS旨在可靠地存储大型数据集,并以高带宽流式传输这些数据集到用户应用程序。它通过在大量服务器上分布存储和计算资源,使得资源可以随着需求的增长而扩展,同时保持经济高效。架构组…

Day:004(3) | Python爬虫:高效数据抓取的编程技术(数据解析)

BS4实战-人民网 人民网_网上的人民日报 (people.com.cn)http://www.people.com.cn/ import requests from fake_useragent import UserAgent from bs4 import BeautifulSoupurl http://www.people.com.cn/ headers {User-Agent:UserAgent().chrome} # 发送请求 resp request…

前端入门:极简登录网页的制作(未使用JavaScript制作互动逻辑)

必备工具&#xff1a;vscode Visual Studio Code - Code Editing. Redefined 目录 前言 准备 HTML源文件的编写&#xff08;构建&#xff09; head部分 body部分 网页背景设置 网页主体构建 CSS源文件的编写&#xff08;设计&#xff09; 结果展示 前言 博主稍稍自…

基于ES-EKF的LiDAR/GNSS/IMU传感器融合轨迹估计(附项目源码)

基于改进EKF的LiDAR/GNSS/IMU传感器融合轨迹估计&#xff08;附项目源码&#xff09; 算法概述PredictionCorrectionES-EKF算法融合算法实现轨迹估计实验结果 最近在研究传感器融合&#xff0c;看到一个很好的开源项目&#xff0c;适合小白学习&#xff0c;为以后做传感器融合、…

Vue3 + Vite 构建组件库发布到 npm

你有构建完组件库后&#xff0c;因为不知道如何发布到 npm 的烦恼吗&#xff1f;本教程手把手教你用 Vite 构建组件库发布到 npm 搭建项目 这里我们使用 Vite 初始化项目&#xff0c;执行命令&#xff1a; pnpm create vite my-vue-app --template vue这里以我的项目 vue3-xm…