大棚温湿度控制系统的设计Word下载.docx

上传人:b****4 文档编号:8246265 上传时间:2023-05-10 格式:DOCX 页数:32 大小:538.60KB
下载 相关 举报
大棚温湿度控制系统的设计Word下载.docx_第1页
第1页 / 共32页
大棚温湿度控制系统的设计Word下载.docx_第2页
第2页 / 共32页
大棚温湿度控制系统的设计Word下载.docx_第3页
第3页 / 共32页
大棚温湿度控制系统的设计Word下载.docx_第4页
第4页 / 共32页
大棚温湿度控制系统的设计Word下载.docx_第5页
第5页 / 共32页
大棚温湿度控制系统的设计Word下载.docx_第6页
第6页 / 共32页
大棚温湿度控制系统的设计Word下载.docx_第7页
第7页 / 共32页
大棚温湿度控制系统的设计Word下载.docx_第8页
第8页 / 共32页
大棚温湿度控制系统的设计Word下载.docx_第9页
第9页 / 共32页
大棚温湿度控制系统的设计Word下载.docx_第10页
第10页 / 共32页
大棚温湿度控制系统的设计Word下载.docx_第11页
第11页 / 共32页
大棚温湿度控制系统的设计Word下载.docx_第12页
第12页 / 共32页
大棚温湿度控制系统的设计Word下载.docx_第13页
第13页 / 共32页
大棚温湿度控制系统的设计Word下载.docx_第14页
第14页 / 共32页
大棚温湿度控制系统的设计Word下载.docx_第15页
第15页 / 共32页
大棚温湿度控制系统的设计Word下载.docx_第16页
第16页 / 共32页
大棚温湿度控制系统的设计Word下载.docx_第17页
第17页 / 共32页
大棚温湿度控制系统的设计Word下载.docx_第18页
第18页 / 共32页
大棚温湿度控制系统的设计Word下载.docx_第19页
第19页 / 共32页
大棚温湿度控制系统的设计Word下载.docx_第20页
第20页 / 共32页
亲,该文档总共32页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

大棚温湿度控制系统的设计Word下载.docx

《大棚温湿度控制系统的设计Word下载.docx》由会员分享,可在线阅读,更多相关《大棚温湿度控制系统的设计Word下载.docx(32页珍藏版)》请在冰点文库上搜索。

大棚温湿度控制系统的设计Word下载.docx

MCS-51系列单片机一般采用40个引脚,双列直插式封装,用HMOS工艺制造,其外部引脚排列如图2-2所示.其中,各引脚的功能为:

图2-2STC89C52外部引脚图

8052单片机的引脚

⑴主电源引脚

Vcc(40脚):

接+5V电源正端

Vss(20脚):

接电源地端

一般Vcc和Vss间应接高频去耦电容和低频滤波电容.

⑵外接晶体或外部振荡器引脚

XTAL1(19脚):

接外部晶振的一个引脚.在单片机内部,它是一个反相放大器的输入端,这个放大器构成了片内振荡器OSC.当采用外部振荡器时,此引脚应接地.

XTAL2(18脚):

接外部晶振的另一个引脚.在片内接至反相放大器的输出端和内部时钟电路的输入端.当采用外部振荡器时,此脚接外部振荡器的输出端.

⑶控制信号线

RST/VPD(9脚):

复位信号输入端,复位/掉电时内部RAM的备用电源输入端

ALE/(30脚):

地址锁存允许/编程脉冲输入.用ALE锁存从P0口输出的低8位地址;

在对片内EPROM编程时,编程脉冲由此输入.

PSEN/(29脚):

外部程序存储器读选通信号,低电平有效.

EA/VPP(31脚):

访问外部存储器允许/编程电压输入.EA为高电平时,访问内部存储器;

低电平时,访问外部存储器.对片内EPROM编程时,此脚接21V编程电压.

⑷多功能I/O口引脚

8052单片机设有4个双向I/O口(P0、P1、P2、P3),每一组I/O口线都可以独立地用作输入或输出口,其中:

