news 2026/4/17 17:33:55

基于单片机的大棚温湿度监测系统的设计

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于单片机的大棚温湿度监测系统的设计

3.5液晶显示模块
3.5.1液晶原理介绍
整体的LCD1602液晶显示屏采用的是点阵液晶显示的工作模式,在这个过程中,液晶显示效果通过点阵组合的形
式,这样的设计保证了液晶显示屏能够很好的实现英文、中文、字符等的共同显示的效果。LCD1602液晶显示的效果
远远高于数码管的显示,数码管只能简单的显示数字,而液晶显示屏通过点阵的显示方式可以很好的进行多种字符
的效果。LCD液晶显示屏中由128个点组成,对应的液晶显示屏的显示区域可以显示RAM区的1024个字节,在这个显示
在过程中,每一个需要显示的字符都会根据程序的设定,点映相对应的位置的点阵显示字符,达到点亮的效果的同
时,在人们的眼中就会清晰的看到相应的字符的显示。在正常的液晶显示过程中,“0”代表不点亮,“1”代表点
亮,这样的设计效果就是通过程序进行设定,这样的通过字符控制器就能够实现字符控制显示的效果。如图3.9所示
为LCD1602液晶显示屏实物图。
图3.9 LCD1602液晶屏实物图

3.5.2液晶模块电路
LCD1602液晶显示屏能够是是实现两行数据显示,同时也能够是通过程序指令实现换屏显示。在程序指令中设定
程序,通过按键的调整可以实现手动换屏显示,或者通过设定换屏时间,达到一定的时间后,屏幕会自动实现切
换。在这锅过程中,系统能够根据自己的实际需要选择换屏时间和换屏方式。LCD1602液晶显示屏作为装置的输出设
备,是与人们实现交流显示的最直观的端口,该设备在与单片机进行通讯的过程中最直观的方案是通过8位或4位并
行传输两种方式,在LCD1602模块中通过引脚连接的方式与主控单片机进行连接,在这个过程中主要使用到的接口是
RS、RW接口,这些接口实现了数据的读取和存入,在此基础上能够很好的实现电子设备寄存器的设计工作。同时
LCD1602液晶显示屏还具有D0至D7的端口,通过单片机对这些接口进行控制,实现两行液晶显示。这些显示的字符可
以是数字、中文、英文、标点符号等。在本次系统的设计中主要是通过液晶显示屏对输出的方波频率信息进行显
示,
3.6硬件系统电路整体设计
3.6.1硬件电路原理图绘制
在系统设计过程中,硬件系统的搭建本次选用AD18.1.9版本的画图软件进行电路原理图的设计。如图3.11所示
为AD18.1.9版本画图软件。然后开始根据系统的合理性进行电路原理图的搭建,如图3.12所示,为本系统所设计的
电路原理图。
在这些基础上开始制作硬件电路,当把电路板腐蚀完成准备焊接元器件时发现在用AD画图软件设计电路板时犯
了很不小心的错误,电源和地的标号网络没有保持一致,导致生成的网络错误。虽然软件没有检测出错误,但是实
际是个错误的电路。由于这部分的疏忽,导致制作的电路板无效。

3.6.2硬件电路整体设计原理图
在本次系统设计中采用分模块的方式对整体系统进行设计分析,经过以上每个模块系统电路的介绍和设计,最
终将每个模块的系统电路图通过合理的方式与单片机主控芯片进行连接,整体系统电路遵循设计合理的形式,将系
统的电路进行优化,保证系统的整体设计的完整性,电路设计连线不交叉,整体系统设计电路原理图如图3.13所
示。
图3.13 整体硬件电路设计原理图

4 系统软件设计与实现

