基于单片机的大棚温湿度监测系统的设计-本科毕业论文(设计)

更新时间:2024-06-04 07:48:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

南昌工程学院

毕业设计 (论文)

信息工程学院系(院)通信工程专业

毕业设计(论文)题目大棚温湿度监测系统的设计

学生姓名张小宁

班级 11级通信工程

学号 2011103429

指导教师聂菊根

完成日期2015年 04 月 28 日

大棚温湿度监测系统的设计

The design of temperature and humidity monitoring system in

greenhouse

总计毕业设计(论文) 34页 表格 12 个

插图 27幅

摘要

在大棚种植术里,温湿度是影响作物产量的关键因素,传统的温湿度测量采集方式具有精度不高,操作费时费力的问题,不能够动态监测,很容易造成由于环境因素突变而造成的减产甚至无产的惨痛损失。

本设计以AT89S52单片机为控制核心,用SHT11数字式温湿度传感器作为数据采集,并把数据显示在LCD显示屏上,能任意时刻观测到大棚内部的实时环境参量;用户可自己设定温湿度上下限,当系统检测到的温湿度在安全阀值之外立即通过报警电路报警。这样设计出来的系统具有实时性、精度高、稳定性、低能耗、低成本、操作简单等诸多优点,可广泛应用与大棚种植的环境之中。

关键词:AT89S52; SHT11;大棚;温湿度;传感器

I

Abstract

In greenhouse cultivation technique, the temperature and humidity are the key factor to affect the yield of crops. Measurement of temperature and humidity acquisition are the traditional way which is not accurate enough. It conclude time-consuming problem, can not dynamic monitoring, and very easy to cause a painful loss even no gain due to sharply environment change.

The design use AT89S52 microcontroller as the control core, and SHT11 digital temperature and humidity sensor is used for data acquisition, the data are displayed on the LCD screen, real-time environmental parameters within the greenhouse can be observed at any time. The user can set the upper and lower limits of temperature and humidity, When the temperature and humidity are not in the safe range, the system will alarm via alarm circurt. This kind of system design with real-time, high precision, stability, low energy consumption, low cost, simple operation and many other advantages, can be widely used in greenhouse cultivation environment.

Keywords: AT89S52; SHT11; temperature and humidity; monitoring; alarm

II

目录

摘要 ......................................................................................................................................... I Abstract ................................................................................................................................ II 第一章绪论 .......................................................................................................................... 1

1.1选题背景 .................................................................................................................... 1 1.2国内外研究现状 ........................................................................................................ 1 1.3系统主要设计内容 .................................................................................................... 2

1.3.1系统框图 ......................................................................................................... 2 1.3.2元器件的选择 ................................................................................................. 2

第二章系统硬件设计 ....................................................................................................... 5

2.1系统性能概述 ............................................................................................................ 5 2.2 单片机模块 ............................................................................................................... 5

2.2.1 AT89S52 主要功能概述 ................................................................................ 5 2.2.2 AT89S52 封装结构 ........................................................................................ 5 2.2.3 AT89S52引脚功能 ......................................................................................... 6 2.3 单片机最小系统 ....................................................................................................... 7

2.3.1 单片机 ............................................................................................................ 7 2.3.2 晶振电路 ........................................................................................................ 7 2.3.4复位电路 ......................................................................................................... 8 2.4 传感器模块 ............................................................................................................... 8

2.4.1 SHT11简介 ..................................................................................................... 8 2.4.2 SHT11端口介绍 ............................................................................................. 9 2.4.3 SHT11典型应用电路 ................................................................................... 10 2.5显示模块 .................................................................................................................. 10

2.5.1 LCD1602概述 .............................................................................................. 10

IV

2.5.2 LCD1602特性 .............................................................................................. 11 2.5.3 LCD1602引脚说明 ...................................................................................... 11 2.6按键电路 .................................................................................................................. 15 2.7 报警电路 ................................................................................................................. 16

