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

相关文章

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语言代码实现:将一个整

C语言字符函数和字符串函数示例详解

《C语言字符函数和字符串函数示例详解》本文详细介绍了C语言中字符分类函数、字符转换函数及字符串操作函数的使用方法,并通过示例代码展示了如何实现这些功能,通过这些内容,读者可以深入理解并掌握C语言中的字... 目录一、字符分类函数二、字符转换函数三、strlen的使用和模拟实现3.1strlen函数3.2st

Go语言中最便捷的http请求包resty的使用详解

《Go语言中最便捷的http请求包resty的使用详解》go语言虽然自身就有net/http包,但是说实话用起来没那么好用,resty包是go语言中一个非常受欢迎的http请求处理包,下面我们一起来学... 目录安装一、一个简单的get二、带查询参数三、设置请求头、body四、设置表单数据五、处理响应六、超

C语言中的浮点数存储详解

《C语言中的浮点数存储详解》:本文主要介绍C语言中的浮点数存储详解,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、首先明确一个概念2、接下来,讲解C语言中浮点型数存储的规则2.1、可以将上述公式分为两部分来看2.2、问:十进制小数0.5该如何存储?2.3 浮点

Linux虚拟机不显示IP地址的解决方法(亲测有效)

《Linux虚拟机不显示IP地址的解决方法(亲测有效)》本文主要介绍了通过VMware新装的Linux系统没有IP地址的解决方法,主要步骤包括:关闭虚拟机、打开VM虚拟网络编辑器、还原VMnet8或修... 目录前言步骤0.问题情况1.关闭虚拟机2.China编程打开VM虚拟网络编辑器3.1 方法一:点击还原VM

Python结合Flask框架构建一个简易的远程控制系统

《Python结合Flask框架构建一个简易的远程控制系统》这篇文章主要为大家详细介绍了如何使用Python与Flask框架构建一个简易的远程控制系统,能够远程执行操作命令(如关机、重启、锁屏等),还... 目录1.概述2.功能使用系统命令执行实时屏幕监控3. BUG修复过程1. Authorization