温室大棚控制系统设计_第1页
温室大棚控制系统设计_第2页
温室大棚控制系统设计_第3页
温室大棚控制系统设计_第4页
温室大棚控制系统设计_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、大连交通大学2010届本科生毕业设计(论文)摘 要本课题运用stc89c52单片机、dht11温湿度传感器、继电器和m4qa045电机、lcd1602液晶显示模块等器件,设计了湿度报警电路、m4qa045电机驱动电路、电热器驱动电路,实现了温室大棚中温度、湿度自动控制与报警系统,解决了温室大棚人工控制测试的温度及湿度误差大,且费时费力、效率低等问题,促进了农作物的生长,从而提高温室大棚的产量,带来很好的经济效益和社会效益。关键词:stc89c52单片机 dht11温湿度传感器 继电器 m4qa045电机 温室大棚自动控制与报警系统 abstract this subject had achie

2、ved the temperature and humidity control and alarm system in the greenhouse and had designed humidity measurement and alarm circuit, m4qa045 engine circuit and heating circuit by using stc89c52 scm, dht11 temperature and humidity sensor,lcd1602 and m4qa045 motor and so on. it solved the problem of l

3、ow efficiency and measurement errors of temperature and humidity of manual control, it promoted the growth of crops, thereby increasing the yield of greenhouse and bringing good economic and social benefits.keywords: stc89c52 scm dht11 temperature and humidity sensor electric relays m4qa045 motor co

4、ntrol and alarm system greenhouse目 录第一章 绪论11.1选题背景11.2选题的现实意义2第二章 系统硬件电路的设计32.1系统硬件构成及其测控原理32.2单片机的选择42.2.1单片机概述42.2.2 stc89c52单片机的引脚说明52.2.3 stc89c52单片机最小系统82.3 显示模块的选择92.3.1 lcd1602概述92.3.2 lcd1602基本参数及引脚功能92.4 温湿度传感器的选择132.4.1 dht11数字温湿度传感器概述132.4.2 dht11数字温湿度传感器性能说明132.4.3 dht11数字温湿度传感器使用注意事项152

5、.5 温度调节模块设计182.6 湿度报警模块设计16第三章 温室大棚控制系统软件设计193.1 keil c 软件概述193.2 温室大棚控制系统程序设计213.2.1整体系统框图213.2.2 lcd1602显示模块程序设计223.2.3 pwm程序设计23第四章 调试中遇到的问题24结 论25谢 辞26参考文献27附 录2835第一章 绪论1.1选题背景 在人类的生活环境中,温湿度扮演着极其重要的角色。无论你生活在哪里,从事什么工作,无时无刻不在与温度打着交道。自18世纪工业革命以来,工业发展与是否能掌握温湿度有着密切的联系。在冶金、钢铁、石化、水泥、玻璃、医药等行业,可以说几乎80%的

6、工业部门都不得不考虑着温湿度的因素。温湿度不但对于工业如此重要,在农业生产中温度的监测与控制也有着十分重要的意义。我国人多地少,人均占有耕地面积更少。因此,要改变这种局面,只靠增加耕地面积是不可能实现的,因此我们要另辟蹊径,想办法来提高单位亩产量。温室大棚技术就是其中一个好的方法。温室大棚就是建立一个模拟适合生物生长的气候条件,创造一个人工气象环境,来消除温度对生物生长的约束。而且,温室大棚能克服环境对生物生长的限制,能使不同的农作物在不适合生长的季节产出,使季节对农作物的生长影响不大,部分或完全摆脱了农作物对自然条件的依赖。由于温室大棚能带来可观的经济效益,所以温室大棚技术越来越普及,并且已

7、成为农民增收的主要手段。随着大棚技术的普及,温室大棚数量不断增多,温室大棚的温湿度控制便成为一个十分重要的课题。传统的温湿度控制是在温室大棚内部悬挂温度计和湿度计,通过读取温度值和湿度值了解实际温湿度度,然后根据现有温湿度与额定温湿度进行比较,看温湿度是否过高或过低,然后进行相应的通风或者洒水。这些操作都是在人工情况下进行的,耗费了大量的人力物力。现在,随着国家经济的快速发展,农业产业规模的不断提高,农产品在大棚中培育的品种越来越多,对于数量较多的大棚,传统的温度控制措施就显现出很大的局限性。温室大棚的建设对温湿度检测与控制技术也提出了越来越高的要求。今天,我们的生活环境和工作环境有越来越多称