第三章系统软件设计 ..................................................................................................... 19

3.1 系统主程序设计方法 ............................................................................................. 19 3.2 LCD1602显示子程序 ............................................................................................. 20 3.3 DHT11温湿度采集子程序 .................................................................................... 22

第四章系统测试 .............................................................................................................. 25

4.1 软件测试 ................................................................................................................. 25

4.1.1 软件测试总结 .............................................................................................. 25 4.2 硬件测试 ................................................................................................................. 26

4.2.1 系统硬件仿真 .............................................................................................. 26 4.2.2硬件测试总结 ............................................................................................... 28 4.3 实物测试 ................................................................................................................. 28

4.3.1 实物系统概况 .............................................................................................. 28 4.3.2 实物报警测试 .............................................................................................. 29 4.3.3 实物按键测试 .............................................................................................. 30 4.3.4 实物测试总结 .............................................................................................. 31

结语 ...................................................................................................................................... 32 参考文献 ............................................................................................................................ 33 致谢 ...................................................................................................................................... 34 附录 ...................................................................................................................................... 35

V

南昌工程学院本科毕业设计(论文)

第一章绪论

1.1选题背景

近期,我国温室的总种植面积位于世界前列,产业的发展迅猛。但是,我国的温室自动控制技术远远跟不上温室数量的增长,农业生产还在使用大量的人力劳动,不仅劳累,而且因为无法对温室环境进行精确监测,不仅浪费了大量的资源,还使作物产量受到了影响,降低了收入。同现代化农业发达的国家相比,我国在这一方面还是有比较大的差距,特别在是对温室生产环境的各个因素的自动监测与控制方面。本课题目的在于研究一个基于单片机为主控芯片下的大棚温湿度自动监测系统,由于单片机及相关附加部件的经济性,使得其能广泛应用于广大农民之中,从而通过对大棚温湿度的科学量化实时监测调整对作物的环境从而提高农业产量,造福广大农民,其实用性使得这个研究很有必要。

1.2国内外研究现状

上个世纪70年代开始,国外就利用当时发展的模拟技术对温室环境因子控制开展研究,告别了之前人工测量的落后时代,随着研究的深入和进步,分布式控制系统便进一步在此领域发展起来了。随着世界各国的温室自动控制技术的迅猛发展,如以色列、荷兰、日本美国等西方发达国家,都实现了根据所植入和采集到的温室生物的特点与要求,对温室所处的多方面因素进行自动控制,包括温度、湿度、光照强度、水分、气体浓度、肥料等各个方面[1]。在荷兰,其玻璃温室已经可以通过计算机控制,实行全自动无人化控制生产;在日本,其温室自动控制在温室生产的各项作业中都逐步实现了无人化、全自动化。通过热电技术的使用,荷兰实现了精确控制成熟期的水果和蔬菜,鲜花和其他植物的开花期,满足在各种节日的时间需求的人;在英国,伦敦大学农业学院研制出来的温室自动控制技术,可以对超过50公里的温室内环境进行监控,包括温度和湿度,光照强度,气体浓度和水等环境因素。

比国外晚大概十年,也就是在80年代之后,中国相关科研人员不断学习西方发达国家在温室控制领域取得的成果,并且积累总结出自身经验,内化为适应中国本土的技术,在研究初始阶段,只能对单一环境因子实现自动控制,但在随后快速发展的微

1

第一章绪论

机技术、传感技术等高新技术的驱动下,自动控制的领域有了翻天覆地的变化,通过温室生产,可利用计算机对生物生长所需的部分或者全部的环境因素进行自动控制,使农业生产方式有了巨大的改变,生产信息化、工厂化等已经成为了世界上农业广泛生产的新途径。

1.3系统主要设计内容 1.3.1系统框图

复位电路 温湿度传感器 1602显示电路 键盘输入 控制单元 AT89S52 电源电路 报警电路

图1.1 系统框图