4.1软件环境选择
MCS-51编程语言主要有汇编语言以及C语言两种,其中汇编语言较为晦涩难懂,容易出错,不适用于本次系统设
计开发。C语言作为一种通用语言,结构较为清晰,简单易懂,被广泛应用于控制系统编程设计中。大多数的控制设
计都选择C语言来应用到编程语言的开发中。
从开发周期的角度出发,C语言开发周期更小,属于一种结构化语言,而汇编语言更大。C语言逻辑结构清晰,
便于调试和维护,具有很强的处理能力,因此能够适用于复杂的数据结构中。此外,C语言开发设计的程序模块能够
13
直接应用于其他项目,在对硬件进行编程操作的时候具有可靠性高的优点,相比于汇编语言,C语言还具有兼容性,
兼顾了高级语言以及低级语言,具有高效处理以及可移植性的特点。
考虑到本次设计的系统,对比汇编语言以及C语言的特点,决定采用C语言作为51单片机的编程语言,如图4.1所
示为C语言变成图,在软件开发系统Keil uVision4平台上进行程序设计,如图4.2为Keil4软件图。
图4.1 C语言编程图

由于单片机只能执行机器语言的程序(目标程序),源程序需要进行编译才能成为目标程序。在编译源程序的
过程中,会检查程序的正确性,发现源程序中存在的语法错误以及逻辑错误,但是存在无法检查程序的结构错误。
当程序编译中发现程序错误时,窗口会报错,然后需要针对报错地方进行纠正,完成错误纠正之后才能重新实现编
译调试,知道程序不再报错为止。只有当被编译的程序没有错误时,才能执行程序及对程序进行仿真调试。如图4.3
为Keil4软件编译按钮图,如图4.4所示为软件程序编译成功图。
14

4.2主程序设计
本系统的软件包括主程序、键盘处理子程序、显示子程序、湿度温度控制程序、异常报警程序、湿度温度报警
范围设定子程序等。该系统软件主要由主程序、中断子程序、数据采集与A/D转换子程序、显示子程序、报警子程
序等6大模块组成,因为C语言编写的软件易于实现模块化,生成的机器代码质量高、可读性强、移植好,所以本系
统的软件采用C语言编写,再Keilvision4版本的集成开发环境下进行编译连接。
在主程序的设计中,它的控制思想:首先对单片机的一些主要的端口进行定义, 同时根据需要启动中断和设置
中断优先级,让单片机每次都能在初始状态下开始执行程序而不受到上次执行程序结果的干扰,这是最基本也是最
重要的单片机能够顺利正确执行程序的条件。在初始化完成之后,调用各个子程序,实现传感器的初始化,读写数
据,温度转换,读AD转换器,湿度转换,温度与温度显示,判断报警,键盘设定等功能,主程序循环执行各个模

4.3液晶显示子程序设计

图4.6 显示程序流程框图
屏幕显示子程序流程图如图4.6所示。为了能够直观的将当前的数据信息进行显示,方便大棚管理人员进行查
看,该大棚温湿度监测系统设置了屏幕显示子程序,该程序主要是对温湿度信息的处理和显示,通过程序,能够将
当前所测得的温湿度信息显示在屏幕上,并且具有掉电保存和自动对时的功能。通过屏幕,也可以显示当前所设定
的温度和湿度的报警上下限阈值。屏幕显示程序主要是先对屏幕信息进行初始化,然后将SHT11读取到的温湿度信息
经过单片机处理后传送给液晶屏幕进行直观的显示,不断地循环进行监测显示。
4.4中断服务键盘设定程序设计
键盘设定程序流程图如图4.7所示。首先在主程序中开中断,当设置按键按下时,执行中断服务程序,即进入按
键修改程序,循环运行键扫程序。若有键闭合,则先消抖,然后再次检查有无键闭合,若无键闭合,则返回主程
序;若有键闭合则执行相应功能程序。分6个功能按键,包括设置/完成键、切换上下限键、温度调高键、温度调低
键、湿度调高键、湿度调低键。
16

图4.7 键盘设定程序的设计框图
4.5报警子程序设计
报警控制程序流程图如图4.8所示。当采样温度湿度超出所设报警范围时,要求系统能够发出报警,被测环境温
度在正常范围内时,无蜂鸣器报警,且继电器不工作。执行该程序将会对采样温度/湿度和RAM中的最高设定的最高
温度、最低温度以及最高湿度、最低湿度进行比较,然后通过判断标志位以判别测量温度/湿度是否超出规定测量范
围。当温度/湿度出现超出最高规定值或者低于最小值时,分别跳转到对应的报警程序,启动蜂鸣器报警,结合原报
警程序判断出是高温报警还是低温报警,低湿报警还是高湿报警,置位相对应的发光二极管。这时候可以通过调用
键盘模块对最高温度和最低温度以及最高湿度和最低湿度进行重新设置,实现灵活多变的功能。
17
图4.8 报警控制程序的设计框图

