盆花自动浇水系统的设计.docx
《盆花自动浇水系统的设计.docx》由会员分享,可在线阅读,更多相关《盆花自动浇水系统的设计.docx(91页珍藏版)》请在冰豆网上搜索。
盆花自动浇水系统的设计
盆花自动浇水系统的设计
测控07级2班肖璐指导老师:
赵彦如
摘要:
本次设计的盆花自动浇水系统包括土壤温湿度的检测与控制和蓄水箱自动上水及水位报警两大部分。
土壤温湿度的检测与控制部分又包括了土壤温湿度的检测和显示、自动浇水系统。
土壤温湿度的检测和显示以温湿度传感器SHT-11为感应部件,将检测到的土壤温湿度值送入AT89C51单片机,再由其输出到LCD屏进行显示。
自动浇水系统设计为智能和手动两个部分:
智能浇水部分是通过单片机程序设定浇水的上下限值与SHT-11送入单片机的土壤湿度值相比较,当低于下限值时,单片机输出一个信号控制电磁阀打开,开始浇水,高于上限值时再由单片机输出一个信号控制电磁阀关闭,停止浇水;手动部分是由单片机从时钟芯片DS1302读入月份与每天的实时时刻,通过软件程序设定定时浇水的时间与浇水的量。
蓄水箱自动上水及水位报警采用纯硬件电路控制,实现水箱水位实时监测、自动上水以及水位上下限报警的功能。
关键词:
AT89C51单片机SHT-11温湿度传感器LCDDS1302时钟芯片C51程序数字电路
Designofpottedflowersautomaticwateringsystem
Abstract:
Thedesignoftheautomaticwateringsystemincludessoilpothumiditydetectionanddisplay,automaticwateringandstorageboxautomaticwaterandwaterlevelalarmthreeparts.S-oiltestinganddisplayoftemperatureandhumiditysystemtakesTemperatureandhumiditysen-sorSHT-11asinductivecomponents,itwilldetectthesoiltemperatureandhumidityvalueandinputthevaluetotheAT89C51microcontroller,thenthetemperatureandhumidityvaluewillbeoutputtoLCDscreendisplayed.Automaticwateringsystemdesignforintelligenceandmanualtwoparts.Intelligentwateringpartthroughthemicrocontrollerprogramsettingtheupperandlo-werwaterattained,thencomparingthisupperandlowerwaterattainedwiththevalethatthroug-hingSHT-11inputtingtothemicrocontroller.WhenbelowthelimitSCMoutputsasignaltoo-peningtheElectromagneticvalve,andStartwatering.ifAbovetheupperlimitvalue,theSCMwilloutputanothersignaltoTurnningofftheElectromagneticvalve,andStopwatering.ManualpartreadthetimefromtheclockchipDS1302bymicrocomputer.Throughsoftwareprogramtosettingtheregularwatering'timeandWateringamount.StorageboxWaterlevelcontrolsystemu-sesPurehardwarecontrol.Realizingreal-timemonitoringwatertank,AutomaticwatersupplyandLevelalarmingfunction.
Keywords:
AT89C51microcontroller;SHT-11temperatureandhumiditysensor;LCD;clockchipDS1302;C51program;Digitalcircuit
目录
1、绪论1
1.1选题的目的和意义1
1.2自动浇花器的诞生背景及国内外发展现状1
1.3毕业设计所采用的研究方法和手段2
2、AT89C51单片机4
2.1AT89C51单片机的基本组成4
2.2AT89C51主要特性5
2.3管脚说明5
2.4AT89C51单片机的存储器7
2.4.1程序存储器7
2.4.2数据存储器8
2.5振荡电路和时钟9
2.6AT89C51的中断系统10
2.6.1中断系统结构和中断控制10
2.6.2中断响应过程12
2.7定时器/计数器12
2.7.1定时器/计数器0和1简介12
2.7.2与定时器/计数器0和1相关的特殊功能寄存器13
3、温湿度传感器14
3.1数字温湿度传感器SHT-1115
3.2SHT-11的传感器输出16
3.2.1湿度值输出17
3.2.2温度值输出17
3.2.3露点计算18
3.2.4非线性校正及温度补偿18
3.3SHT-11的特性19
3.3.1SHT-11的特点19
3.3.2SHT的详细规格19
3.4SHT-11的引脚20
3.5SHT-11的的内部命令与接口时序21
3.5.1SHT-11的内部命令21
3.5.2SHT-11的命令顺序及命令时序21
3.5.3SHT-11的状态寄存器22
3.6硬件接口23
3.7恢复处理23
3.8SHT-11的相关程序24
4、DS1302时钟芯片30
4.1DS1302时钟芯片的简介30
4.2引脚30
4.3命令字节31
4.4DS1302的相关程序34
5、液晶显示器LCD38
5.1液晶显示器的分类38
5.2AMPIRE128×6438
5.2.1LCD128×64引脚功能39
5.2.2KS0108控制器指令功能40
5.2.3应用说明42
5.2.4LCD相关程序42
6、盆花自动浇水系统的设计49
6.1土壤温湿度检测与控制49
6.1.1硬件电路设计49
6.1.2系统软件设计53
6.2蓄水箱自动供水系统65
6.2.1基本的导电理论66
6.2.2系统工作原理67
6.2.3系统硬件组成66
6.2.4系统电路连接70
6.2.5参数计算71
6.2.6水箱水位控制系统检测71
7、总结73
8、致谢74
参考文献75
1、绪论
1.1选题的目的和意义
随着社会生活的进步,人们的生活质量越来越高。
在家里养盆花可以陶冶情操、丰富生活。
同时,盆花通过光合作用可吸收二氧化碳,净化室内空气,在有花木的地方空气中阴离子聚积较多,所以空气也特别清新,而且有许多花木还可吸收空气中的有害气体,因此,养盆花如今被许多的人所喜爱。
盆花浇水量是否能做到适时适量,是养花成败的关键。
但是,在生活中人们总是会有无暇顾及的时候,比如工作太忙或者出差、旅游等。
花草生长问题80%以上是由花儿浇灌问题引起;好不容易种植几个月的花草,因为浇水不及时,长势不好,用来美化家园的花草几乎成了“鸡肋”;不种植了吧,家中没有绿色衬托感觉没有生机;保留吧,花草长得不够旺盛,还影响家庭装饰效果。
虽然目前市面上有卖盆花自动浇水器的,但价格十分的昂贵,并且大多只能设定一个定时浇水的时间,很难做到给盆花适时适量浇水。
也有较经济的盆花缺水报警器,可以提醒人们及时的给盆花浇水。
可是这种报警器只能报警,浇水还是需要人们亲自动手。
当家里无人时,即使报警也无人浇水,就起不到应有的作用了。
因此,我想通过设计一种集盆花土壤湿度检测,自动浇水以及蓄水箱自动供水于一体的盆花自动浇水系统。
让盆花在人们无暇照顾时也能得到及时的浇灌。
1.2自动浇花器的诞生背景及国内外发展现状
微喷系统是近几年利用国内外先进技术组装的新型灌溉设施,主要是利用水流通过低压管道系统以一定速度从特制的喷头喷出,在空气中分散成细小的水滴,着落在花草植物、作物及周围的地面上,从而达到及时补充水分的目的。
该系统具有用水量少、冲击力小的灌溉特性,适用于栽培密度大、植株柔软细嫩的植物。
自动浇花器的诞生是随着人们生活水平的提高和生活节奏的加快而诞生的一种懒人园艺用品。
它把微喷的概念应用于家庭盆花浇灌中,通过相应的改进,达到合理给盆花自动浇水的目的。
早在很多年前,国外就已经开始普及,国内使用的电子类自动浇花器多数从国外进口的,价格昂贵,但质量比较可靠。
不过这并不太适用于国内,目前国内外比较流行的是玻璃制作的自动浇花器。
这种类型的浇花器多数在我国山西和浙江一带加工生产的,价格比较低廉,实用性没有电子类自动浇花器好。
随着国内居民消费水平和生活质量的提高,居家园艺市场异常火爆,但是由于生活节奏加快,种花容易养花难的问题暴露出来,而养花最重要的问题就是浇水问题,研究表明花草80%以上的死亡由于浇水不及时引起,因此国内商家已经看到了这种需求潜力。
目前这类小居家用品的厂家主要集中在广东,上海,浙江一带。
现在市面上所出售的自动浇花器主要有以下几类:
⑴电子类自动浇花器
电子类自动浇花器又叫时控喷淋装置,系统构成为:
主机(或者控制器)、主管(可以是花园管也可以是4/7mm的微喷淋管)、分水接头(3通、4通、5通、6通、分水器)、副管(3/5mm)喷淋管(雾化喷头、旋转喷头、折射雾化喷头等)。
电子类自动浇花器根据电源的不同分为交流电自动浇花器和电池自动浇花器两种。
控制器的一般性能有:
电磁阀控制;智能时控电路•微电脑芯片控制;适用电源为AC220V/50HZ;最适宜水压0.3-0.6Mpa;待机功率(4VA,浇水时<12VA);可控制连续作业时间是1分钟至168个小时;可每天自动完成十次以上浇水作业,可每天、隔天、隔多天自动循环进行浇水,手动自动两用;每天计时误差小于正负3秒;电器适应环境温度为-10~50℃;相对湿度<90%RH。
⑵玻璃、陶瓷类自动浇花器
玻璃、陶瓷类自动浇花器又叫自动渗水装置,它由本身材质的物理结构构成,根据器具的物理渗水原理完成自动浇灌,当自动浇水器内部存水,自身形成一定的压力,当遇到干燥的土壤,水就会自上而下的流出,当土壤湿润以后,会形成一个堵塞压力,从而导致水流速度变慢或者停止。
器具工艺不同,效果也不一样,当然也因土壤的疏松情况决定器具内水流的速度。
当前传感器技术与单片机技术发展迅速,其应用逐步由工业、军事等领域向其他领域渗透,已经和我们的日常生活息息相关。
而且智能家居概念也越来越受人们的推崇,因此,微电脑控制的电子类自动浇花系统有很好的发展前景。
1.3毕业设计所采用的研究方法和手段
本次毕业设计是设计一种单片机控制的自动浇水系统,实现室内盆花浇水的自动化系统。
该系统可对土壤的温湿度进行监控,并对作物进行适时、适量的浇水。
其核心是单片机和温湿度传感器以及浇水驱动电路构成的检测控制部分。
主要研究土壤湿度与浇水量之间的关系、浇灌控制技术及设备系统的硬件、软件编程各个部分。
检测部分,单片机选用AT89C51单片机,温湿度传感器选用SHT11温湿度传感器。
SHT-11采用COMSens专利传感器技术将温度湿度传感器、A/D转换器、数字接口、校准数据存储器、标准I2C总线等电路全部集成在一个芯片内。
软件选用C51语言编程。
土壤温湿度传感器可将检测到的土壤温湿度模拟量放大转换成数字量通过单片机内程序控制精确的将温度与湿度分别显示在LCD显示屏上,同时通过单片机内的中断服务程序判断是否要给盆花浇水,若需浇水,则单片机系统发出浇水信号,并经放大驱动设备,开启电磁阀进行浇水,若不需浇水,则进行下一次循环检测。
在浇水系统中也同时设计一个手动浇水部分,系统工作时通过设置键的按下与否来选择浇水系统的工作方式。
土壤浇水驱动电路采用继电器开关电路,蓄水箱水位报警以及自动上水部分采用纯硬件控制。
2、AT89C51单片机
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。
单片机的可擦除只读存储器可以反复擦除100次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
2.1AT89C51单片机的基本组成
AT89C51由一个8位的微处理器,128KB片内数据存储器RAM,21个特殊功能寄存器SFR,4KB片内程序存储器FlashROM,64KB可寻址片内外统一编址的ROM,64KB可寻址片外的RAM,4个8位并行I/O接口(P0—P3),一个全双工通用异步串行接口UART,两个16位的定时器/计数器,具有位操作功能的布尔处理机及位寻址功能的五个中断源、两个优先级的中断控制系统以及片内振荡器和时钟产生电路。
其基本组成框图如图2-1所示。
图2-1AT89C51的基本组成
2.2AT89C51主要特性
AT89C51主要特性有:
·与MCS-51兼容
·4K字节可编程闪烁存储器
·寿命:
1000写/擦循环
·数据保留时间:
10年
·全静态工作:
0Hz-24Hz
·三级程序存储器锁定
·128*8位内部RAM
·32可编程I/O线
·两个16位定时器/计数器
·5个中断源
·可编程串行通道
·低功耗的闲置和掉电模式
·片内振荡器和时钟电路
2.3管脚说明
AT89C51的引脚图如图2-2所示。
各引脚的具体说明如下:
VCC:
供电电压。
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P0口
的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4
个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此
作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口
当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八
位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写
时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址
信号和控制信号。
图2-2AT89C51引脚图
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电
流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入口。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如表2-1所示。
同时,P3口为闪烁编程和编程校验接收一些控制信号。
表2-1P3口的特殊功能
引脚
名称
功能说明
引脚
名称
功能说明
P3.0
RXD
串行输入口
P3.4
T0
记时器0外部输入
P3.1
TXD
串行输出口
P3.5
T1
记时器1外部输入
P3.2
外部中断0
P3.6
外部数据存储器写选通
P3.3
外部中断1
P3.7
外部数据存储器读选通
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位
字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/VPP:
当/EA保持低电平时,则在此期间外部程序存储(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,
将内部锁定为RESET;当
端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
2.4AT89C51单片机的存储器
在单片机中,存储器分为程序存储器ROM和数据存储器RAM,并且两个存储器是独立编址的。
AT89C51单片机芯片内配置有8KB(0000H~1FFFH)的Flash程序存储器和256字节(00H~FFH)的数据存储器RAM,根据需要可外扩到最大64KB的程序存储器和64KB的数据存储器,因此AT89C51的存储器结构可分为4部分:
片内程序存储器、片外程序存储器、片内数据存储器和片外数据存储器。
如果以最小系统使用单片机,即不扩展,则AT89C51的存储器结构就较简单:
只有单片机自身提供的8KBFlash程序存储器和256字节数据存储器RAM。
图2-3给出了AT89C51单片机的存储器分布空间。
左侧线框中为单片机自身提供的8KBFlash程序存储器和256字节数据存储器RAM。
右侧为可扩展的64KB的程序存储器ROM和64KB的数据存储器RAM。
2.4.1程序存储器
AT89C51单片机出厂时片内已带有8KB的Flash程序存储器,使用时,引脚
要按高电平(5V),这时,复位后CPU从片内ROM区的0000H单元开始读取指令代码,一直运行到1FFFH单元,如果外部扩展有程序存储器ROM,则CPU会自动转移到片外ROM空间2000H~FFFFH读取指令代码。
图2-3存储器空间分布图
2.4.2数据存储器
AT89C51单片机出厂时片内已带有256字节的数据存储器RAM,如果不够用,可以在片外扩展,最多可扩展64KBRAM。
图2-4片内数据存储器的结构
单片机自带的数据存储器RAM结构如图2-4所示,此256字节单元(00H~FFH)的低128字节(00H~7FH)单元为用户使用区,高128字节(80H~FFH)单元为特殊功能寄存器SFR区。
片内数据存储器的00H~7FH单元又划分为3块:
00H~1FH块是工作寄存器所用;20H~2FH块是位寻址功能的单元区;30H~3FH是普通RAM区。
工作寄存器又分为4组,在当前的运行程序中只有一组是被激活的,谁被激活有程序状态寄存器PSW的RS1,RS0两位决定。
2.5振荡电路和时钟
在AT89C51芯片内部,有一个振荡电路和时钟发生器,引脚XTAL1和XTAL2之间接入晶体振荡器和电容后构成内部时钟方式。
也可以使用外部振荡器,由外部振荡器产生的信号直接加载到振荡器的输入端,作为CPU的时钟源,称为外部时钟方式。
采用外部时钟方式时,外部振荡器的输出信号接至XTAL1,XTAL2悬空。
两种方式的电路连接如图2-5所示。
大多数的单片机采用内部时钟方式,本次设计亦然。
(a)使用片内振荡器接法(b)使用片外振荡器接法
图2-5AT89C51振荡器的连接方式
在AT89C51单片机内部,引脚XTAL2和引脚XTAL1连接着一个高增益反相放大器,XTAL1引脚是反相放大器的输入端,XTAL2引脚是反相放大器的输出端。
芯片内部的时钟发生器是一个二分频触发器,振荡器的输出
为其输入,输出为两相的时钟信号(状态时钟信号),频率为振荡器输出信号频率
的1/2。
状态时钟经三分频后为低字节地址锁存信号ALE,频率为振荡器输出信号频率
的1/6,经六分频后为机器周期信号,频率为
/12。
、
一般取20~30pF的陶瓷电容器。
2.6AT89C51的中断系统
为了提高系统的工作效率,AT89C51单片机设置了中断系统,采用中断方式与外设进行数据传送。
所谓“中断”,是指单片机在执行某一段程序的过程中,由于某种原因(如异常情况或特殊请求),单片机暂时中止正在执行的程序,而去执行相应的处理程序,待处理结束后,再返回到被打断的程序处,继续执行原程序的过程。
2.6.1中断系统结构和中断控制
AT89C51有六个固定的可屏蔽中断源,分别是三个片内定时器/计数器溢出中断TF0、TF1和TF2,两个外部中断
(P3.2)和
(P3.3),一个片内串行口中断TI或RI。
6个中断源有两级中断优先级,可形成中断嵌套。
它们在程序存储器中各有固定的中断入口地址,由此进入相应的中断服务程序。
引起6个中断源的符号、名称及产生的条件如下:
:
外部中断0,由P3.2端口线引入,低电平或下降沿引起;
:
外部中断1,由P3.3端口线引入,低电平或下降沿引起;
T0:
定时器/计数器0中断,由T0记满回零引起;
T1:
定时器/计数器1中断,由T1记满回零引起;
TI/RI:
串行口I/O中断,串行端口完成一帧字符发送/接收后引起中断;
T2:
定时器/计数器2中断,由T2记满回零引起。
在本次设计中采用了定时器/计数器0中断,它的中断控制寄存器包括定时器/计数器0、1控制寄存器TCON和中断允许控制寄存器IE。
①定时器控制寄存器TCON
TCON是定时器/计数器和外部中断两者合用的一个可位寻址的特殊功能寄存器,它的格式如下:
D7
D6
D5
D4
D3
D2
D1
D0
TF1
TR1
TF0
TR0
IE1
IT1
IE0
IT0
各控制位定义如下:
TF1:
定时器/计数器1溢出中断请求标志位。
当定时器/计数器1计数产生溢出时,由内部硬件置位TF1,向CPU响应中断并转向该中断服务程序执行时,由硬件内部自动TF1清0。
TR1:
定时器/计数器1启动/停止位。