1.3.2元器件的选择

利用AT89S52单片机控制单元的设计,传感器采用SHT11数字温湿度传感器,1602A双液晶显示器实时显示温度和湿度,蜂鸣器报警电路,并用三极管驱动,LED报警信息电路。

在单片机中,ATMEL公司生产的C51系列单片机具有成本低廉、运行稳定、开发周期短、易操作使用等优点,但是每次写程序的时候都要进行拔插,不仅在调试的

2

南昌工程学院本科毕业设计(论文)

时候比较繁琐,而且对芯片也会造成一定的损害;而S系列的AT89S52单片机弥补了这一缺陷,不仅支持在线ISP编程,免除繁琐的编程拔插,还比89C51 多了一倍的内存,因此可以支持更大的程序,这样有利于该系统日后的功能拓展。在数据采集模块上面,为了使得整体电路更加精简,减少繁杂的外围电路,A/D转换电路,使用集成式的数字式温湿度传感器SHT11。同样的道理,1602液晶显示器可以显示双行字符,满足了设计的显示要求。

3

第一章绪论

4

南昌工程学院本科毕业设计(论文)

第二章系统硬件设计

2.1系统性能概述

作为一个大棚温湿度监测系统,其核心任务是对棚内环境进行自动测量。该系统上电初始化后,通过SHT11感应并检测大棚内的温湿度值,传送给AT89S52核心处理单元,此时处理器调出内部设定好的温湿度上下限,据此对比判断对应数据是否异常,然后做出报警与否的反馈;确定是否异常超过预设的时间,如果超过预定时间,异常信号从报警电路输出;然后继续确定异常处理,如果解决了,然后就会解除报警。这样一来,通过单片机的核心处理控制功能来采集实时环境信息,让用户可以实时高效地获取大棚内部的环境状态,从而能够及时实施管理。

2.2 单片机模块

单片机作为一种微型计算机,广泛应用在工业自动化、自动控制、智能仪器仪表等领域[2],具有体积小、成本低的特性,功能齐全,简单方便,发展迅速,嵌入容易。 本设计采用AT89S52单片机,单片机是一种低功耗,高性能CMOS8位微控制器,有8K的系统内可编程闪存。它兼容MCS-51系列的引脚,适用于所有标准80C51指令集。从而使该器件进行编程,因此它能够在进行程序烧录是不进行多次拔插,可避免不必要的繁琐程序以及对装置的损耗甚至损坏。 2.2.1 AT89S52 主要功能概述

AT89s52提供以下标准功能:8K字节的Flash闪速存储器,256字节内部RAM,拥有32个I/O口线、3个16位定时器/计数器、一个6向量两级中断结构、1个全双工串行通信口以及片内振荡器及时钟电路。与此同时,AT89S52可将至0 Hz的静态逻辑操作,并支持两种软件可选的结点工作模式。空闲方式停止CPU工作,但允许RAM和定时器/计数器、串行通信口及中断系统继续工作。掉电方式下会保存RAM中的内容,但是振荡器停止工作并且禁止其它所有部件工作,直到下一个硬件复位。 2.2.2 AT89S52 封装结构

5

第二章系统硬件设计

图2.1 AT89S52 PDIP封装结构

2.2.3 AT89S52引脚功能

VCC: 电源引脚 GND: 逻辑地

P0口:8位的地址和总线复用I/O口。 P1口:I/O端口,8位,具有内部上拉电阻。

P2口:P2口是一个带有内部上拉电阻的8位双向I/O口。

P3口:端口P3是具有内部上拉电阻的8位双向I/O口。P3口依然和AT89C51一样提供了它的第二功能。

RST:复位输入端口,复位方式是当其工作是在RST引脚接入持续时间长达两个机器周期以上高电平。

ALE/PROG:地址锁存允许。

PSEN:片外程序存储器的读选通信号。 EA/VPP:外部访问允许端口。第二功能,即