①P0口(32~39脚)——双向口(三态),可作为输入/输出口,可驱动8个LSTTL门电路.实际应用中常作为分时使用的地址/数据总线口,对外部程序或数据存储器寻址时低8位地址与数据总线分时使用P0口:

先送低8位地址信号到P0口,由地址锁存信号ALE的下降沿将地址信号锁存到地址锁存器后,再作为数据总线的口线对数据进行输入或输出.

②P1口(1~8脚)——准双向口(三态),可驱动4个LSTTL门电路.用作输入线时,口锁存器必须由单片机先写入“1”,每一位都可编程为输入或输出线.

③P2口(21~28)——准双向口(三态),可驱动4个LSTTL门电路.可作为输入/输出口,实际应用中一般作为地址总线的高8位,与P0口一起组成16位地址总线,用于对外部存储器的接口电路进行寻址.

④P3口(10~17脚)——准双向口(三态),可驱动4个LSTTL门电路.双功能口,作为第一功能使用时,与P1口一样;

作为第二功能使用时,每一位都有特定用途,其特殊用途如表2.1所示:

表2.1P3口特殊功能脚

端口引脚

第二功能

注释

P3.0

RXD

串行口数据接收端

P3.1

TXD

串行口数据发送端

P3.2

/INT0

外中断请求0

P3.3

/INT1

外中断请求1

P3.4

T0

定时/计数器0外部计数信号输入

P3.5

T1

定时/计数器1外部计数信号输入

P3.6

/WR

外部RAM写选通信号输出

P3.7

/RD

外部RAM读选通信号输出

2.1.2单片机最小系统

所谓单片机的最小系统是指使单片机能运行程序、正常工作的最简单电路系统,是保证单片正常启动、开始工作的必须电路,缺一不可.单片机最小系统一般由单片机、程序存储器、时钟电路和复位电路组成.对于8052单片机,由于片内有4K的程序存储器,所以其最小系统除了单片机本身外,只需外接时钟电路与复位电路即可.

复位电路

单片机的复位分为上电自动复位、按键手动复位两种和看门狗强制复位三种等.上电复位通常利用电容的充放电来实现,按键复位则可分为按键脉冲复位和按键电平复位两种,看门狗复位则通过外接看门狗电路或软件看门狗程序实现.常见的上电复位和按键复位电路如图2-3所示.

(a)上电复位(b)按键脉冲复位(c)按键电平复位

图2-3单片机复位电路

时钟电路

时钟电路用于产生单片机的基本时钟信号.8052的时钟信号可由内部振荡器产生,也可由外部电路直接提供.内部振荡器的输入和输出脚分别为XTAL1和XATL2,由XTAL2给单片机内部电路提供时钟信号.当时钟信号由外部电路提供时,外部时钟引入XTAL2,而XTAL1脚接地.两种时钟信号的连接电路如图2-4所示.

(a)内部方式(b)外部方式

图2-4单片机时钟电路

2.2测量部分

测量所用仪器是数字温湿度传感器DHT11.

2.2.1DHT11简介

DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器.它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性.传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接.因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点.每个DHT11传感器都在极为精确的湿度校验室中进行校准.校准系数以程序的形式储存在OTP内存中,传感器内部在检测信号的处理过程中要调用这些校准系数.单线制串行接口,使系统集成变得简易快捷.超小的体积、极低的功耗,信号传输距离可达20米以上,使其成为各类应用甚至最为苛刻的应用场合的最佳选则.产品为4针单排引脚封装.如图2-5所示.

图2-5DHT11封装图

2.2.2操作过程

1、接口说明

建议连接线长度短于20米时用5K上拉电阻,大于20米时根据实际情况使用合适的上拉电阻.

图2-6DHT11温湿度传感器接线图

2、电源引脚

DHT11的供电电压为3-5.5V.传感器上电后,要等待1s以越过不稳定状态在此期间无需发送任何指令.电源引脚(VDD,GND)之间可增加一个100nF的电容,用以去耦滤波.

3、串行接口(单线双向)