8、之为单片机的小电脑在为我们服务。单片机在工业控制、尖端武器、通信设备、信息处理、家用电器等各测控领域的应用中独占鳌头。时下,家用电器和办公设备的智能化、遥控化、模糊控制化已成为世界潮流,而这些高性能无一不是靠单片机来实现的。采用单片机来对温湿度进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温湿度的技术指标,从而能够大大提高产品的质量和数量。单片机以其功能强、体积小、可靠性高、造价低和开发周期短等优点,成为自动化和各个测控领域中必不可少且广泛应用的器件,尤其在日常生活中也发挥越来越大的作用。因此,单片机对温湿度的控制问题是一个工农业生产中经常会遇到的问题。因此,本课

9、题围绕基于单片机的温室大棚控制系统展开了应用研究工作。1.2选题的现实意义随着单片机和传感技术的迅速发展,自动检测领域发生了巨大变化,温室环境自动监测控制方面的研究有了明显的进展,并且必将以其优异的性能价格比,逐步取代传统的温湿度控制措施.但是,目前应用于温室大棚的温湿度检测系统大多采用模拟温度传感器、多路模拟开关、a/d转换器及单片机等组成的传输系统。这种温湿度度采集系统需要在温室大棚内布置大量的测温电缆,才能把现场传感器的信号送到采集卡上,安装和拆卸繁杂,成本也高。同时线路上传送的是模拟信号,易受干扰和损耗,测量误差也比较大。为了克服这些缺点,本文参考了一种基于单片机并采用数字化单总线技术

10、的温度测控系统应用于温室大棚的的设计方案闭,根据实用者提出的问题进行了改进,提出了一种新的设计方案,在单总线上传输数字信号。本文介绍的温湿度测控系统就是基于单总线技术及其器件组建的。该系统能够对大棚内的温湿度进行采集,利用温湿度传感器将温室大棚内温湿度的变化,变换成数字量,其值由单片机处理,最后由单片机去控制液晶显示器,显示温室大棚内的实际温湿度,同时通过与预设量比较,对大棚内的温度进行自动调节,如果超过我们预先设定的湿度限制,湿度报警模块将进行报警。这种设计方案实现了温湿度实时测量、显示和控制。该系统抗干扰能力强,具有较高的测量精度,不需要任何固定网络的支持,安装简单方便,性价比高,可维护性

11、好。这种温湿度测控系统可应用于农业生产的温室大棚,实现对温度的实时控制,是一种比较智能、经济的方案,适于大力推广,以便促进农作物的生长,从而提高温室大棚的亩产量,以带来很好的经济效益和社会效益。第二章 系统硬件电路的设计2.1系统硬件构成及其测控原理图2-1 系统整体框图图2-2 系统整体电路图 本系统由如图2-1、图2-2所示,dht11温湿度传感器采集数据,stc89c52单片机进行数据处理,lcd1602显示模块显示温湿度。由pwm控制温度调节模块进行温度调节,当温度小于18时,m4qa045电机停止运转,当温室大于28时,m4qa045电机全速运转,当温度处于18和28之间时,通过pw

12、m控制m4qa045电机转速。由stc89c52单片机输出高低电平控制湿度报警模块,当湿度大于65%rh或者小于45%rh时,stc89c52单片机输出高电平,湿度报警模块报警,当湿度处于45%rh和65%rh之间时,stc89c52单片机输出低电平,湿度报警模块关闭。2.2单片机的选择2.2.1单片机概述单片微型计算机简称单片机,又称微控制器,嵌入式微控制器等,属于第四代电子计算机。它把中央处理器、存储器、输入/输出接口电路以及定时器叶数器集成在一块芯片上,从而具有体积小、功耗低、价格低廉、抗干扰能力强且可靠性高等特点,因此,适合应用于工业过程控制、智能仪器仪表和测控系统的前端装置。正是由于

13、这一原因,国际上逐渐采用微控制器(mcu)代替单片微型计算机(scm)这一名称。“微控制器”更能反映单片机的本质,但是由于单片机这个名称已经为国内大多数人所接受,所以仍沿用“单片机”这一名称。1、单片机的主要特点有:(1) 具有优异的性能价格比。(2) 集成度高、体积小、可靠性高。(3) 控制功能强。(4) 低电压,低功耗。2、单片机的主要应用领域:(1) 工业控制(2) 仪器仪表(3) 电信技术(4) 办公自动化和计算机外部设备(5) 汽车和节能(6) 制导和导航(7) 商用产品(8) 家用电器因此,在本课题设计的温湿度测控系统中,采用单片机来实现。在单片机选用方面,由于stc89系列单片机