VPP功能,在对片内Flash进行编程

的时候,要在这个引脚上接入12V 的编程电压。

6

南昌工程学院本科毕业设计(论文)

XTAL1:片内振荡器反相放大器和内部时钟发生器的输入端。 XTAL2:片内振荡器反相放大器的输出端。

2.3 单片机最小系统

单片机最小系统就是单片机能够运行程序,正常工作最简单电路系统,是保证单片机的正常启动和开始工作的必须电路,组成这部分的东西缺一不可,单片机最小系统应该有单片机、晶振电路、复位电路。 2.3.1 单片机

在上节已经作了阐述。 2.3.2 晶振电路

在Proteus仿真环境里如图2.2 。

图2.2 单片机振荡电路

系统在执行程序的时候需要一个稳定的时钟信号,一切的指令都需要这样的时钟信号才能够有条不紊地执行。单片机系统所需的时钟信号由晶振提供,并且其运行速度与频率的高低息息相关,呈现出正比的规律,单片机产生的频率越高其运行速度就越快,反之则越慢。在一般环境下,晶体振荡器的频率五十的绝对精度可以达到百万,足够一般使用,先进的水晶会更精确。STC89S52采用11.0592MHz的晶振作为振动源,单片机内部含振荡器电路,所以震荡电路的连接跟8051单片机一样,所连接的电容容量为22pF即可。

7

第二章系统硬件设计

2.3.4复位电路

如同计算机,单片机在执行程序的时候可能会遇到各种各样的意外情况而使系统瘫痪或者软件跑飞,因此就需要一个复位机制。就好比计算机的重启部分,单片机复位电路使得其具有恢复正常运作的功能,当按下复位按键的时候,内部的程序会重新从头开始执行。

图2.3 复位电路

单片机的复位电路由两种方式,分别是上电自动复位和按键复位,本设计采用的是上电自动复位电路,实现原理如图2.3。

2.4 传感器模块

2.4.1 SHT11简介

目前在电容式温湿度传感器的发展中,以盛世瑞恩公司制造的SHTXX系列的产品占主要份额,即集成的单片智能数字化温湿度传感器[3]。这种产品在工业CMOS过程中采用了微加工技术,从而使其有长期的稳定性和比较高的可靠性。它的外观和引脚如图2.4所示。

图2.4 SHT11外观和引脚

8

南昌工程学院本科毕业设计(论文)

这个温度和湿度传感器由一个湿度传感器探头式温度测量元件和电容器体,还包含了A/D转换器[4],这样一来就能够免去复杂的外围电路而使该装置直接输出数字信号。对于传感器的系数校准方面,它会在对外界检测到相应信号的时候自动调用存储在OTP内存里的校准系数程序。其湿度测量范围为0%~100%RH,测量精度为±0.1%RH;温度测量范围为-40~ 123.8℃ ,测量精度为±0.01℃。 2.4.2 SHT11端口介绍

VDD :电源引脚。SHT11的额定电压为5V。一般在3.3V就可以正常工作,上电后电源引脚可以接上一个100nF 的电容。SHT11的串行接口优化传感器读出和有效的电力消耗。传感器可以连接到一个I2C总线,不干扰其他设备连接到总线,控制器必须在协议之间进行切换。

GND:地。

SCK:串行时钟输入。

DATA:串行数据引脚。这个传感器的三态串行数据引脚用来收发数据。传感器发送命令到串行数据时钟(SCK)的有效前沿,并且必须保持稳定在较高的水平时,SCK,SCK边缘的数据值可能倒台后发生改变。为了保持安全通讯数据有效,应当延长在TSU上升和THO下降沿的SCK后,分别见图2.5。

图2.5 SHT11收发数据时序

用于读取数据传感器、数据SCK已经是低电平,后是有效的电平SCK仍然有效,

9

第二章系统硬件设计

