有温度传感器的风机控制系统C语言,基于AT89S51单片机和LM35温度传感器的温度采集显示...

本文主要是介绍有温度传感器的风机控制系统C语言,基于AT89S51单片机和LM35温度传感器的温度采集显示...,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

随着电子和传感技术的快速发展,温度的测量和控制在民用、工业以及航空航天技术等领域,等到了广泛应用。小型的、低功耗的、廉价的、可靠性高的温度传感器引起了人们的广泛关注。在实际生产、生活等领域中,温度是环境因素不可或缺的一部分,对温度进行及时精确的控制和检测显得尤为重要。本文基于AT89S51单片机,采用LM35温度传感器,设计了一种灵敏度较高,抗干扰能力强,工作稳定可靠的温度采集显示系统。

1、系统结构及工作原理

温度采集显示系统电路由温度采集模块、A/D转换模块、单片机控制模块、数码管显示模块和下载模块组成。电路工作原理是:首先由LM35温度传感器采集外界环境的温度,经LM358放大10倍后以电压形式输入到A/D采样电路,由A/D转换器TLC549将温度的数字量值传送给单片机系统,再有单片机系统驱动数码管显示温度。本文设计的基于LM35的单片机温度采集显示系统的温度测量范围为 25℃ ~ 80℃温度采集显示系统电路是一个开环控制系统系统原理框图如图1示:

3fdc704de5cb0c18340fb6f2bded0f03.png

2、系统核心硬件电路设计

系统核心硬件电路设计主要包含温度采集模块的设计、A/D转换模块的设计、单片机控制模块的设计、数码管显示模块的设计和下载模块的设计。

2.1、采集模块的设计

传感器是信号输入的第一个环节,也是整个测试系统性能的关键环节之一,因此对传感器的正确选用显得尤为重要。在本系统中,温度采集模块的核心硬件采用LM35温度传感器,该器件有很高的工作精度和较宽的线性工作范围,其输出电压与摄氏温度线性成比例,温度每上升1℃,电压上升10ms。LM35无需外部校准,可以提供±1/4℃的常用室温精度。从经济适用等多方面考虑,系统采用LM35温度传感器和LM358放大电路进行温度采集模块的设计,设计原理图如图2 所示。图2中,经过LM35传感器采集后的微弱电压通过 LM358 放大电路放大10倍后送入单片机。

a411929c2fe1bccd7222451acc7fc9ae.png

2.2、/D 转换模块的设计

A/D转换模块的核心硬件采用 TLC549,它是CMOS串行的8位A/D转换器,该集成电路内置一个8位开关电容逐次逼近型ADC,A/D芯片转换时间为17us,支持电压为3V ~ 6V。TLC549 的使用只有输入/输出时钟,输入随着芯片选择(CS)的控制输入数据。TLC549的输入/输出时钟的输入频率高达1.1MHz。A/D转换模块的设计原理图,如图3所示:

d82706aa5503ee523255d002672def30.png

2、3 单片机控制模块的设计

8031芯片由于内部没有程序存储器,需要进行外部扩展,不仅占用空间大,而且电路复杂度增大。51系列微处理器基于简化的嵌入式控制系统结构,在个人PC机、自动控制、甚至军事领域都应有广泛,作为控制核心优点凸现。单片机控制模块的核心硬件采用AT89S51,该单片机是一种低功耗、高性能CMOS的8位微控制器,具有8K系统可编程Flash存储器,可读可写。具有在线编程的功能,能够在线调试软件使其与硬件匹配。系统通过单片机驱动数码管,使其显示所测温度。单片机控制模块的设计原理图,如图4所示。

5d00a95555bf6702a85144bf35ce4cab.png

2.4、数码管显示模块的设计

显示系统是单片机控制系统的重要组成部分,主要用于显示各种参数的值,便于工作人员及时掌握生产过程。数码管显示模块采用普通8为数码管,利用单片机驱动数码管显示所测量的温度。数码管显示模块的设计原理图,如图5所示:

d61d9615da2b382836bc4eb0edb0703c.png

2.5、下载模块的设计

下载模块可以实现单片机之间的单机通信、多机通信,以及与计算机之间的通信,本系统主要实现从计算机上下载程序到单片机上,从而驱动整个电路板的工作。下载模块的核心硬件采用串口MAX232和RS232,MAX232是TTL和RS232电平相互转换的芯片。单片机通过内部的通用异步接收/发送器

(UART)与MAX232进行通信。下载模块的设计原理图,如图6所示。

da17205d0dd04eb650f64ec9fda0b972.png

3、系统软件设计

系统软件设计采用C语言编程,模块化结构进行开发。该程序主要包括主函数、延时子函数、A/D转换子函数和温度显示子函数。其中,延时子函数和A/D转换子函数如图7-a所示,温度显示子函数和系统主函数如图7-b所示。