5 系统测试

5.1软件调试
在本次系统的设计过程中,通过软件编程以及整体思想系统的设计完成了基于单片机的大棚温湿度监测系统软
件部分的设计。对于软件系统的调试主要就是检查程序设计的合理性已经程序代码编写的准确性,保证整体系统设
计能够在合理的情况下正常运行,保证程序代码在最终的编译过程中,没有任何的错误提示。这样的软件系统的调
试能够使整体系统运行流程,达到最初的设计效果,能够使得信号正常发生和显示。在软件调试过程中也遇到了一
些问题,主要问题如下:
问题1:编译过程中显示找不到“LCD1602.h”文件。
解决:在正常的显示过程中,需要在主函数当中头文件中调用每一个子文件,这样才能够保证整体系统运行的
稳定性,当找不到.h文件的时候就代表没有对该子文件进行调用,通过在主函数中进行头文件的定义达到调用子文
件的效果,从而解决了该错误。
问题2:在液晶显示过程中,出现闪烁,字符显示不完整。
解决:在LCD1602液晶显示文件中,对屏幕显示过程中需要显示的字符进行编写和合理排布,这样的设计一方面
是为了保证系统的完整性,另一方面也是为了能够实现显示美观的效果,通过自查该子文件程序,重新对显示字符
程序进行编写,然后再重新编译,解决了这样的问题。
问题3:通过按键对系统进行设置和调整的过程中,按下按键整体系统没有变化。
解决:按键模块是人们进行人机交互的主要模块,通过按键能够对整体系统进行设置或者调整,在系统启动
时,按下按键没有得到反应的时候,一般就是在系统程序设计的过程中,对该按键没有进行定义或者定义错误。通
过自查按键设计程序,发现在程序设计过程中,对按键的按下动作的设计错误,所以导致按下按键后整体系统没有
反应,将按键程序的触发接口重新进行定义,解决了这个问题。
经过上述的软件调试流程以及问题的加过最终完成了整体系统的软件设计,经过编译实现了"SHT11温湿度检测报警
系统" - 0 Error(s), 0 Warning(s)。如图5.1所示为整体装置软件程序调试成功图。
图5.1 软件程序调试成功图

5.2硬件调试
18
硬件系统的设计主要就是对系统元器件的选择,保证整体系统的完整性,选择性能合适且价格合适的元器件作
为本次系统设计过程中的组成元器件,对于元器件的合理使用,就能够保证整体系统运行的完整性。对于硬件系统
的调试,主要是查看系统是否能够在启动电源后正常稳定的运行。
问题1:装置启动后,液晶没有数据的显示。
解决:在装置启动后,液晶不能显示,首先要检查整体系统的设计线路连接是否完整,有没有出现线路连接错
误的情况,在这个过程中需要仔细认真的核对每一个连线,连线的不完整会对整个系统的运行造成极大的损害,经
过查找发展液晶显示线路的其中一个引脚没有连接到单片机引脚上的相应位置,所以导致了开机后液晶没有显示,
然后将线路更改正确后解决了这个问题。
问题2:在进行数据设置是按下按键,不能够正常的跳转到设计界面。
解决:按键在使用的过程中出现错误,首先检查按键的电路连线是否正确,在确定了按键连接线路正确无误
后,在检查按键程序设计过程中的问题。经过查找相关电路和程序,发现忘记添加按键演示消抖的缘故,对按键添
加消抖程序设计后,解决了这个问题。
经过一系列的焊接与调试,最终完成了基于单片机的大棚温湿度监测系统的整体系统的安装,完成了实物的制作,
如图5.2所示为焊接完成实物图。

图5.2 焊接完成实物图
5.3系统单元测试
5.3.1LCD显示模块测试
在本次设计的基于单片机的大棚温湿度系统中,开机时,能够正常显示目前的温度、湿度信息,同时也可以显
示当前所设置的温度和湿度的上下限信息,如图5.3所示为LCD液晶显示模块工作图。