直到下一个下降沿到来。为了避免信号争用单片机必须唯一用低电平驱动数据位,所以通常在该引脚外部接上10k大小的上拉电阻。 2.4.3 SHT11典型应用电路

图2.6 SHT11典型应用电路

2.5显示模块

2.5.1 LCD1602概述

本系统选择的字符型显示器是一种用 5*7 点阵图形显示字符的显示器,根据可以显示的字数多少可以分为 2 行 20 字、2 行 16 字、1 行 16 字等。通常我们所用的是 2 行 16 字,也就是本系统采用的 LCD1602 模块。

液晶显示器具有体积小,功耗低,微薄而轻,使用方便,显示内容丰富等优点,已应用于许多低功率器件。这个装置的引用使得这些电子设备的人机界面变的越来越形象和直观。图 2.7 是该模块的实物图。

图2.7 LCD1602实物图

10

南昌工程学院本科毕业设计(论文)

2.5.2 LCD1602特性

该类型液晶显示模块内部有字符发生器CGROM,也就是字符库。可以显示192个5*7点阵字符。如图2.8。因此,每个字母和数字都有唯一的一个代码至,而且恰好与ASCII码中的字母和数字相同。因此在显示字母和数字的时候,向LCD1602送入对应的ASCII码就行了。

图2.8 LCD1602ROM字符库的内容

2.5.3 LCD1602引脚说明

字符型 LCD 通常有 14 条引脚(无背光)线或 16 条引脚线(带背光)两种接口形式[5],其中 16 条引脚的多出了背光电源线 VCC(15 脚)和地线 GND(16 脚),各引脚定义如表 2.1 所示。

表 2.1 LCD1602 引脚功能定义

编号 1 2

11

符号 VSS VDD 引脚说明 电源地 电源正极 编号 9 1 符号 DB2 DB3 引脚说明 Data Data 第二章系统硬件设计

续表2.3

3 4 5 6 7 8 VL RS R/ ̄W E DB0 DB1 液晶显示偏压 数据/命令选择 读/写选择 使能信号 数据 数据 11 12 13 14 15 16 DB4 DB5 DB6 DB7 BLA BLK Data Data Data Data 背光源正极 背光源负极

2.5.4 命令格式及功能说明

(1) 清屏。下面是命令格式:

表2.2 清屏命令

RS 0 R/W 0 DB7 0 DB6 0 DB5 0 DB4 0 DB3 0 DB2 0 DB1 0 DB0 1 这条命令将屏幕显示清除,光标归位。 (2) 返回。

表2.3 返回命令

RS 0 R/W 0 DB7 0 DB6 0 DB5 0 DB4 0 DB3 0 DB2 0 DB1 1 DB0 X 该指令将DDRAM和显示RAM的地址置0,将显示返回到原来的位置。 (3) 输入方式设置。命令格式如下:

表2.4 输入方式设置命令

RS 0 R/W 0 DB7 0 DB6 0 DB5 0 DB4 0 DB3 0 DB2 1 DB1 I/D DB0 S 这段指令的功能室设置光标的移动方向,并且指定是不是将整体显示移动。

12

南昌工程学院本科毕业设计(论文)

I/D=1 增量方式 I/D=0 减量方式 S=0 移位 S=1 不移位 (4) 显示开关控制指令。

表2.5 显示开关指令

RS 0 R/W 0 DB7 0 DB6 0 DB5 0 DB4 0 DB3 1 DB2 D DB1 C DB0 B 功能:控制整体显示器的开/关、光标的开/关、光标所处字符闪烁与否。 D=0 显示器关; D=1 显示器开; C=0 光标关; C=1 光标开; B=0 字符不闪烁;B=1 字符闪烁。 (5) 光标移位指令。

表2.6 光标移位指令

RS 0 R/W 0 DB7 0 DB6 0 DB5 0 DB4 1 DB3 S/C DB2 R/L DB1 X DB0 X 功能:让光标移位或者整体显示移位。 S/C=0 光标移位; S/C=1 显示移位; R/L=0 向左移位; R/L=1 向右移位。 (6) 功能设置指令。