14、与mcs-51系列单片机兼容,所以,本系统中选用stc89c52单片机。2.2.2 stc89c52单片机的引脚说明图2-3 stc89c52单片机引脚图芯片引脚如图2-3所示:vcc : 电源。gnd: 地。p0口:p0口是一个8位漏极开路的双向i/o口。作为输出口,每位能驱动8个ttl逻辑电平。对p0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,p0口也被作为低8位地址/数据复用。在这种模式下,p0具有内部上拉电阻。在flash编程时,p0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。p1口: 是一个具有内部上拉电阻的8 位双向i/o

15、口,p1 输出缓冲器能驱动4 个ttl 逻辑电平。对p1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(iil)。此外,p1.0和p1.2分别作定时器/计数器2的外部计数输入(p1.0/t2)和时器/计数器2的触发输入(p1.1/t2ex),具体如下表1所示。在flash编程和校验时,p1口接收低8位地址字节。p2口:p2口是一个具有内部上拉电阻的8 位双向i/o口,p2输出缓冲器能驱动4个ttl 逻辑电平。对p2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于

16、内部电阻的原因,将输出电流(iil)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行movx dptr)时,p2口送出高八位地址。在这种应用中,p2口使用很强的内部上拉发送1。在使用8位地址(如movx ri)访问外部数据存储器时,p2口输出p2锁存器的内容。在flash编程和校验时,p2口也接收高8位地址字节和一些控制信号。p3口:p3口是一个具有内部上拉电阻的8 位双向i/o 口,p2 输出缓冲器能驱动4 个ttl 逻辑电平。对p3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(iil)。p3

17、口亦作为at89s52特殊功能(第二功能)使用,如上表2-1所示。在flash编程和校验时,p3口也接收一些控制信号。rst: 复位输入。晶振工作时,rst脚持续2个机器周期高电平将使单片机复位。看门狗计时完成后,rst 脚输出96 个晶振周期的高电平。特殊寄存器auxr(地址8eh)上的disrto位可以使此功能无效。disrto默认状态下,复位高电平有效。ale/prog:地址锁存控制信号(ale)是访问外部程序存储器时,锁存低8 位地址的输出脉冲。在flash编程时,此引脚(prog)也用作编程输入脉冲。在一般情况下,ale 以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使

18、用。然而,特别强调,在每次访问外部数据存储器时,ale脉冲将会跳过。如果需要,通过将地址为8eh的sfr的第0位置 “1”,ale操作将无效。这一位置 “1”,ale 仅在执行movx 或movc指令时有效。否则,ale 将被微弱拉高。这个ale 使能标志位(地址为8eh的sfr的第0位)的设置对微控制器处于外部执行模式下无效。psen:外部程序存储器选通信号(psen)是外部程序存储器选通信号。当stc89c52从外部程序存储器执行外部代码时,psen在每个机器周期被激活两次,而在访问外部数据存储器时,psen将不被激活。ea/vpp:访问外部程序存储器控制信号。为使能从0000h 到fff

19、fh的外部程序存储器读取指令,ea必须接gnd。为了执行内部程序指令,ea应该接vcc。在flash编程期间,ea也接收12伏vpp电压。xtal1:振荡器反相放大器和内部时钟发生电路的输入端。xtal2:振荡器反相放大器的输出端。程序存储器:如果ea引脚接地,程序读取只从外部存储器开始。对于89s52,如果ea 接vcc,程序读写先从内部存储器(地址为0000h1fffh)开始,接着从外部寻址,寻址地址为:2000hffffh。数据存储器:stc89c52 有256 字节片内数据存储器。高128 字节与特殊功能寄存器重叠。也就是说高128字节与特殊功能寄存器有相同的地址,而物理上是分开的。当