82badf76d8c07ca37d36c0f7b56d4354.png

4、系统性能测试

性能测试表明,在室内恒速移动、室温变化不明显。同样,在室外进行温度采集,变化也不是很明显。当用手指捂住芯片或采用或暖风机加热使得室。温快速发生变化,温度急剧上升。测试结果表明本系统响应时间短,灵敏度高。

5、结论

温度采集和控制系统在现代生活中应用的十分广泛。系统实现了温度的采集和显示功能,经过反复试验表明该系统具有响应时间短、抗干扰能力强、工作稳定可靠等特点,同时具有体积小和成本低廉的优势,具有很高的工程价值,在日常生活和学术研究等领域有着广泛的应用前景。本系统采集的温度范围为25℃~80℃之间,温度数值的精度为整数,下一步将研究如何采用频率检测控制技术来进一步提高温度测量精度和范围。同时,通过扩展后还可以用于温度测量、温度预警、控制为一体的多功能产品。

这篇关于有温度传感器的风机控制系统C语言,基于AT89S51单片机和LM35温度传感器的温度采集显示...的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/392146

相关文章

Go语言中泄漏缓冲区的问题解决

《Go语言中泄漏缓冲区的问题解决》缓冲区是一种常见的数据结构,常被用于在不同的并发单元之间传递数据,然而,若缓冲区使用不当,就可能引发泄漏缓冲区问题,本文就来介绍一下问题的解决,感兴趣的可以了解一下... 目录引言泄漏缓冲区的基本概念代码示例:泄漏缓冲区的产生项目场景:Web 服务器中的请求缓冲场景描述代码

Go语言如何判断两张图片的相似度

《Go语言如何判断两张图片的相似度》这篇文章主要为大家详细介绍了Go语言如何中实现判断两张图片的相似度的两种方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 在介绍技术细节前,我们先来看看图片对比在哪些场景下可以用得到:图片去重:自动删除重复图片,为存储空间"瘦身"。想象你是一个

Go语言中Recover机制的使用

《Go语言中Recover机制的使用》Go语言的recover机制通过defer函数捕获panic,实现异常恢复与程序稳定性,具有一定的参考价值,感兴趣的可以了解一下... 目录引言Recover 的基本概念基本代码示例简单的 Recover 示例嵌套函数中的 Recover项目场景中的应用Web 服务器中

RedisTemplate默认序列化方式显示中文乱码的解决

《RedisTemplate默认序列化方式显示中文乱码的解决》本文主要介绍了SpringDataRedis默认使用JdkSerializationRedisSerializer导致数据乱码,文中通过示... 目录1. 问题原因2. 解决方案3. 配置类示例4. 配置说明5. 使用示例6. 验证存储结果7.

Go语言中使用JWT进行身份验证的几种方式

《Go语言中使用JWT进行身份验证的几种方式》本文主要介绍了Go语言中使用JWT进行身份验证的几种方式,包括dgrijalva/jwt-go、golang-jwt/jwt、lestrrat-go/jw... 目录简介1. github.com/dgrijalva/jwt-go安装:使用示例:解释:2. gi

Go 语言中的 Struct Tag 的用法详解

《Go语言中的StructTag的用法详解》在Go语言中,结构体字段标签(StructTag)是一种用于给字段添加元信息(metadata)的机制,常用于序列化(如JSON、XML)、ORM映... 目录一、结构体标签的基本语法二、json:"token"的具体含义三、常见的标签格式变体四、使用示例五、使用

idea中project的显示问题及解决

《idea中project的显示问题及解决》:本文主要介绍idea中project的显示问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录idea中project的显示问题清除配置重China编程新生成配置总结idea中project的显示问题新建空的pr

Go语言使用slices包轻松实现排序功能

《Go语言使用slices包轻松实现排序功能》在Go语言开发中,对数据进行排序是常见的需求,Go1.18版本引入的slices包提供了简洁高效的排序解决方案,支持内置类型和用户自定义类型的排序操作,本... 目录一、内置类型排序:字符串与整数的应用1. 字符串切片排序2. 整数切片排序二、检查切片排序状态:

基于Go语言实现Base62编码的三种方式以及对比分析

《基于Go语言实现Base62编码的三种方式以及对比分析》Base62编码是一种在字符编码中使用62个字符的编码方式,在计算机科学中,,Go语言是一种静态类型、编译型语言,它由Google开发并开源,... 目录一、标准库现状与解决方案1. 标准库对比表2. 解决方案完整实现代码(含边界处理)二、关键实现细

如何合理管控Java语言的异常

《如何合理管控Java语言的异常》:本文主要介绍如何合理管控Java语言的异常问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍2、Thorwable类3、Error4、Exception类4.1、检查异常4.2、运行时异常5、处理方式5.1. 捕获异常