表2.7 功能设置指令

RS 0 R/W 0 DB7 0 DB6 0 DB5 1 DB4 DL DB3 N DB2 F DB1 X DB0 X 功能:设置数据总线位数和显示的行数及其字型。

13

第二章系统硬件设计

DL=0 4位数据接口; DL=1 8位数据接口; N=0 单行显示; DL=1 双行显示; F=0 5*7点阵; F=1 5*10点阵。 (7) CGRAM地址设置指令。

表2.8 CGRAM设置指令

RS 0 R/W 0 DB7 0 DB6 1 DB5 DB4 DB3 DB2 DB1 DB0 CGRAMD的地址(低6位) 设置CGRAM(数据显示存储器)的地址,范围为0-36。 (8) DDRAM地址设置指令。

表2.9 DDRAM设置指令

RS 0 R/W 0 DB7 1 DB6 DB5 DB4 DB3 DB2 DB1 DB0 CGRAMD的地址(低7位) 设置DDRAM(数据显示存储器)的地址,范围为0-127 。 (9) 读忙信号及地址计数器。

表2.10 读忙信号指令

RS 0 R/W 1 DB7 BF DB6 DB5 DB4 DB3 DB2 DB1 DB0 AC内容(低7位) 指令解释如下:

BF=0 LCD不忙(此时可以接收命令和数据); BF=1 LCD忙; AC是地址计数器值,范围是0-127 。 (10) 向CGRAM或DDRAM写入数据指令。

表2.11 写数据指令

RS 0

R/W 1 DB7 0 DB6 DB5 DB4 DB3 DB2 DB1 DB0 要写入的数据D7~D0 14

南昌工程学院本科毕业设计(论文)

功能:向DDRAM写入字符码以显示对应字符。

(11) 从CGRAM或者DDRAM中读出数据指令。

表2.12 读数据指令

RS 0 R/W 1 DB7 1 DB6 DB5 DB4 DB3 DB2 DB1 DB0 要读出的数据D7~D0

2.6按键电路

按键电路要完成的任务有:判别是否有按键按下,如果有就进入下一步工作;然后识别哪一个键被按下,求出相应的键值;依据键值找到相应的处理程序入口。

在单片机系统中我们常用的键盘是按键式键盘,那个按键实际上就是一个开关。图2.9是按键按下时行线电压输出波形图。

图2.9 按键抖动现象

由图可知按键在开闭的一瞬间都有抖动期,基本上在5-10ms左右,在键盘被按下的稳定期内,电平状态呈现出低电平。

因此判定按键是否按下实质上就是检测行线输出的电压时低电平还是高电平。若为高电平,则按键断开;若低电平,按键闭合。但是由于其机械特性导致的抖动现象,我们必须消除按键的抖动从而消除对按键闭合与否的判断障碍,提高判别的准确性。

消去按键抖动的方式有两种:软件延迟和采用专门的键盘接口芯片。考虑到使用系统的成本和简单消除抖动的角度,我们采用的是软件延时的设计方法。利用软件延时的方法消除按键抖动的思想:当检测到按键按下时,行线电平状态为低电平,此时执行一段延时为10ms 的子程序,再确认电平是否为低电平,如果此时真有按键按下,

15

第二章系统硬件设计

则应仍为低电平。反之,当按键松开是,该按键所在的行线跳变为高电平,同样执行一段延时10ms 的延时子程序后,再看是不是高电平,如果为高电平,则表示按键已经释放[6]。这样的操作可以达到消除两个抖动期的影响,大大提高可靠性。

本设计采用四个机械按键,接在单片机的P3口,四个按键满足对系统温湿度上下限值的设定。连接方式如图2.10:

图2.10 键盘电路