20、一条指令访问高于7fh 的地址时,寻址方式决定cpu 访问高128 字节ram 还是特殊功能寄存器空间。直接寻址方式访问特殊功能寄存器(sfr)定时器2:定时器2是一个16位定时/计数器,它既可以做定时器,又可以做事件计数器。其工作方式由特殊寄存器t2con中的c/t2位选择(如表2所示)。定时器2有三种工作模式:捕捉方式、自动重载(向下或向上计数)和波特率发生器。工作模式由t2con中的相关位选择。定时器2 有2 个8位寄存器:th2和tl2。在定时工作方式中,每个机器周期,tl2 寄存器都会加1。由于一个机器周期由12 个晶振周期构成,因此,计数频率就是晶振频率的1/12。中断:stc89

21、c52 有6个中断源如表2-2所示:两个外部中断(int0 和int1),三个定时中断(定时器0、1、2)和一个串行中断每个中断源都可以通过置位或清除特殊寄存器ie 中的相关中断允许控制位分别使得中断源有效或无效。ie还包括一个中断允许总控制位ea,它能一次禁止所有中断。定时器2可以被寄存器t2con中的tf2和exf2的或逻辑触发。程序进入中断服务后,这些标志位都可以由硬件清0。实际上,中断服务程序必须判定是否是tf2 或exf2激活中断,标志位也必须由软件清01。表2-2 中断控制寄存器符号位地址功能eaie.7中断总允许控制位。ea=0,中断总禁止;ea=1,各中断由各自的控制位设定-i

22、e.6预留et2ie.5定时器2中断允许控制位esie.4串行口中断允许控制位et1ie.3定时器1中断允许控制位ex1ie.2外部中断1允许控制位et0ie.1定时器0中断允许控制位ex0ie.0外部中断1允许控制位2.2.3 stc89c52单片机最小系统图2-4 晶振电路图2-5 复位电路如图2-4、图2-5所示,复位电路和时钟电路是维持单片机最小系统运行的基本模块。单片机最小系统是在以51单片机为基础上扩展,使其能更方便地运用于测试系统中,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被测试的技术指标,从而能够大大提高产品的质量和数量。单片机以其功能强、体积小、可靠性高

23、、造价低和开发周期短等优点,称为在实时检测和自动控制领域中广泛应用的器件,在工业生产中称为必不可少的器件,尤其是在日常生活中发挥的作用也越来越大2。2.3 显示模块的选择2.3.1 lcd1602概述字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式lcd,如图2-5所示,目前常用161,162,202和402行等模块。现在的字符型液晶模块已经是单片机应用设计中最常用的信息显示器件了。1602型lcd显示模块具有体积小,功耗低,显示内容丰富等特点。1602型lcd可以显示2行16个字符,有8位数据总线d0-d7和rs,r/w,en三个控制端口,工作电压为5v,并且具有字符对比度调节和

24、背光功能3。图2-6 lcd1602实物图2.3.2 lcd1602基本参数及引脚功能1602lcd主要技术参数:显示容量:162个字符芯片工作电压:4.55.5v工作电流:2.0ma(5.0v)模块最佳工作电压:5.0v字符尺寸:2.954.35(wh)mm引脚功能如表2-3所示:表2-3 引脚功能编号符号引脚说明编号符号引脚说明1vss电源地9d2数据2vdd电源正极10d3数据3vl液晶显示偏压11d4数据4rs数据/命令选择12d5数据5r/w读/写选择13d6数据6e使能信号14d7数据7d0数据15bla背光源正极8d1数据16blk背光源负极第1脚:vss为地电源。第2脚:vdd

25、接5v正电源。第3脚:vl为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10k的电位器调整对比度。第4脚:rs为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:r/w为读写信号线,高电平时进行读操作,低电平时进行写操作。当rs和r/w共同为低电平时可以写入指令或者显示地址,当rs为低电平r/w为高电平时可以读忙信号,当rs为高电平r/w为低电平时可以写入数据。第6脚:e端为使能端,当e端由高电平跳变成低电平时,液晶模块执行命令。第714脚:d0d7为8位双向数据线。第15脚:背光源正极。第16脚:背光源负极。

26、表2-4 lcd1602控制命令序号指令rsr/wd7d6d5d4d3d2d1d01清显示00000000012光标返回000000001*3置输入模式00000001i/ds4显示开/关控制0000001dcb5光标或字符移位000001s/cr/l*6置功能00001dlnf*7置字符发生存贮器地址0001字符发生存贮器地址8置数据存贮器地址001显示数据存贮器地址9读忙标志或地址01bf计数器地址10写数到cgram或ddram)10要写的数据内容11从cgram或ddram读数11读出的数据内容lcd1602的读写操作,如图2-7、图2-8所示、屏幕和光标的操作都是通过指令编程来实现的

