陕西理工学院毕业设计
DHT11子程序给DHT11上电延时保持高电平检测记录信号输出低电平数据输出返回
图3.2 DHT11传感器模块程序流程图
3.2 1602液晶显示模块设计
液晶显示模块在执行每条指令前必须确认模块不忙(标志为低电平),则指令失效,显示字符时先输入显示字符地址,通知模块在什么位置显示字符。子程序流程图如图3.3所示。
下面给出LCD1602初始化代码: void init_1602() //lcd1602初始化 { write_com(0x38); write_com(0x0c); write_com(0x06); delay_uint(1000); write_string(1,0,\ GX:00% \ write_string(2,0,\ W: S: %RH \ write_zifu(2,6,0xdf); //显示度 }
第 15 页 共 45 页
陕西理工学院毕业设计
1602子程序LCD初始化延时设第一行显示位置显示第一行内容设第二行显示位置显示第二行内容返回 图3.3 1602液晶显示模块流程图
3.3 软件调试
本设计是在Keil C环境下开发的,Keil C软件支持C语言的编程及调试,运用方便,是做C语言毕业设计者的首选。设计的首要任务是安装和学习使用这个软件,在简单的学习和了解Keil C后,我们便可在此环境下开始对温室环境的设计工作。在编译完Keil C后,再运用STC_ISP_V480软件烧录到开发板上,实现实物与程序的连接。在烧录前要对STC_ISP_V480进行一些必要的设置。第一步:设置MCU Type为STC89C52RC;第二步:打开编写好并编译的程序文件,它是以.hex为后缀的文件;第三步:选择对应的COM端口(可在我的电脑的设备管理处查看COM选项);第四步:点击Download/下载,等待提示。给MCU上电时,打开开发板上的开关,它就自行烧录了。
在完成对程序的调试和烧录之后,还需要对其进行演示,把开发板与电脑连上,设置好对应的接口,完成供电及下载。开始供电后、稍等几秒等到1602液晶屏能正常显示当前温度、湿度及光照强度之后。观察当前温度、湿度及光照强度的变化。并针对与设定的限值相比较。若当前温度没有超过限值。可以用热源靠近DHT11传感器,令其周围温度上升超限;对DHT11传感器哈气,令其相对湿度超限;用手电筒照射光敏电阻,令其光照强度值超限。观测是否报警,经测试超限后都发出报警信号。因而简单的实现了对温度、湿度及光照强度的监测。
第 16 页 共 45 页
陕西理工学院毕业设计
4 系统的焊接与测试
4.1 系统硬件电路焊接
系统硬件电路主要由采集模块、按键模块、报警模块和液晶显示模块组成。焊接各模块前需检查元器件,以及电容器的耐压正确与否,电容器的极性问题等,检查无误后,再次确定原理图,安装电路位置,检查极性是否正确,在安装过程中最好保证导线条理清晰,最后就是焊接。焊接时需保证元器件按照电路原理图安装正确,先找好电源和接地点,切不可正负极焊接错误或者管脚焊接错误。完成的硬件实物如图4.1所示。
图4.1 系统硬件实物图
图4.1中上半部分为信号采集模块,该模块作用是将DHT11温湿度传感器采集到的数据发送出去,并将采集到的温度和湿度信息传输到液晶显示模块LCD1602显示,第一行发送模块采集的光照信息,第二行温度和湿度信息。 4.2 系统硬件电路调试
经过前期的努力,系统软件和硬件设计已经完成,并且调试也已经结束。现在把软硬件设计结合起来完成系统整体的测试。首先是把硬件设计通过USB接线连接到电脑,然后通过下载器将程序烧录到单片机,最后就是进行硬件测试。构建系统模块电路时耐心细致必不可少,在搭建的过程中细心认真更是关键,遇到问题时,要冷静应对,液晶显示屏没有显示时首先要将涉及的线路进行一一排除,出现乱码时主要是软件程序部分出现了问题。如果液晶显示屏始终没有显示时,首先要排查温湿度传感器DHT11器件本身问题,若不是器件问题则要检查并证实程序部分是否正确,若不正确应及时修改,直到系统测试达到预期结果。 4.3 系统硬件电路结果分析
该温室大棚环境监测系统主要实现温度、湿度及光照采集,超出范围报警等功能。各部分具体功能的操作及结果如下。
(1)传感器模块如图4.2所示。
图4.2 传感器模块实物图
第 17 页 共 45 页
陕西理工学院毕业设计
温湿度传感器DHT11采集温度和湿度信息,光敏电阻采集光照强度信息,并将采集到的数据发送给单片机,并且通过转换处理发送到显示模块,由LCD1602显示屏显示数据。
(2)显示模块如图4.3所示。
图4.3 显示模块实物图
主机将采集到的信息传输到显示屏显示,并将接收到的数据与预先设定的上下限进行比较,超出设置的阈值范围则驱动蜂鸣器报警。
(3)设置上下限时显示屏显示如图4.4所示。
图4.4 设置上下限实物图
通过按键可以对温度、湿度及光照强度值的上下限进行设定,比如可以把湿度的上限SH设置为60%,下限SL设置为20%;温度的上限WH设置为30°,下限WL设置为20°;光照强度值的上限GH设置为70%,下限GL设置为20%,无论哪一项超过上下限,蜂鸣器发出报警信号。通过测试,当温度在外部干扰作用下超过预设温度时,蜂鸣器会立马报警;湿度的测试是通过外部给传感器哈气,增加湿度,超过上限后报警;光照的测量时通过用手电筒给光敏电阻照射,最后也达到了预设的结果。总体来说,本次设计还是比较成功的,达到了设计的基本要求。
第 18 页 共 45 页
陕西理工学院毕业设计
结束语
本此设计的是基于单片机的温室大棚的环境监测系统。该系统主要由单片机STC89C52、温湿度传感器DHT11、液晶显示LCD1602、光敏电阻和蜂鸣器组成。通过查阅大量的资料及文献,熟悉了系统设计核心,单片机的原理及应用。在老师的悉心指导下,完成了系统的整体设计,明确了系统所要实现的要求,首先分别设计软件和硬件,然后是对软件和硬件进行分别调试,在这个过程中不断发现问题并改进,最后是把软硬件结合进行总体测试,从而实现温度、湿度及光照强度的实时检测,超出设定范围发出警报。虽然系统还存在一些不足,比如温度、湿度及光照强度测量不够精确,特别是湿度,波动较大,尝试了各种改进方法,仍然不太理想,不过大体能反映出设计的目的和要求,与预期的结果相差不多。同时通过温室大棚环境检测系统的设计,对单片机有了很多的了解,对书本上的理论知识有了一个更理性的认识,在这个过程中学到了很多其他方面的知识。
在当今科技飞快发展的时代里,各国的温室控制技术飞速发展,先进的国家已经在自动化的基础上朝着完全自动化的方向发展。无论在生产还是生活中,温室与人类都是息息相关的,而智能化的控制温度、湿度及光照强度已经成为一种必然。由于知识储备有限,如果可以对这个系统做一些拓展。比如,把该系统得到的测量结果在计算机上显示,可利用计算机进行数据的保存和加工处理。另外,如果接入无线收发模块,还可以把这个装置适用于比较偏远不方便到达的地方,此时还可以在端口扩展针对温度、湿度及光照强度过限之后的控制模块,温度过高的时候启动降温系统,打开排气扇等;过低的时候启动加热器;湿度过高或者过低都相应启动加湿器或风干机,直到相应指标达到设定的允许的范围内,这样可以实现无人管理种植,又进一步节省了人力和财力。希望在以后的工作生活中可以把这个系统进一步优化,发展成为更加完美的系统。
第 19 页 共 45 页