SET 键的作用是选择调整项目,即温度上限、温度下限、湿度上限、湿度下限四个可选,OK是确定键,UP和DOWN分别是加和减的操作。通过这几个按键和对该装置设定允许的温湿度上下限,超过该设定值就会启动报警电路发出警报。

2.7 报警电路

为了让电路在检测到环境温湿度超过预设值的时候做出反应,本设计采用了声光报警电路,蜂鸣器发出声音提醒大棚农户,通过8050晶体管来驱动蜂鸣器;四个LED灯分别对应温度过高、温度过低、湿度过高、湿度过低的异常状态,好让用户一眼看出发生了哪一个具体的异常情况[7]。连接图如下:

16

南昌工程学院本科毕业设计(论文)

图2.11 声报警电路

图2.12 光报警电路

17

第二章系统硬件设计

18

南昌工程学院本科毕业设计(论文)

第三章系统软件设计

3.1 系统主程序设计方法

本系统使用的是Keil 软件,它是C51系列兼容单片机C语言软件开发系统,能够应用通俗易懂的高级C语言对单片机进行软件开发。

当然,在写程序之前必须要对系统的电路有足够的了解,各个接口,还有系统各个芯片或者模块的时序,在编程过程中都要对其遵守,那样才能将你所预设的功能付诸实现。在搞清楚了硬件的特性之后,根据该特性首先要做的就是画出流程图,组织好每个模块的处理先后顺序。另外,也要善于利用软件去替代部分硬件做的事情,比如在此设计里,消除键盘按键抖动现象就使用了软件除抖,使得硬件电路更简洁,也降低了系统总体成本。

所有的程序,使用C51编程语言,在keil开发环境中编译和调试,整个程序利用了中断技术、数字滤波技术、系数补偿技术以及其他先进技术。程序设计都分了模块,模块化的程序结构清晰,易于修改[8]。由以下主要模块组成:主程序模块、温湿度采集模块,报警模块、数据显示模块、按键模块和其他的附加模块。

图3.1是该系统的主程序流图。

19

第三章系统软件设计

有无按下设定键 是 进入设定子程序

是否超出设定值 开始 初始化 显示欢迎界面 调用读取实时温湿度子程序值 显示 否 否 是 输出报警

结束 图3.1 系统主程序流图

3.2 LCD1602显示子程序

首先要对LCD模块进行初始化,另外由于该器件是慢显器件,在对其进行操作前要先读忙标示,为低电平时操作才有效,这个读忙标示也可以用延时操作来替代,作用是一样的[9]。这些都可以放在 LCD_init(void) 里面去实现。根据程序功能思路,结

20

南昌工程学院本科毕业设计(论文)

合硬件特性,得出下面程序流图:

图3.2 LCD1602显示子程序流图

1602初始化 延时 有无按键按下 无 有 按键子程序 按键程序完成 读温湿度 否 读取成功? DHT11通信重启 线性拟合数据 1602显示数据 延时0.8s

下面给出LCD1602初始化代码:

void LCD_Initial()

21

第三章系统软件设计

{ E=0;

LCD_Write(LCD_COMMAND,0x38); //8位数据端口,2行显示,5*7点阵 LCD_Write(LCD_COMMAND,0x38);

LCD_SetDisplay(LCD_SHOW|LCD_NO_CURSOR); //开启显示, 无光标 LCD_Write(LCD_COMMAND,LCD_CLEAR_SCREEN); //清屏

LCD_SetInput(LCD_AC_UP|LCD_NO_MOVE); }

将字符输出到液晶显示部分代码:

void Print(unsigned char *str) {

while(*str!='\\0') {

LCD_Write(LCD_DATA,*str); str++; } }

3.3 DHT11温湿度采集子程序

下面给出这部分程序的流图:

22

//AC递增, 画面不动

第四章系统测试

图4.6 光报警电路

同样,对该系统传感器的湿度分别调到80%以上、30%以下,相应报警电路都被激活,因此在硬件测试下获得了与预期一样的功能。