27、。指令1:清显示,指令码01h,光标复位到地址00h位置。指令2:光标复位,光标返回到地址00h。指令3:光标和显示模式设置 i/d:光标移动方向,高电平右移,低电平左移 s:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。指令4:显示开关控制。 d:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 c:控制光标的开与关,高电平表示有光标,低电平表示无光标 b:控制光标是否闪烁,高电平闪烁,低电平不闪烁。指令5:光标或显示移位 s/c:高电平时移动显示的文字,低电平时移动光标。指令6:功能设置命令 dl:高电平时为4位总线,低电平时为8位总线 n:低电平时为单行显示,高电

28、平时双行显示 f: 低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。指令7:字符发生器ram地址设置。指令8:ddram地址设置。指令9:读忙信号和光标地址 bf:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。指令10:写数据。指令11:读数据。图2-7 读操作时序图2-8 写操作时序图2-9 lcd1602内部显示地址 如图2-9所示,第二行第一个字符的地址是40h,那么是否直接写入40h就可以将光标定位在第二行第一个字符的位置呢?这样不行,因为写入显示地址时要求最高位d7恒定为高电平1所以实际写入的数据应该是01000000b(40h)+100

29、00000b(80h)=11000000b(c0h)。在对液晶模块的初始化中要先设置其显示模式,在液晶模块显示字符时光标是自动右移的,无需人工干预。每次输入指令前都要判断液晶模块是否处于忙的状态。1602液晶模块内部的字符发生存储器(cgrom)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“a”的代码是01000001b(41h),显示时模块把地址41h中的点阵字符图形显示出来,我们就能看到字母“a”。1602lcd的一般初始化(复位)过程:(1)延时15ms(2)写指令38h(不检测

30、忙信号)(3)延时5ms(4)写指令38h(不检测忙信号)(5)延时5ms(6)写指令38h(不检测忙信号)(7)以后每次写指令、读/写数据操作均需要检测忙信号(8)写指令38h:显示模式设置(9)写指令08h:显示关闭(10)写指令01h:显示清屏(11)写指令06h:显示光标移动设置(12)写指令0ch:显示开及光标设置2.4 温湿度传感器的选择2.4.1 dht11数字温湿度传感器概述dht11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个ntc测

31、温元件,并与一个高性能8位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。每个dht11传感器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式储存在otp内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,信号传输距离可达20米以上,使其成为各类应用甚至最为苛刻的应用场合的最佳选则。产品为 4 针单排引脚封装。连接方便,特殊封装形式可根据用户需求而提供。2.4.2 dht11数字温湿度传感器性能说明表2-5 dht11数字温湿度传感器性能参数条件mintypmax单位湿度分辨率111

32、%rh8bit重复性1%rh精度254%rh0505%rh互换性可完全互换量程范围03090%rh252090%rh502080%rh响应时间1/e(63%)25,1m/s 空气61015s迟滞1%rh长期稳定性典型值1%rh/yr温度分辨率111888bit重复性1精度12量程范围050响应时间1/e(63%)630s图2-10 典型应用电路建议连接线长度短于20米时用5k上拉电阻,大于20米时根据实际情况使用合适的上拉电阻。dht11的供电电压为35.5v。传感器上电后,要等待 1s 以越过不稳定状态在此期间无需发送任何指令。电源引脚(vdd,gnd)之间可增加一个100nf 的电容,用以

33、去耦滤波。data 用于微处理器与 dht11之间的通讯和同步,采用单总线数据格式,一次通讯时间4ms左右,数据分小数部分和整数部分,具体格式在下面说明,当前小数部分用于以后扩展,现读出为零.操作流程如下:一次完整的数据传输为40bit,高位先出,数据格式:8bit湿度整数数据+8bit湿度小数数据,+8bi温度整数数据+8bit温度小数数据+8bit校验和数据传送正确时校验和数据等于“8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据”所得结果的末8位。用户mcu发送一次开始信号后,dht11从低功耗模式转换到高速模式,等待主机开始信号结束后,dht11发送