5.3.2大棚温湿度监测模块测试
在本次系统设计中采用SHT11温湿度传感器对大棚内的温湿度信息进行监测,SHT11温湿度传感器作为环境感知模块
能够实时的进行大棚内的温湿度信息的监测和采集,如图5.4所示为SHT11温湿度传感器工作图。SHT11温湿度传感器
监测到的温湿度信息经过单片机的处理后,可以以数据的形式直观的显示在LCD液晶显示屏中,如图5.5所示,为温
湿度显示图。
图5.4 SHT11实物工作图

5.3.3按键模块测试
在本次系统设计中为了能够使得该装置适用于不同环境的温湿度监测,采用独立按键的形式,设置了按键模
块,。通过按键模块能够实现对温室中的温度、湿度监测的声光报警上下限
阈值进行调整,使得该装置固有更好的拓展性,可以使得该装置适用于不同的大棚环境监测中。
20
图5.7 温湿度上下限调整图(光标移动代表调整)

5.3.4声光报警模块测试
在本次系统设计中,除了设计大棚温湿度监测与显示系统外,也利用蜂鸣器和LED灯设计了声光报警装置。当温
室大棚环境中的温湿度据出现异常的时候,就会立即实现声光报警,蜂鸣器会持续发生,同时闪光灯闪烁。在本次
系统中公设计了4个LED灯,分别代表温度过高、温度过低、湿度过高、湿度过低,当相应的数据出现异常时,对应
的LED灯就会亮起。如图5.8所示,为声光报警装置工作图。

图5.8 声光报警装置工作图
5.4系统整体测试
经过软硬件的测试以及调试,最终完成了系统的整体设计。本设计为基于单片机的大棚温湿度监测系统,
STC89C52单片机作为主控制芯片对整体控制系统进行了设计,包括温湿度监测模块、按键模块、显示模块、声光报
警模块以及电源模块。系统接收到传感器信号将信号通过单片机处理后传进执行系统,通过LCD显示屏将数字信息显
示到屏幕上,同时通过温湿度监测模块将数据传输至单片机中与设定的温湿度阈值进行比较,一方面将温湿度信息
以数据的形式现实在LCD中,另一方面发现异常数据时,控制声光报警装置进行报警。如图5.9所示为系统整体测试
图。该装置的设计完善的实现了大棚温湿度监测、显示与报警系统,经测试,装置运行状态良好,达到了设计需
求。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 13:49:10

2026年企业AI应用演进趋势与CIO布局策略

潮起海天阔,风劲好扬帆。“十五五”规划擘画的高质量发展蓝图中,“人工智能”行动已然成为驱动产业变革的核心引擎,为千行百业的智能化升级指明了方向。站在2026年的时间节点,人工智能技术正从实验室走向规模化商用,如…

作者头像 李华
网站建设 2026/4/17 17:20:14

Open-AutoGLM源码开放了吗?最新进展+真实可用下载地址全曝光

第一章:Open-AutoGLM 智谱 源码下载获取 Open-AutoGLM 的源码是深入理解其架构与实现自动任务调度机制的第一步。该项目由智谱AI开源,旨在提供一个可扩展的自动化大模型任务处理框架。环境准备 在开始下载源码前,确保本地已安装以下基础工具&…

作者头像 李华
网站建设 2026/4/16 14:38:46

JSP+Servlet结合验证码防止表单重复提交

使用验证码防止表单重复提交:基于 JSP Servlet 的实战方案 在开发 Web 应用时,你有没有遇到过用户疯狂点击“提交”按钮导致服务雪崩的情况?尤其是在涉及高计算成本的操作中,比如 AI 图像生成、订单支付或注册流程,这…

作者头像 李华
网站建设 2026/4/17 15:29:57

逆向分析一款WebShell的解密与源码获取过程

逆向分析一款WebShell的解密与源码获取过程 在一次常规的安全测试中,我遇到了一个看似普通的文件上传点。经过一番探测和尝试,成功上传了一个PHP文件,并发现它并不是简单的后门脚本——而是一个精心设计的“加载器”。 起初以为只是个低级Web…

作者头像 李华