另外,对按键的测试也通过,因此在实际应用中可以自行通过按键根据作物的特点改变报警的阀值,科学的进行动态监测。 4.2.2硬件测试总结

在电路仿真调试的过程中,同样遇到很多困难。从开始的Proteus仿真软件的学习,到对它操作的熟悉,后来连好电路图之后,把前面生成的可执行文件写入开始仿真,发现按键没反应,经过观察代码才发现原来在软件部分定义的按键端口和电路图的连接端口不吻合,修改过来便解决了这个问题。另外,在通过对传感器调节输入数据,在温湿度超过限度的时候,蜂鸣器不报警,通过观察电路才知道报警电路与单片机连接的端口处电平取反了。这样的问题遇到了很多,在一次又一次的修改后,终于完成了硬件部分的仿真,实现了所有预设功能。

4.3 实物测试

4.3.1 实物系统概况

在购买元器件后,按照Proteus软件中的仿真电路,做成如下所示的实物。

28

南昌工程学院本科毕业设计(论文)

图4.7 实物正面

图4.8 实物背面

4.3.2 实物报警测试

由正面图所示可知上电后该装置运行正常,下面来测试它的报警功能,由于夏天手很潮湿,用手指放在SHT11传感器上,可以看见LCD1602显示的温度值略微上升,

29

第四章系统测试

湿度值大幅上升,直到超过系统预设湿度上限值(87%),湿度过高的LED警示灯点亮,同时蜂鸣器鸣响报警。如图4.9所示。

图4.9 湿度过高报警

同理,用吹风机开热风吹传感器,蜂鸣器报警,温度过高以及湿度过低的LED警示灯同时亮起。 4.3.3 实物按键测试

下面测试装置的按键电路。按下SET键,出现温度上限值的设置界面(默认为40度),如图4.10所示。通过按下DOWN键将上限调至28,按下OK键确认,回到温湿度显示界面,继续将手放在传感器上,此时温度过低和湿度过高的LED警示灯同时亮起,蜂鸣器响,如图4.11 。

30

南昌工程学院本科毕业设计(论文)

图4.10 设置界面

图4.11 重设温度上限后报警

4.3.4 实物测试总结

在进行上述测试后,发现预设的功能与Proteus软件仿真的结果完全一致,达到了所有的预期效果。

31

结语

结语

这项设计在单片机技术、传感器技术、C语言编程等科学知识完成了基于单片机控制的大棚温湿度自动检测系统的设计,实现了环境温湿度自动实时检测显示,并且在温湿度过限发出警报。由于单片机的经济和开发成本低廉,操作简便,在农业自动控制领域具有很强的实用性。下面对本设计的特点做一个总结:

1. 用传感器把单片机结合起来,从而实现温湿度数据的自动采集读取。 2. 利用了LCD1602液晶显示,直观地观察大棚内温湿度的数据。 3. 具有报警模块,通过按键自行设定温湿度上下限,给用户提供及时的环境因子突变反馈。

当然,在这些特点之外,这个设计还有一些缺点,在器件、系统上面需要做进一步的优化,从而提高整个系统的精确度和降低功耗。当然,这个系统还可以做一定的拓展。比如,为了让该该系统得到的测量结果在计算机上显示,可以利用单片机的串口和RS-232总线通信协议把采集的数据传送到主控机,这样就可以利用计算机进行数据的保存和加工处理。另外,如果接入无线收发模块,还可以把这个装置适用于比较偏远不方便到达的地方,此时还可以在端口扩展针对温湿度过限之后的控制模块,温度过高的时候启动降温系统,打开排风扇等;过低的时候启动加热器;湿度过高或者过低都相应启动除湿器或风干机,直到相应指标达到设定的允许的范围内,这样可以实现无人管理种植,又进一步节省了人力和财力。

32

本文来源:https://www.bwwdw.com/article/9zm6.html

Top