DATA用于微处理器与DHT11之间的通讯和同步,采用单总线数据格式,一次通讯时间4ms左右,数据分小数部分和整数部分,具体格式在下面说明,当前小数部分用于以后扩展,现读出为零.操作流程如下:

一次完整的数据传输为40bit,高位先出.

数据格式:

8bit湿度整数数据+8bit湿度小数数据+8bit温度整数数据+8bit温度小数数据+8bit校验和

数据传送正确时校验和数据等于“8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据”所得结果的末8位.

用户MCU发送一次开始信号后,DHT11从低功耗模式转换到高速模式,等待主机开始信号结束后,DHT11发送响应信号,送出40bit的数据,并触发一次信号采集,用户可选择读取部分数据.从模式下,DHT11接收到开始信号触发一次温湿度采集,如果没有接收到主机发送开始信号,DHT11不会主动进行温湿度采集.采集数据后转换到低速模式.

通讯过程如图2-7所示

图2-7通讯过程

2.3显示部分

显示部分是LCD1602液晶显示,如图2-8所示.

图2-8正常工作LCD1602显示

2.3.11602液晶简介

LCD1602分为带背光和不带背光两种,基控制器大部分为HD44780,带背光的比不带背光的厚,是否带背光在应用中并无差别,两者尺寸差别如图2-9所示.

图2-9LCD1602规格

引脚功能

LCD1602采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表2.2所示.

表2.2LCD1602引脚说明

编号

符号

引脚说明

1

VSS

电源地

9

D2

数据

2

VDD

电源正极

10

D3

3

VL

液晶显示偏压

11

D4

4

RS

数据/命令选择

12

D5

5

R/W

读/写选择

13

D6

6

E

使能信号

14

D7

7

D0

15

BLA

背光源正极

8

D1

16

BLK

背光源负极

2.3.2指令说明

LCD1602液晶模块内部的控制器共有11条控制指令,如表2.3所示.

表2.3LCD1602内部控制器

序号

指令

清显示

光标返回

*

置输入模式

I/D

S

显示开/关控制

D

C

B

光标或字符移位

S/C

R/L

置功能

DL

N

F

置字符发生存贮器地址

字符发生存贮器地址

置数据存贮器地址

显示数据存贮器地址

读忙标志或地址

BF

计数器地址

写数到CGRAM或DDRAM)

要写的数据内容

从CGRAM或DDRAM读数

读出的数据内容

2.4控制部分

2.4.1温湿度设置

温湿度上下限控制设置如图2-10所示.

(a)湿度下限设置界面(b)湿度上限设置界面

(c)温度度下限设置界面(d)温度度上限设置界面

图2-10温湿度上下限设置

2.4.2控制设备

本系统控制设备采用加湿设备、除湿设备、加温设备、降温设备作为控制器,加湿设备、除湿设备、加温设备、降温设备分别控制湿度与温度,使得蔬菜大棚的温湿度得到控制.

设计中,温湿度均可以设置上下限,按下k1键,出现温度上限的设置页面,按k2键为设置上限温度加,按k3键为设置上限温度减,按下k4键确认刷新,即成功设置温度上限.继续按下k1键,出现温度下限设置页面,按k2键为设置下限温度加,按k3键为设置下限温度减,再按下k4键确认刷新,即成功设置温度下限.继续按下k1键,出现湿度上限的设置页面,按k2键为设置上限湿度加,按k3键为设置上限湿度减,再按下k4键确认刷新,即成功设置湿度上限.继续按下k1键,出现湿度下限设置页面,按k2键为设置下限湿度加,按k3键为设置下限湿度减,再按下k4键确认刷新,即成功设置温度下限.

第三章.系统设计

3.1硬件设计

本设计的设计电路采用模块化、层次化设计,设计的电路原理图如图3-1所示.

图3-1电路原理图

主机与主要部件的选择:

根据总体功能和性价比及其运行速度等因素的考虑,选用MCS-51系列的STC89C52为主机,满足上面的要求而且设计方便,不需要再存储扩展.

