基于STC89C51单片机的温湿度检测系统

基于STC89C51单片机的温湿度检测系统基于 STC89C51 单片机的温湿度检测系统摘要 设计一种计算机教室温度 湿度检测系统 用于控制机房的温 湿度 整个系统采用 STC89C51 微处理器作为主控系统 硬件电路主要包括 51 单片机 DHT11 温湿度传感器 显示器模块 警报器以及控制设备等 5 部分 通过给定的温湿度的上下限值并由 1602LCD 显示器显示 传感器测量的信号由 LCD 显示出来 LCD 显示实时的温 湿度值 当温 湿度超过限定值时

基于STC89C51单片机的温湿度检测系统

0 引 言

当计算机教室温度过高,会导致机器的散热功能无法正常运行,影响电路稳定运行。为了确保机房的设备正常运转,机器的温度最好保持在18-25℃。如果室内的空气湿度过大,会导致设备金属部件产生锈蚀,电路板的绝缘性能降低,从而影响设备的稳定运行。为防止静电产生,保证设备的安全系数不受影响,机房的空气也不能过于干燥。因此,机房的温度、湿度要控制在稳定状态,避免意外发生[1]。

一、整个作品采用STC89C51微处理器作为MCU(Microcontroller Unit),硬件电路主要包括51单片机、温湿度传感器、显示模块、报警器以及控制设备等5部分。其中由DHT11温湿度传感器及1602 LCD液晶显示器构成系统的显示模块。系统程序给定温湿度上下限值并通过1602 LCD显示器显示,传感器测量的信号由LCD显示出来,LCD显示实时的温、湿度值。当室内的温湿度超过限定值,蜂鸣器鸣叫报警。

二、温湿度的检测和控制是研究的主要内容。当环境中的温湿度发生变化时,DHT11温湿度传感器随着温度、湿度的变化而变化,然后将变化的电阻通过转换电路和转换信号检测为相对应变化的电压,然后把模拟电压信号由A/D转换器转换为数字信号并送入到单片机中。单片机对采集到的信号进行滤波处理并通过查表得到实际测量的湿度值。

三、该系统通过按钮设定最适宜的温度和湿度,传感器向最小系统输送监控信号,若超过预设值,蜂鸣器就会报警提醒,控制温、湿度的设备即可做出调整,使室内的温、湿度回到正常范围。

四、根据各种不同的计算机教室最适温度进行温度调节,若低于下限温度则采取升温措施,通常采取电热增温和空调增温。若高于上限温度则采取降温措施,通常通过空调降温和风扇降温;为满足机房不同种类计算机对湿度的要求,我们可以随时对温、湿度进行调节,对于不利情况能够及时的显示,并采取相应的措施提醒用户进行调整,以达到最适宜的温湿度。

1 整体方案结构

1.1 总体设计方案及其论证

本设计要实现的功能是:实时显示当前环境的温、湿度,允许用户设定温、湿度的上下限值,当环境温湿度超过或低于限定值时,系统会以蜂鸣器鸣叫的方式进行报警,并且使控温设备启动。待室内达到正常范围时,蜂鸣器停止鸣叫,控温设备停止运行,系统正常工作。

(1)温度检测:对温室温度进行测量并反映在显示器上。

(2)湿度检测:对温室湿度进行测量并反映在显示器上。

(3)显 示:1602 LCD显示器显示实时温度、湿度值。

依据功能设定,本系统主要分为以下三个模块:

(1)温湿度采集模块

(2)数据处理模块

(3)用户交互模块

其中温湿度采集模块使用的是DHT11数字温湿度传感器,它使用单总线方式,接口简单,而且无需另外校准。分辨率为8bit,能够满足日常环境温湿度的检测要求。

数据处理模块使用的是STC89C51单片机作为最小系统,其完成温湿度数据的采集、运算和控制设备运行的功能。

用户交互模块主要由按键、1602液晶显示器、蜂鸣器和控制设备构成。其中按键用于用户设定温湿度的限定值,1602 LCD用于显示数据,蜂鸣器用于提示用户,控制设备用于调节和控制不符合要求的温、湿度。

1.2 系统设计简图

C51单片机作为主控制器,负责处理由DHT11传输的数据,并把处理好的数据送向显示器模块,DHT11温湿度传感器主要用来采集周围的环境参数,并把采集得到的数据送向单片机。按键电路主要是用来完成单片机的复位操作和温湿度限定值的设定。蜂鸣器电路是用三极管来实现的,用来提示周围的温度或者湿度是否超出设定数值,控制设备等候指令,当蜂鸣器响起且温、湿度不在标准范围内,控制设备自行启动,直到温、湿度正常。显示电路主要用来显示当前的温湿度。

在这里插入图片描述
图1-2-1 温湿度监控系统原理图

2 系统硬件设计

2.1 器件选定

将单片机用作测控系统时,总要有被测信号输入通道,由计算机拾取必要的输入信息。对于测量系统而言,其核心任务是怎么样获得准确的被测信号;而对测控系统来说,不可缺少的环节是对条件的监测和对被控对象状态的测试,传感器是实现测量与控制的第一环节,是测控系统的关键部分,一切准确的测量和控制都将在传感器对原始信号的准确可靠的转换和捕捉,工业生产过程的自动化测量和控制,基本主要依赖各种传感器来控制和检测生产过程中的各种量,使系统和设备在最佳状态正常运行,从而保证生产的高质量和高效率[2]。

