《基于AT89C52单片机的智能浇花系统毕业设计.docx》由会员分享,可在线阅读,更多相关《基于AT89C52单片机的智能浇花系统毕业设计.docx(38页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 摘要随着社会水平的提高越来越多的人开始养殖花卉。然而人们事情很多,常常忘记给花卉浇水。如何合理、按时给花卉浇水成了人们养殖花卉的一个难题。本系统基于AT89C52单片机的智能浇花系统。通过传感器感知土壤湿度、温度并传达单片机,由单片机判断花卉是否缺水并最终传达给电动机,电动机转动,从而达到适时自动浇水。定时定量浇花是实现每天在规定的时间自动打开电动机浇花,根据不同的花卉所需水量不同,用一个按钮来设置浇花时间的长短,即电磁阀打开的时间,其余时间电动机不转,水流不经过;根据湿度控制浇花是用一个SHT-11传感器,当检测的湿度都达不到设定的湿度,就开始浇花,到了设定的湿度就停止浇花。该系统既能按时
2、、按量的给花卉浇水,还可以为节约水资源,从而让花卉更好的生长。关键词: AT89C52单片机;温、湿度传感器;液晶显示器AbstractWith the improvement of the social level, more and more people begin to flower cultivation. However, many things that people often forget to watering flowers. How to reasonably has become the breeding of flowers, water the flowers o
3、n a problem.This system based on AT89C52 single chip microcomputer intelligent watering the flowers. Through the sensors to the soil humidity, light intensity, temperature and communicate microcontroller, by single-chip microcomputer to determine whether a flower water and eventually to electromagne
4、tic water valve, so as to achieve timely automatic watering. Timing quantitative watering the flowers is to realize the automatic open the solenoid valve in the stipulation time every day watering the flowers, according to the different flower water, with a button to set the length of the water the
5、flowers, the solenoid valve open time, the rest of the time of the electromagnetic valve closed, without water; According to the humidity control is watering the flowers with a humidity sensor, when testing the humidity is lower than setting humidity, begin to water the flowers, the setting of humid
6、ity stopped watering the flowers. The system can not only on time, volume of water the flowers, you can also to save the water resources, so that the flowers grow better.Keywords: AT89C52 microcontroller; SHT - 11 temperature and humidity sensor;LCD目录1. 绪论11.1 选题目的及意义11.2 产生背景及国内外发展现状11.3 毕业设计所采用的研究
7、方法和手段22. 硬件选择32.1 硬件框架图32.2 AT89C5232.3 温、湿度感器62.3.1 SHT-11的传感器输出72.3.2 SHT-11的特性102.3.3 SHT-11的引脚102.4 液晶显示器113. 软件设计143.1 程序设计143.2 用Keil C51编写程序153.3 用STC-ISP下载程序164. 智能浇花系统的设计174.1 系统的设计174.2 单片机最小系统184.2.1 晶振电路设计184.2.2 复位电路184.2.3 单片机最小系统电路设计194.3 按键消抖方法204.4 土壤温湿度部分214.5 电动机部分245. 系统调试275.1 软
8、件调试275.1.1 用Keil编译275.1.2 烧录295.2 硬件调试315.2.1 裸测PCB电路板315.2.2 整机测试315.2.3 主要元件测试32总结34致谢35参考文献36附件37351. 绪论1.1 选题目的及意义随着社会的发展,人民越来越注重坏境质量。养殖花卉成了首要选择,在家养殖可以陶怡情操,丰富生活。同时花卉可以通过光合作用吸收二氧化碳释放氧气同时还可以净化空气,而且花卉还可以吸收有毒物质例如刚装修的房屋里的苯、甲醛等。因此越来越多的人喜欢养殖花卉。但现代人的生活节奏越来越快,事情越来越多。很多人有时忘了定时、适量给花卉浇水。花草生长的问题80%以上由花儿浇灌问题引
9、起,好不容易养的花卉浇水,因为浇水问题而长势不好或更严重的出现枯萎甚至凋亡。虽然市面上也有卖浇花的装备但昂贵的价格和其性价比让人望而却步。那种浇花装置大部分只能是指定时浇水时间,很难做到给花卉适时、适量浇水。还有花卉缺水报警器但其只能报警并不能适时、适量的浇水。其效果可想而知。为了解决按时、适量浇水问题,所以我设计自动浇花体统,通过传感器感知土壤湿度、光照强度、温度并传达单片机,由单片机判断花卉是否缺水并最终传达给电磁水阀,从而达到适时自动浇水。1.2 产生背景及国内外发展现状微喷、微灌是近些年应用国内外的自动浇水设施。微喷主要由微喷带组成。其工作原理是利用水压力后交付和微喷嘴带领域,通过与排
10、水洞微喷,在重力和空气阻力的影响,形成一个细雨的喷涂效果。微喷带的出水孔多半采用空气组方式,按照一定距离和一定规律布置,如:斜三通、斜五孔、左右孔、横三孔和无空等,出水孔一般采用机械钻孔、启动打孔和激光打孔,孔径为0.1-0.2mm,空形呈圆形。其用途:蔬菜、蘑菇、苗圃果园、花卉、大棚等。微灌是利用微灌设备组成微灌系统,用压力将水分配到田间,通过灌水去以微小的流量湿润作物根部附近土壤的一种局部灌水技术。微灌技术可以很容易地将水分配到每一株植物的土壤,,经常保持低水压力可以满足作物生长的需要。但微灌系统的投资通常远高于地面灌溉;出口很小,容易堵塞,过滤系统的要求1。许多年前,国外已经开始普及,国
11、内使用的电子自动浇花大部分从国外进口,价格是昂贵的,但是质量是可靠的,但不太适合国内使用。国内外流行的玻璃自动浇花。这种类型的灌溉设备大多数在中国山西和浙江地区的加工生产,价格很便宜,实际没有电子自动浇花是好的。种花简单让花难,很多商家看到了这块市场。目前这种小家居用品制造商主要集中在广东、上海、浙江地区。现在市场上的自动浇花,主要有以下几类: 电子类自动浇花器(时控临喷装置)该系统主要构成为:主机(或者控制器)、主管、分水接头、副管喷淋管。时控临喷浇花装置根据电源的不同分为交流电自动浇花器和电池自动浇花器两种。控制器的一般性能有:电磁阀控制;智能时控电路微电脑芯片控制;适用电AC220V/5
12、0HZ;最适宜水压0.3-0.6Mpa;待机功率(4VA,浇水时12VA);可控制连续作业时间是1分钟至168个小时;可每天自动完成十次以上浇水作业,可每天、隔天、隔多天自动循环进行浇水,手动自动两用;每天计时误差小于正负3秒;电器适应环境温度为-1050;相对湿度90%RH。玻璃、陶瓷类自动浇花器玻璃、陶瓷类自动浇花器又叫自动渗水装置,它由本身材质的物理结构构成,根据器具的物理渗水原理完成自动浇灌,当自动浇水器内部存水,自身形成一定的压力,当遇到干燥的土壤,水就会自上而下的流出,当土壤湿润以后,会形成一个堵塞压力,从而导致水流速度变慢或者停止。器具工艺不同,效果也不一样,当然也因土壤的疏松情
13、况决定器具内水流的速度。当前传感器技术与单片机技术发展迅速,其应用逐步由工业、军事等领域向其他领域渗透,已经和我们的日常生活息息相关。而且智能家居概念也越来越受人们的推崇,因此,微电脑控制的电子类自动浇花系统有很好的发展前景2。1.3 毕业设计所采用的研究方法和手段本毕业设计是设计单片机控制的自动浇花系统。所有节点按照在网络中的功能不同分为协调器节点、传感器节点和控制器节点。单个网络中只有一个协调器节点,它作为整个网络的中心,存放所有的控制策略,它能接收传感器节点向其发送的数据,通过智能判断后,再把灌溉命令发送给控制器节点;传感器节点分布于灌区的各个地方,配有各种传感器,如测量温度、空气湿度、
14、光照度等的传感器,负责采集灌区的环境参数, 主要研究土壤湿度与浇水量之间的关系、浇灌控制技术及设备系统的硬件、软件编程各个部分。并按一定的时间间隔发送给协调器节点;每个控制器节点负责一个分灌区的灌溉作业,它直接与灌溉的执行器(如阀门、水泵等)相连,当接收到协调器节点发送的灌溉命令后,则执行相应的操作。土壤温湿度传感器可将检测到的土壤温湿度模拟量放大转换成数字量通过单片机内程序控制精确的将温度与湿度分别显示在LCD显示屏上,同时通过单片机内的中断服务程序判断是否要给花浇水,若需浇水则单片机系统发出浇水信号并经放大驱动设备开启电磁阀进行浇水若不需浇水则进行下一次循环检测。2. 硬件选择2.1 硬件
15、框架图本设计以AT89C52单片机为核心,温、湿度、光照传感器24小时周期性的采集信息并传达给控制器。LCD液晶显示器显示现有的温湿度、光照强度。整体硬件框架图如图2.1所示。图2.1 整体硬件框架图2.2 AT89C52AT89C52是51系列单片机的一个型号,它是由ATMEL公司生产的一个低电压、高性能的8位单片机,片内器件采用ATMEL公司的非易失性、高密度存储技术生产,与标准的MCS-51指令系统兼容,同时片内置有通用8位中央处理器和8k 字节的可反复擦写的只读程序存储器ROM以及256 字节的数据存储器RAM,在许多许多较复杂的控制系统中AT89C52单片机得到了广泛的应用3。AT8
16、9C52单片机的基本组成如图2.2图2.2 AT89C52的基本组成AT89C52有40个引脚,各引脚介绍如下:VCC:+5V电源线;GND:接地线。P0口:P0.7P0.0,这组引脚共8条,其中P0.7为最高位,P0.0为最低位。这8条引脚共有两种不同的功能,分别使用于两种不同的情况。第一种情况是单片机不带片外存储器,P0口可以作为通用I/O口使用,P0.7P0.0用于传送CPU的输入/输出数据,此时它需外接一上拉电阻才能正常工作。第二种情况是单片机带片外存储器,其各引脚在CPU访问片外存储器时先是用于传送片外存储器的低8位地址,然后传送CPU对片外存储器的读写数据。P1口:P1口是一个内部
17、含上拉电阻的8位双向I/O口。它也可作为通用的I/O口使用,与P0口一样用于传送用户的输入输出数据,所不同的是它片内含上拉电阻而P0口没有,故P0口在做该用途时需外接上拉电阻而P1口则无需。在FLASH编程和校验时,P1口用于输入片内EPROM的低8位地址。P2口:P2口为一个内部上拉电阻的8位双向I/O口,它可以作为通用I/O口使用,传送用户的输入/输出数据,同时可与P0口的第二功能配合,用于输出片外存储器的高8位地址,共同选中片外存储单元,但此时不能传送存储器的读写数据。在一些型号的单片机中,P2口还可以配合P1口传送片内EPROM的12位地址中的高4位地址。P3口:P3口引脚是8个带内部
18、上拉电阻的双向I/O口,当P3口写入1后,它们被内部上拉为高电平。它也可作为通用的I/O口使用,传送用户的输入输出数据,P3口也作为一些特殊功能端口使用,如下图2.3所示图2.3 AT89C52单片机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读选通信号)RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平状态。ALE/PROG:地址锁存允许/编程线
19、,当访问片外存储器时,在P0.7P0.0引脚线上输出片外存储器低8位地址的同时还在ALE/ PROG 线上输出一个高电位脉冲,其下降沿用于把这个片外存储器低8位地址锁存到外部专用地址锁存器,以便空出P0.7P0.0引脚线去传送随后而来的片外存储器读写数据。在不访问片外存储器时,单片机自动在ALE/PROG 线上输出频率为1/6晶振频率的脉冲序列。RSEN:外部程序存储器ROM的选通信号。在由外部程序存储器取指期间,每个机器周期两次RSEN有效。但在访问外部数据存储器时,这两次有效的RSEN信号将不出现。EA/VPP:允许访问片外存储器/编程电源线,当EA保持低电平时,则在此期间允许使用片外程序
20、存储器,不管是否有内部程序存储器。当EA端保持高电平时,则允许使用片内程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1和XTAL2:片内振荡电路输入线,这两个端子用来外接石英晶体和微调电容,即用来连接单片机片内OSC的定时反馈回路3。2.3 温、湿度感器传统的模拟式湿度传感器需设计信号调理电路并要经过复杂的校准、标定过程,测量精度难以得到保证,且在线性度、重复性、互换性、一致性等方面往往不尽人意。为解决这些问题,瑞士Sensirion 公司推出了新一代基于CMOSensTM技术的数字式温湿度传感器。它很好地解决了温湿度传感器存在的上述问题,实现了数字式输出
21、、免调试、免标定、免外围电路及全互换功能5。数字温湿度传感器SHT11采用COMSens专利传感器技术将温度湿度传感器、A/D转换器、数字接口、校准数据存储器、标准I2C总线等电路全部集成在一个芯片内,其内部结构如图2.4所示。图2.4 数字温湿度传感器SHT11的内部结构图由它的内部结构可看出SHT-11具有不同保护的“微型结构”检测电极系统与聚合物覆盖层组成了传感器芯片的电容,这样除保持了电容式湿敏器件的原有特性外还可抵御来自其它方面的影响。将温度传感器与湿度传感器结合在一起构成了一个单一的个体,这就使得测量精度提高并且可以精确得出露点,而不会产生由于温度与湿度传感器之间随温度梯度变化而引
22、起的误差。而且将传感器元件、信号放大器、模/ 数转换器、OTP 校准数据存储器、I2C 工业标准串行总线等,电路功能部件全部采用CMOS 技术与温湿度传感器一起放置在一个芯片内。这不仅使信号强度增加,更重要的是长期稳定性也得到增强,这对传感器系统是极为重要的。同时,模/ 数转换也在一个芯片内同时完成,这可使信号对噪声不敏感,尤其重要的是,在传感器芯片数据存储器内装载的针对每一只传感器的校准数据保证了每一只传感器都有相同的功能,可以实现100%的互换。此外,。该传感器还具有I2C 二线串行总线接口,这可使传感器方便的与任何类型的微处理器、微控制器接口相连,为温湿度的微机化测试带来极大的方便,这不
23、仅能减少温湿度测试系统的开发时间,还可节约数字化接口的软硬件成本。该传感器还有反应迅速、高精度、低功耗等优点。2.3.1 SHT-11的传感器输出SHT-11的相对湿度绝对精度、温度精度和25露点精度如图3.2(a)(c)所示。(a)湿度绝对精度(b)温度精度(C)25露点精度图2.5 相对湿度、温度和露点的精度曲线湿度值输出:SHT-11可通过I2C 总线直接输出数字量湿度值,其相对湿度输出特性曲线如图3-2所示。从中可以看出,SHT11 的输出特性呈一定的非线性,为了补偿湿度传感器的非线性以获取准确数据,可按式(3-1)修正湿度值:= 式中,SORH 表示传感器相对湿度测量值,系数取值分别
24、如下:12位时:;8位时: 。3.2.2 温度值输出:SHT-11温度传感器的线性非常好,可用下列公式(3-2)将温度数字输出转换成实际温度值T : 式中,表示传感器温度测量值。当电源电压为5V,温度传感器的分辨率为14位时,;当温度传感器的分辨率为12位时,。相对湿度输出特性曲线如图2.6所示。图2.6 相对湿度输出特性曲线2.3.2 SHT-11的特性SHT-11的特点SHT-11传感器的特点如下:1)相对湿度和温度一体测量;2)精确露点测量;3)全量程标定,无需重新标定即可互换使用;4)超快响应时间;5)两线制数字接口(最简单的系统集成,较低的价格);6)超小尺寸(7.552.5mm);
25、7)高可靠性(工业CMOS工业);8)优化的长期稳定性;9)可完全浸没水中;10)基于请求式测量,因此低能耗;11)具有湿度传感器元件的自检测能力;12)传感器元件加热应用,亦可获得极高的精度和稳定性。2.3.3 SHT-11的引脚SHT-11的引脚图如图2.7所示。图2.7 SHT-11的引脚图引脚简介引脚1GND接地端;SHT-11的供电电压为0.45.5V,传感器上电后要等待11ms以越过“休眠”状态。在此期间无需发送任何指令,电源引脚(VDD,GND)之间可增加一个100uF的电容,用以去耦滤波。引脚2DATA双向串行数据线;SHT-11的串行接口,在传感器的读取及电源损耗方面都做了优
26、化处理。DATA三态门用于数据的读取。引脚3SCK串行时钟输入;用于微处理器与SHT-11之间的通讯同步。由于接口包含了完全静态逻辑,因而不存在最小SCK频率。引脚4VDD电源端,0.45.5V电源引脚58NC空管脚2.4 液晶显示器液晶显示器的分类方法有很多种,通常可按其显示方式分为段式、字符式和点阵式等4。本设计采用的是1602字符型液晶显示器,1602字符液晶显示模块是u、一种专门用于显示字母、数字、符号等点阵式LCD,分位上下2行,每行显示16个字符, 1602液晶显示器实物图如图2.8所示。图2.8液晶显示器实物图1602LCD分为标准的14Pin(无背光)或16Pin(带背光)两种
27、,是否带背光在应用中并无差别。各引脚说明如表2.9所示。表2.9 1602液晶显示器引脚说明编号符号引脚说明编号符号引脚说明1GND电源地9DB2数据2VCC电源正极10DB3数据3VO液晶显示偏压11DB4数据4RS数据/命令选择12DB5数据5R/W读/写选择13DB6数据6E使能信号14DB7数据7DB0数据15A背光源正极8DB1数据16K背光源负极表中的引脚解释说明如下:1).Pin1 GND位电源。2).Pin2 VCC接+5V。3).Pin3 VO为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过1个1千欧的电位器设定对比
28、度。4).Pin4 RS位寄存器选择端,高电平时选择数据寄存器,低电平时选择指令寄存器。5).Pin5 R/W为读/写信号线,高电平时进行读操作,低电平时进行写操作。6).Pin6 E为使能端,当E端由高电平跳变成低电平时,液晶显示器执行命令。7).Pin7-Pin14 DB0- DB7为8位双向数据线。8).Pin15 A位背光源正极。9).Pin16 K位背光源负极。本课题采用1602字符型LCD作为人际交流界面。LCD系统中的电路如图2.10所示。图2.10 LCD1602显示器驱动电路图3. 软件设计3.1 程序设计程序设计部分主要包括主程序、SHT-11初始化函数、温、湿度读取函数、
29、键盘扫描函数、液晶显示器显示函数、温、湿度处理函数以及电动机控制函数。SHT-11初始化函数完成对SHT-11的初始化;SHT-11温、湿度转换函数完成对环境温度的实时采集;温、湿度读取函数完成主机对温度传感器数据的读取及数据换算,键盘扫描函数则根据需要完成初值的加减设定;温、湿度处理函数对采集到的温度进行分析出理,为电动机转动提供依据4。主程序流程图如图3.1所示。图3.1 程序流程图3.2 用Keil C51编写程序Keil C51是美国Keil Software公司开发的51系列单片机C语言的软件开发系统,与单片机汇编语言相比,C语言在不仅语句简单灵活,而且编写的函数模块可移植性强,因而
30、易学易用,效率高。随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前使用较多的MCS-51系列单片机开发的软件。Keil C51软件不仅提供了丰富的库函数,而且它强大的集成开发调试工具为程序编辑调试带来便利,在开发大型软件时更能体现高级语言的优势。在使用时要先建立一个工程,然后建立一个C文件,注意文件名一定要后缀“.c”,再将文件添加到工程里面,最后编写程序进行调试。Keil C51的使用界面如图3.2所示。图3.2 Keil C51的使用界面3.3 用STC-ISP下载程序STC-ISP 是一款单片机下载编程烧录软件,是针
31、对STC系列单片机而设计的,可下载STC89系列、12C2052系列和12C5410等系列的STC单片机,使用简便,现已被广泛使用。程序下载之前单片机要断电,按下载键后再给单片机上电。STC-ISP使用 界面如图3.3所示。图3.3 STC-ISP使用界面4. 智能浇花系统的设计4.1 系统的设计本次设计的系统以单片机为控制核心,接通电源后初始化显示页面。用温、湿度传感器检测环境温、湿度,通过温、湿度传感器检测的温度与系统预设温、湿度值的比较。当检测到的花卉缺水时,电动机转动开始浇水,达到一定水量时停止浇水。具体流程图如图4.1所示。图4.1 主程序流程图4.2 单片机最小系统4.2.1 晶振
32、电路设计AT89C52单片机芯片内部设有一个反相放大器所构成的振荡器,XTAL1和XTAL2分别为振荡电路的输入端和输出端。在XTAL1和XTAL2引脚上外接定时元件,内部振荡电路就产生自激振荡。定时元件常常是用石英晶体和电容组成的并联谐振回路。系统选择了12MHz的晶振片,两个30pF的电容C7和C8。晶振电路如图4.2所示。图4.2 晶振电路4.2.2 复位电路本设计采用的按键复位电路,当要系统自动复位时,只需要按住S按键,此时电源Vcc经过电阻R1、R2分压,并且在RST端产生一个复位的高电平。同样,只要保证RST端保持高电压的时间大于两个机器周期时,系统自动能实现正常复位。复位电路如图
33、4.3所示:图4.3 AT89C52单片机的复位电路4.2.3 单片机系统整体电路设计单片机整体系统设计电路如图4.4所示:图4.4 单片机整体系统如图所示,AT89C52单片机的RST引脚连接复位电路,通过P2.4、P2.5、P2.6和P2.7引脚连接ULN2003最终连接电动机电路, XTAL1和XTAL2引脚连接晶振电路。对于LCD显示屏将D0D7通过排阻RESPACK8连接到单片机的P0.0P0.7上,E、R/W、RS与P2.0、P2.1、P2.2。4.3 按键消抖方法在单片机控制系统中可以通过键盘输入数据或命令。键盘是由一组常开的按键组成,每个按键都被赋予一个代码,称为键码。键码分为
34、编码键盘和非编码键盘。编码键盘是通过一个编码电路识别闭合键的键码,非编码键盘是通过软件来识别键码。由于非编码键盘的硬件电路简单,用户可以方便的改变键的数量,因此在单片机系统中应用广泛。非编码键盘可以分为独立式键盘和行列式键盘两种结构形式。行列式键盘是将I/O线的一部分作为行线,另一部分作为列线,按键设置在行线和列线的交叉点上,这种结构形式的键盘适用于键数较多的场合,但硬件电路结构较复杂。独立式非编码键盘中每一按键都独立地占用一条数据线,当一按键闭合时,相应的I/O线变为低电平。如图4.5所示为处于常开状态的独立式键盘,当按键闭合时I/O线为低电平,当按键为常态时I/O线为高电平。由于机械触点的
35、弹性作用,触点在闭合和弹开瞬间的电接触情况不稳定,造成电压信号的抖动,如图4.6所示。键的抖动时间一般为510ms。为了避免一次闭合引起的CPU多次处理,就要采用措施消除抖动。去抖动的方法有硬件去抖和软件去抖两种方法。硬件去抖一般采用双稳态去抖电路(如图4.7所示)。软件消抖方法是在CPU检测到有键按下是,延时1020ms,再次检测该键电平是否仍保持闭合状态,如果保持闭合状态,则确认有键按下,否则从头检测。图4.5 按键输入电路图4.6 电压抖动图4.7 双稳态去抖电路在本次设计中用到的键数较少,为了简化硬件电路,选用独立式非编码键盘,并采用软件消抖的方法来消除按键抖动。4.4 土壤温湿度部分
36、土壤温湿度检测与控制系统以单片机AT89C52为控制核心,通过软件设置达到具体动作实现。土壤的温湿度是由SHT-11数字温湿度传感器检测并送入单片机,通过单片机的I/O口把检测到的土壤温湿度值用LCD显示出来。同时,如果系统在智能浇水设置情况下,则该值与设定的浇水上下限值相比较,若低于下限值,则单片机发出一个控制信号控制电磁阀打开,开始浇水。若高于上限值时,单片机再发出一个控制信号控制电磁阀关闭,停止浇水。具体系统设计框图如图4.8所示。图4.8 自动浇水系统设计框图硬件电路设计:土壤温湿度检测与控制系统由AT89C52单片机、SHT-11数字温湿度传感器、LCD显示屏、按键、二极管、三极管与
37、电磁阀等组成。在第二章中已经介绍过数字温湿度传感器SHT11采用COMSens专利传感器技术将温度湿度传感器、A/D转换器、数字接口、校准数据存储器、标准I2C总线等电路全部集成在一个芯片内,因此在与单片机连接时不需要模/数转换器,只需要将DATA与SCK两个引脚连接到单片机的I/O口上即可。对于LCD显示屏将DB0DB7通过排阻RESPACK8连接到单片机的P0.0P0.7上,E、R/W、RS与P2.0、P2.1、P2.2,片选CS1、CS2与P2.3、P2.4连接。电路连接:具体的土壤温湿度检测控制系统硬件电路连接如图4.9所示。4.9 土壤温湿度检测电路在浇水控制电路中,当P1.0口输出
38、高电平时,三极管的发射结正偏,集电结反偏,处于放大状态。由单片机输出的电压经三极管放大后驱动电磁阀动作。在电路中二极管作保护,用以防止过电压。4.5 电动机部分温湿度传感器自动检测土壤温湿度,将采集的数据显示在液晶显示器上并传达给单片机,通过程序处理当温度25并且湿度45%电动机转动工作,完成只能浇花。电动机的工作流程图如图4.10所示。4.10 电动机的工作流程图硬件电路设计:单片机的输出电流太小,不能直接连接步进电机,需要加驱动电路。对于电流小于0.5A的步进电动机,可以采用ULN2003类的驱动芯片。本设计使用的是ULN2003.。ULN2003引脚图如图4.11所示。4.11 ULN2
39、003芯片引脚图本设计中由单片机的I/O口输出PWM脉冲,通过一个达林顿反向驱动器ULN2003驱动电动机。键盘控制设置温度,通过软件向单片机输入相应控制指令,由单片机通过P2.4、P2.5、P2.6和P2.7口输出与转速相应的PWM脉冲,经过ULN2003驱动电机控制电路,实现电机转速与启停的自动控制。当花卉需要浇水时,电动机转动;当花卉不需要浇水时,电动机停止。电动机实验电路如下图4.12所示。图 4.12 电动机实验电路5. 系统调试5.1 软件调试5.1.1 用Keil编译通过了编译以及连接,仅仅说明了源程序没有语法错误而已。源程序是否正确完成了之前已经设置好的功能,还需要通过仿真调试
40、才可以发现并解决。调试是单片机软件开发中最为重要的一个环节,Keil软件包内置了一个仿真CPU用来模拟执行程序,它可以在没有硬件和仿真器的情况下对程序进行调试。首先,打开Keil C51主程序,然后新建工程,本设计新建的工程名为wz,接下来,Keil环境要求我们为 Test 工程选择一个单片机型号;我选择 Atmel 公司的 89C52 “确定”后工程项目就算建立了。如图5.1所示。5.1 Keil新建工程的过程图然后点击“文件”中的“新建”,新建一个空白文档;这个空白文档就是让我们编写单片机程序的场所。在这里粘贴你之前编写的程序,并运行,调试有无错误。调试结果如下图5.2所示。5.2 程序调
41、试结果图最后,检查是否存在语法错误,经反复检查没有任何错误后汇编,生成51单片机可执行的.HEX文件,如图5.3所示。图 5.3 HEX文件生成界面5.1.2 烧录1. 安装完STC-isp烧录软件后,打开软件的安装目录双击STC-isp,烧录软件的启动图标。点击MCU type下拉框选择单片机的型号,我这里选择STC89C52,如图5.4所示。图5.4 烧录软件界面2.在软件界面的的组合框里点击“打开程序文件”按钮,选择需要烧录的烧录程序hex文件。然后打开的串口选择下拉列表框,选择串口。选择最高波特率为115200。如图5.5所示。图5.5 烧录具体事项选择图3. 在上述的组合框的单选项“
42、Double speed /双倍速”一栏中选择“6T/双倍速”。在“振荡放大器增益”一栏中选择“full gain”。在“下次冷启动P1.0/P1.1”一栏中选择“与下载无关”。在“内部扩展AUX-RAM”一栏中选择“允许访问”。在“下次下载用户应用程序时将数据Flash区一并擦除”一栏中选择“NO”。 设置完以上参数后用串口线把电脑的串口和烧录器连接起来,如果烧录器电源现在是打开的,要先关闭烧录器电源,然后点击“Download/下载”按钮,STC-isp烧录软件开始和STC单片机握手,此时打开烧录器的电源,烧录软件开始把烧录程序下载到STC单片机中如图5.6所示图5.6 烧录程序的过程5.
43、2 硬件调试5.2.1 裸测PCB电路板用万能表测经过腐蚀的电路板上的线路通断情况,看每条线路间有无短路现象,再按照原理图、PCB图,看在制板过程中有无连接错误。经检测表明,原理图、PCB线路图与电路板完全吻合。5.2.2 整机测试在上电之前,依据原理图和PCB图再次检查元件是否焊完、检测在焊接过程中有没有把相邻的线路短路(没有就进行下一步有就改正)。用万能表测试电源正、负是否短路。经检测无误后再上电,观看电源指示灯是否亮,有无闪烁现象,用万能表测试各输出电压是否正常。经测试电源指示灯正常指示,亮度正常无闪烁现象。电路板实物图如图5.7所示。图5.7 电路板实物图5.2.3 主要元件测试1.打
44、开电源开关,可以温、湿度正常显示温湿度,如图5.8所示。图5.8 液晶显示器显示温、湿度的界面2.此时温度20并且湿度45%电动机转动开始工作。如图5.9所示。图5.9 电动机工作图3.用手捏住温、湿度传感器,可以看出温、湿度逐渐变化,大约一分钟后温湿度传感器的示数变化很大,当湿度45%时电磁阀工作断开电动机,电动机停止转动。如图5.9所示。图5.9 电磁阀工作图总结本次设计的系统以单片机为控制核心,用温、湿度传感器检测环境温、湿度,通过温、湿度传感器检测的温度与系统预设温、湿度值的比较。当检测到的花卉缺水时,电动机转动开始浇水,达到一定水量时停止浇水。液晶显示器稳定的显示环境温、湿度和设置温、湿度。智能浇水系统是通过单片机程序设定浇水的上下限值并与温湿度采集电路送入单片机的土壤湿度值相比较,当传感器检测到的湿度值低于设定的下限值时,单片机输出一个信号,开始浇水,高于设定的上限值时再由单片机