数据存储片内设有128B,外部有8279的256B,而由于存入的数据是随时更新的且不计小数位,存入8个16进制数字,其总共需要的容量只有16B,已经够用.外部模温度、湿度采样,选用DHT11能够满足要求.

系统各部件的连接方式如下:

DHT11和单片机之间用单总线传输,DHT11的数据口与单片机的P1^7相连.

液晶显示器的RS,RW和E分别与单片机的P2^5,P2^6,P2^7相连,数据输入口DB0-DB7分别与单片机P00-P07口相连.

设置按键、按键加、按键减、确认刷新按键分别的单片机的P2^0,P2^1,P2^2,P2^3相连.

单片机P1^3,P1^5分别为温度超过或低于上下限控制脚,P1^4,P1^6分别为湿度超过或低于上下限控制脚.控制脚通过控制加湿设备、除湿设备、加温设备、降温设备,调节温度及湿度.

3.2软件设计

系统软件程序基于Keiluvsion2开发平台,采用C51语言编写.本程序采用模块化程序方法:

LCD初始化显示模块

系统初始化模块的主要功能是完成系统的初始化以及设定系统的工作状态,初始化部分包括以下方面的内容:

(a)系统启动后,显示器上显示两行,第一行为“TEMPERATURE:

00C”,第二行显示为“HUMIDITY:

00%”

(b)等待DTH11采集温度及湿度值.

(c)系统进入正常工作状态.

系统整体的工作方式如下框图所示

程序流程图:

图3-2DHT11数据采集流程图

本系统采用DHT11温湿度传感器对蔬菜大棚内温湿度的采集并转换成数字信号,将信息提供给主控制器进行处理和分析,主控制器开始LCD初始化,进行延时等待提取DHT11温湿度传感器模块,将采集的信息处理后传给LCD1602显示,同时调用控制模块,与系统默认设定值比较,系统温度上下限,湿度上下限默认值均为0,可通过设置按钮进行设置,按下设置按钮可对温度下限、上限,湿度下限、上限的顺序依次进行设置,温湿度均可以设置上下限,按下k1键,出现温度上限的设置页面,按k2键为设置上限温度加,按k3键为设置上限温度减,按下k4键确认刷新,即成功设置温度上限.继续按下k1键,出现温度下限设置页面,按k2键为设置下限温度加,按k3键为设置下限温度减,再按下k4键确认刷新,即成功设置温度下限.继续按下k1键,出现湿度上限的设置页面,按k2键为设置上限湿度加,按k3键为设置上限湿度减,再按下k4键确认刷新,即成功设置湿度上限.继续按下k1键,出现湿度下限设置页面,按k2键为设置下限湿度加,按k3键为设置下限湿度减,再按下k4键确认刷新,即成功设置温度下限.当蔬菜大棚实际温度超过设定温度上限时,系统将调用控制模块对降温设备控制,将蔬菜大棚的温度降低;

当蔬菜大棚实际温度低于设定温度下限时,系统将调用控制模块对升温设备控制,将蔬菜大棚的温度升高;

当蔬菜大棚实际湿度超过设定湿度上限时,系统将调用控制模块对除湿设备控制,将蔬菜大棚的湿度降低;

当蔬菜大棚实际湿度低于设定湿度下限时,系统将调用控制模块对加湿设备控制,将蔬菜大棚的湿度提高;

主程序流程图如图3-3所示.

图3-3主程序流程图

第四章.总结与展望

单片机是一门应用性和实践性很强的学科,很多人都想学习单片机,并且想知道如何学习单片机.熟悉单片机的人都知道,要学好单片机可不是一件容易的事,并不是因为单片机很难学,而是很难找到一本专为单片机入门者而编写的教材.翻一下身边的单片机教材,都好像是为已经懂单片机的人而写的,一般先介绍单片机的硬件结构和指令系统,再是系统扩展和外围器件,顺便讲一些应用设计(随便说一下,很多书中的电路设计已经过时,并且有些程序还是错误的).如果按照此种学习方法,想进行产品开发,就必须先把所有的知识全部掌握了才可以进行实际应用.学习使用单片机只能靠循序渐进的积累.