34、响应信号,送出40bit的数据,并触发一次信号采集,用户可选择读取部分数据.从模式下,dht11接收到开始信号触发一次温湿度采集,如果没有接收到主机发送开始信号,dht11不会主动进行温湿度采集.采集数据后转换到低速模式。总线空闲状态为高电平,主机把总线拉低等待dht11响应,主机把总线拉低必须大于18毫秒,保证dht11能检测到起始信号。dht11接收到主机的开始信号后,等待主机开始信号结束,然后发送80us低电平响应信号.主机发送开始信号结束后,延时等待20-40us后, 读取dht11的响应信号,主机发送开始信号后,可以切换到输入模式,或者输出高电平均可, 总线由上拉电阻拉高。总线为低电

35、平,说明dht11发送响应信号,dht11发送响应信号后,再把总线拉高80us,准备发送数据,每一bit数据都以50us低电平时隙开始,高电平的长短定了数据位是0还是1.格式见下面图示.如果读取响应信号为高电平,则dht11没有响应,请检查线路是否连接正常.当最后一bit数据传送完毕后,dht11拉低总线50us,随后总线由上拉电阻拉高进入空闲状态。测量分辨率分别为 8bit(温度)、8bit(湿度)。2.4.3 dht11数字温湿度传感器使用注意事项表2-6 dht11电气特性参数条件mintypmax单位供电 dc355.5v供电电流测量0.52.5ma平均0.21ma待机100150ua

36、采样周期秒1次dht11电器特性如表2-6所示,超出建议的工作范围可能导致高达3%rh的临时性漂移信号。返回正常工作条后,传感器会缓慢地向校准状态恢复。电阻式湿度传感器的感应层会受到化学蒸汽的干扰,化学物质在感应层中的扩散可能导致测量值漂移和灵敏度下降。在一个纯净的环境中,污染物质会缓慢地释放出去。下文所述的恢复处理将加速实现这一过程。高浓度的化学污染会导致传感器感应层的彻底损坏。置于极限工作条件下或化学蒸汽中的传感器,通过如下处理程序,可使其恢复到校准时的状态。在50-60和70%rh的湿度条件下保持 5小时以上。气体的相对湿度,在很大程度上依赖于温度。因此在测量湿度时,应尽可能保证湿度传感

37、器在同一温度下工作。如果与释放热量的电子元件共用一个印刷线路板,在安装时应尽可能将dht11远离电子元件,并安装在热源下方,同时保持外壳的良好通风。为降低热传导,dht11与印刷电路板其它部分的铜镀层应尽可能最小,并在两者之间留出一道缝隙。长时间暴露在太阳光下或强烈的紫外线辐射中,会使性能降低。data信号线材质量会影响通讯距离和通讯质量,推荐使用高质量屏蔽线。手动焊接,在最高260的温度条件下接触时间须少于10秒。(1)避免结露情况下使用。(2)长期保存条件:温度1040,湿度60以下。2.5 温度调节模块设计1、方案一图2-12 方案一电路图 如图2-12所示,由pwm控制温度调节模块,当

38、pwm端输入高电平时,电流经q1放大,光耦导通,光耦输出电流经q2放大后,使双向可控硅导通,m4qa045电机运转,当pwm端输入低电平时,双向可控硅控制端输入电流为0,交流电过零以后,双向可控硅截止,m4qa045电机停止运转4。2、方案二图2-13 方案二电路图如图2-13所示,由pwm控制温度调节模块,当pwm端输入高电平时,电流经q4放大,常开端5闭合,m4qa045电机运转,当pwm端输入低电平时,常开端5断开,m4qa045电机停止运转。3、方案比较 方案一采用光耦隔离强电,方案二采用继电器隔离强电,但方案一没有实现强电与直流源的隔离,且方案一环节复杂,计算难度大,过多的环节延长响

39、应时间,从而影响温度调整模块的性能,所以选择方案二5。图2-14 电热器驱动电路基于以上两个方案的分析,加热器驱动电路也同样选用继电器隔离,当温度低于18时,相应引脚输出高电平,电流经过三极管放大,继电器常开端闭合,电热器工作,当温度高于23时,相应引脚输出低电平,继电器常开端关闭,电热器不工作6。2.6 湿度报警模块设计图2-14 湿度报警模块电路图如图2-14所示,由stc89c52单片机在buzzer端输入信号控制湿度报警模块。当湿度大于65%rh或者小于45%rh时,buzzer端输入高电平,电流经q3放大,使蜂鸣器工作;当湿度处于45%rh和65%rh之间时,buzzer端输入低电平

