温室大棚温度控制系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
温室大棚温度控制系统
1.1 系统的概述
应用自动控制和电子计算机实现农业生产和管理的自动化,是农业现代化的重要标志之一。近年来电子技术和信息技术的飞速发展,带来了温室控制与管理技术方面的一场革命,随着“设施农业”、“虚拟农业”等新名称的出现。温度,湿度,co2浓度等计算机控制与管理系统正在不断吸收自动控制和信息管理领域的理论和方法,结合温室作物种植的特点,不断创新,逐步完善,从而使温室种植业实现真正意义上的现代化,产业化。
本系统以AT89C52单片机为控制核心的测控仪,主要是为了对蔬菜大棚内的温度参数的检测与控制而设计的。该测控仪具有检测精度高、使用简单、成本较低和工作稳定可靠等特点,所以具有一定的应用前景。
1.2 系统的要求
测量值较小指示灯亮,蜂鸣器不响,测量值偏大,指示灯不亮,蜂鸣器响。温度高打开天窗或排风扇,温度低打开增温炉;
1.3 系统的主要模块
1.3.1 本系统的主要组成部分
本系统为一个全自动温度检测与控制系统,由以下几个部分组成:AT89C52单片机,检测,显示电路,及报警装置等组成。组成图如图1-1。
由图1-1所示,本系统的核心部分是AT89C52,此芯片是该电路的枢纽。由它先控制着温度湿度等参数的检测,用检测到的参数实现继电器通断,以及显示。若检测到的参数高于设定的值,则发出报警信号。
1.3.2 各部分的功能
AT89C52单片机:它是系统的中央处理器,担负着系统的控制和运算。温度检测装置:DS18B20数字温度模块对大棚内温度进行采集,将温度转换成数字。显示设备:主要是用于显示检测到的大棚温度。继电器主要用于做开关驱动设备。报警装置:产生报警信号。整个控制系统由软件程序设计。根据系统具体要求,可以对具体部分进行分析设计。但要实现对各部分的设计,需要充分了解各部分的理论基础。本设计系统的基本组成单元包括:单片机控制单元,DS18B20温度检测电路,LCD1602显示屏,交流继电器,蜂鸣器报警装置,矩阵键盘。
2.我的任务:LCD1602液晶显示
2.1 LCD1602简介
字符型LCD1602通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线VCC(15脚)和地线GND(16脚),其控制原理与14脚的LCD完全一样,引脚定义如表2-1所示:
表 2-1引脚接口说明表
第1脚:VSS为地电源。
第2脚:VDD接5V正电源。
第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。
第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。
第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS 为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。
第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。
第7~14脚:D0~D7为8位双向数据线。
第15脚:背光源正极。
第16脚:背光源负极。
2.2 LCD1602的指令说明及时序
LCD1602液晶模块内部的控制器共有11条控制指令,如表2-2所示:
表2-2 控制命令表
LCD1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。1为高电平、0为低电平。
指令1:清显示,指令码01H,光标复位到地址00H位置。
指令2:光标复位,光标返回到地址00H。
指令3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移 S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。
指令4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。
指令5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标。
指令6:功能设置命令 DL:高电平时为4位总线,低电平时为8位总线 N:低电平时为单行显示,高电平时双行显示 F: 低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。
指令7:字符发生器RAM地址设置。
指令8:DDRAM地址设置。
指令9:读忙信号和光标地址 BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。
指令10:写数据。
指令11:读数据。
LCD1602读写时序如表2-3所示:
表2-3 基本操作时序表
读状态输入RS=L,R/W=H,E=H 输出 D0—D7=状态字
写指令输入 RS=L,R/W=L,D0—D7=指令码,E=高脉冲输出无
读数据输入RS=H,R/W=H,E=H 输出D0—D7=数据
写数据输入RS=H,R/W=L,D0—D7=数据,E=高脉冲输出无
2.3 LCD1602显示模块
用AT89C52的P0口作为数据线,用P2.4、P2.5、P2.6分别作为LCD 的E、R/W、RS。其中E是下降沿触发的片选信号,连接P2.6,R/W是读写信号,连接P2.5,RS是寄存器选择信号,连接P2.4。图3-3为LCD1602的硬件连接。
图 3-3 LCD1602的硬件连接
VEE用连接阻值为10K的电阻,主要用于调节对比度的调整。接正电源时对比度最低,接地电源时,对比度最高。对比度过高时,会产生“鬼
影”。因此连接一10K的电阻用以调整。
3 系统软件的设计
一个应用系统要完成各项功能,首先必须有较完善的硬件做保证。同时还必须得到相应设计合理的软件的支持,尤其是微机应用高速发展的今天,许多由硬件完成的工作,都可通过软件编程而代替。甚至有些必须采用很复杂的硬件电路才能完成的工作,用软件编和有时会变得很简单。因此充分利用其内部丰富的硬件资源和软件资源。
程序设计语言有三种:机器语言、汇编语言、高级语言。本系统运用的是汇编语言所编写。
3.1主程序设计
从软件的功能不同可分为四大类:一是检测软件,它是用来检测温湿度。二是显示部分,用来显示所检测到的温度。三是调控部分,用来控制继电器的开合。四是当温度大于35℃,蜂鸣器发出报警信号。每一个执行软件也就是一个小的功能执行模块。这里将各执行模块一一列出,并为每一个执行模块进行功能定义。图4-1为软件设计流程图。