有温度传感器的风机控制系统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

相关文章

电脑显示mfc100u.dll丢失怎么办?系统报错mfc90u.dll丢失5种修复方案

《电脑显示mfc100u.dll丢失怎么办?系统报错mfc90u.dll丢失5种修复方案》最近有不少兄弟反映,电脑突然弹出“mfc100u.dll已加载,但找不到入口点”的错误提示,导致一些程序无法正... 在计算机使用过程中,我们经常会遇到一些错误提示,其中最常见的就是“找不到指定的模块”或“缺少某个DL

C语言中位操作的实际应用举例

《C语言中位操作的实际应用举例》:本文主要介绍C语言中位操作的实际应用,总结了位操作的使用场景,并指出了需要注意的问题,如可读性、平台依赖性和溢出风险,文中通过代码介绍的非常详细,需要的朋友可以参... 目录1. 嵌入式系统与硬件寄存器操作2. 网络协议解析3. 图像处理与颜色编码4. 高效处理布尔标志集合

Go语言开发实现查询IP信息的MCP服务器

《Go语言开发实现查询IP信息的MCP服务器》随着MCP的快速普及和广泛应用,MCP服务器也层出不穷,本文将详细介绍如何在Go语言中使用go-mcp库来开发一个查询IP信息的MCP... 目录前言mcp-ip-geo 服务器目录结构说明查询 IP 信息功能实现工具实现工具管理查询单个 IP 信息工具的实现服

C 语言中enum枚举的定义和使用小结

《C语言中enum枚举的定义和使用小结》在C语言里,enum(枚举)是一种用户自定义的数据类型,它能够让你创建一组具名的整数常量,下面我会从定义、使用、特性等方面详细介绍enum,感兴趣的朋友一起看... 目录1、引言2、基本定义3、定义枚举变量4、自定义枚举常量的值5、枚举与switch语句结合使用6、枚

Go 语言中的select语句详解及工作原理

《Go语言中的select语句详解及工作原理》在Go语言中,select语句是用于处理多个通道(channel)操作的一种控制结构,它类似于switch语句,本文给大家介绍Go语言中的select语... 目录Go 语言中的 select 是做什么的基本功能语法工作原理示例示例 1:监听多个通道示例 2:带

C语言函数递归实际应用举例详解

《C语言函数递归实际应用举例详解》程序调用自身的编程技巧称为递归,递归做为一种算法在程序设计语言中广泛应用,:本文主要介绍C语言函数递归实际应用举例的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录前言一、递归的概念与思想二、递归的限制条件 三、递归的实际应用举例(一)求 n 的阶乘(二)顺序打印

C语言中的数据类型强制转换

《C语言中的数据类型强制转换》:本文主要介绍C语言中的数据类型强制转换方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C语言数据类型强制转换自动转换强制转换类型总结C语言数据类型强制转换强制类型转换:是通过类型转换运算来实现的,主要的数据类型转换分为自动转换

利用Go语言开发文件操作工具轻松处理所有文件

《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件

C语言实现两个变量值交换的三种方式

《C语言实现两个变量值交换的三种方式》两个变量值的交换是编程中最常见的问题之一,以下将介绍三种变量的交换方式,其中第一种方式是最常用也是最实用的,后两种方式一般只在特殊限制下使用,需要的朋友可以参考下... 目录1.使用临时变量(推荐)2.相加和相减的方式(值较大时可能丢失数据)3.按位异或运算1.使用临时

使用C语言实现交换整数的奇数位和偶数位

《使用C语言实现交换整数的奇数位和偶数位》在C语言中,要交换一个整数的二进制位中的奇数位和偶数位,重点需要理解位操作,当我们谈论二进制位的奇数位和偶数位时,我们是指从右到左数的位置,本文给大家介绍了使... 目录一、问题描述二、解决思路三、函数实现四、宏实现五、总结一、问题描述使用C语言代码实现:将一个整