2.1.1 DHT11温湿度传感器

四条引脚中有两条是电源引脚,有一条是输出数据的引脚,只需要给其供上额定电压,输出引脚采集信号即可完成。若输出信号是模拟量,则通过A/D芯片,将模拟量转换为数字信号,然后传送给单片机。DHT11是数字传感器,不需要进行模数的转换。 

在这里插入图片描述2.1.2 1602LCD显示器

本设计将采用点阵字符型1602液晶显示模块。

在这里插入图片描述
在这里插入图片描述
基本操作时序
(1)读状态;输入:RS=L,R/W=H,E=H;输出:D0~D7为状态字。
(2)读数据;输入:RS=H,R/W=H,E=H;输出:无。
(3)写指令;输入:RS=L,R/W=L,E=H,D0D7为指令码;输出:D0D7为数据。
(4)写数据;输入:RS=H,R/W=L,E=H,D0~D7为数据;输出:无。
在这里插入图片描述 图 2-1-2 外形尺寸














在这里插入图片描述
图2-1-3 点阵字符型1602液晶显示器的显示地址映射图
控制器内部带有80B的RAM缓冲区,对应关系如图2-1-2所示。
在图中的00H0FH、40H4FH地址中的任意处写显示数据时,液晶都可以立即显示出来,但写入到10H27H或50H67H地址处时,必须通过移屏指令将他们移入可显示区域才能正常显示[4]。






2.2 主控系统电路和各硬件模块

2.2.3 复位电路与晶振电路

检测系统采用上电复位,当RST引脚上出现了两个周期以上的高电平就会触发内部复位,这里的EA端与复位电路无关,由于数据都放在了内部存储器,所以EA端直接上拉高电平。

2.2.4 蜂鸣器警报模块

图2-2-4 蜂鸣器警报模块

2.2.6 系统显示模块

显示模块选用1602点阵字符型液晶显示器,它是目前工控系统中使用最广泛的液晶屏之一。它的显示的质量高,驱动方便,经过编程后显示的内容丰富多样。

S1:复位键 S2:设置/保存 S3:数值加 S4:数值减

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/177691.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午6:56
下一篇 2026年3月26日 下午6:56


相关推荐

  • 学习记录03(网页挂马)

    学习记录03(网页挂马)网页挂马将木马程序上传到网站,使用木马生成器生成一个网马,放到网页空间,在添加代码使木马在网页打开时运行常见的几种方式将木马伪装成页面元素,木马被浏览器自动加载到本地利用脚本运行的漏洞下载木马利用脚本运行的漏洞释放隐含在网页脚本中的木马将木马伪装成缺失的组件。或和缺失的组件绑在一起(flash播放插件等)通过脚本运行调用某些com组件,利用其漏洞下载木马在渲染页面内容的过程中…

    2022年9月29日
    5
  • “养龙虾”重构零售电商?警惕伪降本与新一轮行业内卷

    “养龙虾”重构零售电商?警惕伪降本与新一轮行业内卷

    2026年3月17日
    2
  • Linux下 Cache数据库安装详解

    Linux下 Cache数据库安装详解Cache 数据库介绍 Cache 数据库是美国 Intersystems 公司产品 后关系型数据库 PostRelation 中的领头羊 Cache 数据库对大多数国内 IT 人员来说还是比较陌生 然而在国外特别是国外的医疗领域 在美国和欧洲的 HIS 系统 医疗卫生管理信息系统 中 CACHE 数据库所占的比例是最大的 被医疗界公认为首选数据库

    2026年3月17日
    2
  • java卸载dll,如何在java中卸载Dll?[通俗易懂]

    java卸载dll,如何在java中卸载Dll?[通俗易懂]IhavewrittenaJavaagentinLotusNotes8.5toresettoken’sPINusingIAIKPKCS11wrapper.Whentheagentisloadedforthefirsttimeitworkedfine.ButafterIcloseandrestarttheagentthenitf…

    2022年5月19日
    82
  • 详细理解HashMap数据结构,太齐全了!「建议收藏」

    写在前面:小伙伴儿们,大家好!今天来学习HashMap相关内容,作为面试必问的知识点,来深入了解一波!思维导图:1,HashMap集合简介HashMap基于哈希表的Map接口实现,是以key-value存储形式存在,即主要用来存放键值对。HashMap的实现不是同步的,这意味着它不是线程安全的。它的key、value都可以为null。此外,HashMap中的映射不是有序的。JDK1.8之前的HashMap由数组+链表组成的,数组是HashMap的主体,链表则是主要为了节解决哈希碰

    2022年4月17日
    43
  • 用pipenv创建虚拟环境,并在pycharm里应用

    用pipenv创建虚拟环境,并在pycharm里应用安装 pipenvpipins 查看 pipenv 用法 pipenv 进入到你存放虚拟环境的路径下 创建虚拟环境 cdD pycharm venv io interactionp 会在该目录下生成 Popflie 文件 存储虚拟环境相关信息 可用文本编辑器打开 该文件默认是外国的源 此时可以将其改为国内源 https pypi tuna tsinghua edu cn simple 这样库的安装速度会快一点激活虚拟环境

    2026年3月27日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号