40、,蜂鸣器不工作7。第三章 温室大棚控制系统软件设计3.1 keil c 软件概述单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为cpu可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于mcs-51单片机的汇编软件有早期的a51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,keil软件是目前最流行开发mcs-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持keil即可看出。keil提供了包括c编译器、宏汇编、连接器

41、、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uvision)将这些部份组合在一起。运行keil软件需要pentium或以上的cpu,16mb或更多ram、20m以上空闲的硬盘空间、win98、nt、win2000、winxp等操作系统。掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,如果你使用c语言编程,那么keil几乎就是你的不二之选(目前在国内你只能买到该软件、而你买的仿真机也很可能只支持该软件),即使不使用c语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。keil c51开发系统基本知识keil c

42、51开发系统基本知识: 1. 系统概述 keil c51是美国keil software公司出品的51系列兼容单片机c语言软件开发系统,与汇编相比,c语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用c来开发,体会更加深刻。 keil c51软件提供丰富的库函数和功能强大的集成开发调试工具,全windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到keil c51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。下面详细介绍keil c51开发系统各部分功能和使用。 2. ke

43、il c51单片机软件开发系统的整体结构 c51工具包的整体结构,其中uvision与ishell分别是c51 for windows和for dos的集成开发环境(ide),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用ide本身或其它编辑器编辑c或汇编源文件。然后分别由c51及a51编译器编译生成目标文件(.obj)。目标文件可由lib51创建生成库文件,也可以与库文件一起经l51连接定位生成绝对目标文件(.abs)。abs文件由oh51转换成标准的hex文件,以供调试器dscope51或tscope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直

44、接写入程序存贮器如eprom中。 使用独立的keil仿真器时,注意事项: *仿真器标配11.0592mhz的晶振,但用户可以在仿真器上的晶振插孔中换插其他频率的晶振。 *仿真器上的复位按钮只复位仿真芯片,不复位目标系统。 *仿真芯片的31脚已接至高电平,所以仿真时只能使用片内rom,不能使用片外rom;但仿真器外引插针中的31脚并不与仿真芯片的31脚相连,故该仿真器仍可插入到扩展有外部rom(其cpu的/ea引脚接至低电平)的目标系统中使用。1、安装好了keil软件以后,我们打开它。2、 我们先新建一个工程文件,点击“project-newproject”菜单。3、选择工程文件要存放的路径 ,

45、输入工程文件名 xdch 最后单击保存。4、在弹出的对话框中选择 cpu 厂商及型号。5、选择好stc89c52芯片,接着点击确定,弹出对话框。6、新建一个 c51 文件, 单击左上角的 new file,保存为ds18b20_4.c,(注意后缀名必须为.c),再单击“保存”。7、存好后把此文件加入到工程中方法如下:用鼠标在 source group1 上单击右键, 然后再单击 add files to group source group 1。8、 选择要加入的文件, 找到 main.c后, 单击 add, 然后单击 close。9、在编辑框里输入代码。10、生成 .hex 烧写文件,先单击

46、options for target。11、在下图中,我们单击 output, 选中 create hex f,再单击“确定”。以上是keil软件的基本应用8。3.2 温室大棚控制系统程序设计3.2.1整体系统框图图4-1 系统整体框图首先,初始化单片机设置中断,定义变量,然后初始化lcd1602显示模块,设置8位格式,2行,5*7矩阵显示,整体显示,关光标,不闪烁设定输入方式,增量不移位,清除屏幕显示。调用温湿度采集程序进行数据采集,经过数据转换程序,将十六进制转换成十进制,将十进制数据输出到lcd1602显示模块进行显示,根据温度调整电机转速,根据湿度判断是否报警,最后,进行新一轮的温湿度

47、采集9。3.2.2 lcd1602显示模块程序设计图4-2 显示程序框图如图4-2,初始化lcd1602显示模块,设置8位格式,2行,5*7矩阵显示,整体显示,关光标,不闪烁设定输入方式,增量不移位,清除屏幕显示,延时等待,将采集到的温湿度数据进行转换,十六进制转换成十进制,然后,判断是否在第一行显示,输入相应的地址数据,延时等待,输入需要显示的数据。3.2.3 pwm程序设计图4-3 pwm程序框图如图4-3所示,进行中断程序初始化,设置定时器t0中断时间为1ms,中断100次,即100ms作为一个脉冲周期,每中断一次,由变量t0_number进行计数,当变量t0_number大于100时,