学单片机不仅要学习理论知识,实践操作也很重要.学过单片机的人都有这样的经历,就是把自己写的程序烧录到单片机里面的时候会发现与自己想要的结果有很大的不同.这就是因为实践操作少了,经验不足的缘故.推荐大家从简单的东西学起,当我们积累了一定的东西之后就可以动手做一些比较复杂的东西了.

设计本系统的过程中遇到了很多的问题,在编写DHT11的测量程序的过程中遇到了很多的问题,刚开始始终的不到数据,研究了很长时间都弄不出来.同学提示我要注意一下时序,然后我又按照DHT11的通讯时序和接收时序将程序一条条的重写,在经过几次调试之后,终于得到了自己想要的结果;

液晶显示部分也出了一点点小问题,就是送数据过去的时候忘了显示字符必须送字符的ASCII码.

本系统具有较强的实用性,DHT11传感器价格也很便宜.我对DHT11与DS18B20及一些水银温湿度测量器的测量数据进行了比较,验证了DHT11测量数据的准确性和稳定性.低廉的价格、小巧的体积、准确稳定的测量数据、简单的单总线控制方式、简洁的电路连接,这些将使DHT11拥有良好的应用前景.1602液晶也比较便宜,操作比较简单.另外,本系统还具有较高的扩展性,可以集时钟,计算器,温湿度测量等于一体,具有一定的市场价值.

参考文献:

[1]黄卜夫.欧洲设备安装总线综述[M].电子技术应用,2001(No.4):

7-10

[2]戚作钧.无线电技术基础[M].第一版.北京:

人民教育出版社,1959:

165-183

[3]WayneTomasi.电子通信系统[M].王曼珠,许萍,曾萍等译.第四版.北京:

电子工业出版社,2002:

137-141

[4]AndrewS.Tanenbaum.计算机网络[M].熊桂喜,王小虎译.第三版.北京:

清华大学出版社,1998:

402-419

[5]郑阿奇.计算机网络原理与应用[M].第一版.北京:

电子工业出版社,2003:

34-45

[6]王耀南.计算智能信息处理技术及其应用[M].长沙:

湖南大学出版社,1999

致谢

我的毕业论文(设计)撰写工作自始至终都是在姜某某老师全面、具体的指导下进行的.姜丽飞老师渊博的学识、敏锐的思维、民主而严谨的作风,使我受益匪浅,终生难忘.姜丽飞老师严谨的治学态度和对工作兢兢业业、一丝不苟的精神将永远激励和鞭策我认真学习、努力工作.

感谢我的指导教师姜某某对我的关心、指导和教诲!

感谢实验室的各位老师的关心和帮助!

感谢我的学友和朋友们对我的关心和帮助!

附录

大棚温湿度控制系统原理图

温湿度传感器DHT11模块

#include<

intrins.h>

//_nop_();

延时函数用

#defineucharunsignedchar

#defineuintunsignedint

sbittemp_out=P1^3;

sbithumi_out=P1^4;

sbittemp_led=P1^5;

sbithumi_led=P1^6;

uintcount;

uchards1,ds2,ds3,ds4;

ucharU8FLAG,k;

ucharU8count,U8temp;

ucharU8T_data_H,U8T_data_L,U8RH_data_H,U8RH_data_L,U8checkdata;

ucharU8T_data_H_temp,U8T_data_L_temp,U8RH_data_H_temp,U8RH_data_L_temp,U8checkdata_temp;

ucharU8comdata;

uintU16temp1,U16temp2;

sbitIO=P1^7;

//

voidDelay1(uintj)

{

uchari;

for(;

j>

0;

j--)

for(i=0;

i<

27;

i++);

}

voidDelay_10us(void)

uchari=5;

i>

i--);

voidCOM(void)

8;

i++)

U8FLAG=2;

//---------------------

while((!

IO)&

&

U8FLAG++);

Delay_10us();

//Delay_10us();

U8temp=0;

if(IO)U8temp=1

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2