48、给变量t0_number赋值0,重新开始计数,当变量t0_number小于变量pwm_width_h时,输出高电平,当变量t0_number大于变量pwm_width_h时,输出低电平,以此控制脉宽10。第四章 调试中遇到的问题在软件的调试过程中,遇到的问题有很多,下面就几个比较突出的问题进行说明。1)在对keil c的使用时不知道怎么才能让它生成hex文件,从而进行仿真,因为以前没有用过类似的软件,不会并且也不知道需要生成hex文件,导致前期的工作很难进行2 )因为用的是dht11数字传感器,在编程过程中需要对所测得温度进行处理,而且需要给定一个温度范围,建立一个温度与电机转速的数学模型,经

49、过反复的计算、实验才实现。3)因为考虑到经济实用方面,所以在进行实物操作之前,采用proteus软件对程序和硬件电路进行仿真,可是在仿真过程中,独立按键总是不灵敏,这需要对延迟时间进行调整,而程序中设置的延迟时间总是不能够很符合实际操作,所以在这方面浪费了大量的时间进行反复的操作和实验4)在仿真过程中,因为用到的是lcd1602显示模块,这种显示模块是可以显示字符的,并且这种模块本身带有字库,但事实仿真过程中,电路要求相对宽松,不需加上拉电阻,而实际的电路调试过程需要加上拉电阻。 结 论以上为毕业期间所设计的温室大棚控制控制系统,它经过多次修改和整理,可以满足设计的基本要求。采用stc89c5

50、2单片机、dht11数字温湿度传感器、lcd1602液晶显示模块和m4qa045电机等器件设计温室大棚控制系统,实现温湿度采集、英文显示;温度自动调节,湿度越限报警功能。因为本人水平有限,此设计存在一定的问题。譬如系统抗干扰能力差,且没有实现自动自动复位。由于使用的是单片机作为核心的控制元件,配合其它器件,使本温度控制系统具有功能强、性能可靠、电路简单、成本低的特点,加上经过优化的程序,使其有很高的智能化水平。谢 辞经过这段时间的忙碌和工作,本次毕业设计已经接近尾声,作为一个本科生的毕业设计,由于经验的匮乏,难免有许多考虑不周全的地方,如果没有导师的督促指导,以及同学们的支持和帮助,想要完成这

51、个设计是难以想象的。 在这里首先要感谢我的导师费继友教授。费教授平日里工作繁多,但在我做毕业设计的每个阶段,从设计草案的确定和修改,中期检查,后期详细设计,装配草图等整个过程中都给予了我悉心的指导。他的治学严谨和科学研究的精神也是我永远学习的榜样,并将积极影响我今后的学习和工作。 然后,还要感谢大学四年来所有的老师,为我们打下测控技术与仪器专业知识的基础;同时还要感谢所有的同学以及研究生们,正是因为有了你们的支持和鼓励,此次毕业设计才会顺利完成。 最后感谢母校大连交通大学四年来对我的大力栽培。参考文献 孙育才.mcs-51系列单片微型计算机及其应用(第四版) m.南京:东南大学出版社,2004

52、2 康华光.电子技术基础-模拟部分(第四版)m.北京:高等教育出版社,19993 康华光.电子技术基础-数字部分(第四版)m.北京:高等教育出版社,19994 石来德.机械参数电测技术m.上海:上海科学技术出版社,19815 ernest o.doebelin. measurement systems: application and design m.america: mcgraw-hill book company,19766 曹继松.测试电路m.上海:上海交通大学出版社,19957 谢自美.电子线路设计实验测试m.武汉:华中科技大学出版社,20008 马靖善,秦玉平.c语言程序设计m.北

53、京:清华大学出版社,20059 赖麒文.8051 单片机 c语言开发环境实务与设计 m.北京:科学出版社,200210 徐爱钧.智能化测量控制仪表原理与设计m.北京:北京航空航天大学出版社,2004附 录#include #include #define lcd_db p2sbit dq = p10;sbit buzzer = p11;sbit pwm = p12;sbit lcd_rs = p14;sbit lcd_rw = p15;sbit lcd_e = p16;sbit heat = p17;void initial(void);void read_dht11(void);void lcd_write_command(unsigned char com);void lcd_display_char(unsigned char x, unsigned char y, unsigned char dat);unsigned char read_dht11_char(void);void control_temperature_humidity(void);void delay_xms(unsigned

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论