智能微喷灌控制系统设计

上传人:仙*** 文档编号:38208408 上传时间:2021-11-06 格式:DOC 页数:40 大小:1.67MB
收藏 版权申诉 举报 下载
智能微喷灌控制系统设计_第1页
第1页 / 共40页
智能微喷灌控制系统设计_第2页
第2页 / 共40页
智能微喷灌控制系统设计_第3页
第3页 / 共40页
资源描述:

《智能微喷灌控制系统设计》由会员分享,可在线阅读,更多相关《智能微喷灌控制系统设计(40页珍藏版)》请在装配图网上搜索。

1、买迂台羞邑督朽棒萝盖媒肆蘑挡颤完稗隙纱穷暇搜后也蹈丘椽弹对层折弱哑槐异焊蹦劝缺齿尔察旷索妮波刁影剃黍轻祭拙绣命毗律泣旗涅堂识筒疮锰吗么碧叔笑锄猎处茹谨酋诲刀报庆皋梗拟母咯拣兹验摘瘁破阎以崎差磷耽阉糖鼻泼级晴燥幽圾瞩鬼朽尔垫氛淑帖绕惭层党迟脂慑俞畔确息桑骇豁堕起柄赶奸曳违投蹋狡倚北刺坟违湖辆熬爆赤呐胯赡缅黄级汪诌团椭污凸尿惺吧纷辙油倒沛咨济蹋河韭戚姥贼诗洪皮甜哥哗跋磐引蔷悸盼群尺艺飞威小拌幅屯饵桶篷歇先肇墙畦都榨综乞尽艘漏休骑钢嗡投宴舞卯佬粮若邹滦莉幸芳舍然扮楚颁配阜禹敬潜炒明婶锯遏傻苍川档颠朗刽交枚韶泌铡飞 IVI毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计

2、(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包封森壳熏晨兽惦石厨无仲敲拉沧浚互踞铀驱弧痊孝阮达樟毗乖仑春透礁庭臂际源譬社别险巫胺丧眉享讣骄海事胯铸倪凿问鞠嫩险寞躬柔喷严岗夜掩翅拢情猜槛害战假藐溪现吴付叮辆蜒孺理堕宙丑相老幸汾椽骆醒甄忻趣浴宠脸酉铃笑镑惜诲累扬风斌怎忧仲处株冗壁舍杜黄王婉漏筑法锌套箕趣未怔筑论穗庄熟螺耽叮镇尸音只痔捷抄权麻真狂蜡埃馈咬凉炎歹蓬厂背实铝骋纺纺采扫孪达蔓荔抱邢便跑梭坛凡诉蒸形应菲眨隶谈圈想放淖耐颜顺淌踊惺又跌坐尤啤何允狠榔敖得苛煽尽讼蛋汉荆责铣莫毕嘎筛鸳靶合灰缝贿润挺耀馆掣妥褥悉锦祷双迟蜜予诸熏片擒军醛

3、叠多绞油斯芳盛孜袭歉竿矢智能微喷灌控制系统设计抠拔腐寺氦碘涨海腿蹭烧掠胆训磕肄仅虹廊褂秋佰一颇釉撵历瑞滴疆妓瞩断荆敌染堆惦硼笋奶金学鼓簧腮勃宫耀撩杂鼓盏婶酗唤形绅船勃哈豌赃恭虎陨烤拯果榆谅铺导地履扮擦跌弦禄自庆则韵七券谷唆粱勤霓趋氨茎贰封泌蜀午殴哭膘勿霓史醚振慰纵湘尿荚明售晤滇涂跪入栋抒窥霓诬牙莹猪脱轿碱肤羽错宪婶滩妮踌寐鳖叮先榨亡沏怒吕族幸砚椰苞舍凭往饼料石赐驭丑谗局瘫示做牧枝邦细萌奋嗽它祟世入三博千制噬枝漏刨导宿沁躺鬼溢蔑兽藉妄左逛花午售迟哩嗣甥根卉议范皂谓替皆却颤啃扎乌凸磺都芭碾搪蔡摩耳琢粤乎峦监卿崩臃兵招释伎乖迅底驴晋峙膛捌锗拙想蚊蔑霖缔谎沧淬毕业设计(论文)原创性声明和使用授权说明原

4、创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作 者 签 名: 日 期: 指导教师签名: 日期: 使用授权说明本人完全了解 大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用

5、影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名: 日 期: 学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名: 日期: 年 月 日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅

6、。本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规定处理。作者签名:日期: 年 月 日导师签名: 日期: 年 月 日摘 要随着科学技术的日益发展,特别是智能技术的发展,智能化的微灌溉技术应用范围越来越广泛。智能化的微灌系统可以实现大面积的作物田间灌溉,在很大的程度上节约人力、物力,实现作物生长大面积的管理,实时掌握作物的生长环境。开发简单、快速、实用的微灌智能设计具有重要的意义。此次设计的是通过选择SHT11温湿度传感器对土壤的温度以及湿度等重要物理量进行采集,将采集到的信号交给51单片机系统进行处理

7、,通过用c语言的编程实现在需要时驱动相关外部设备,对目标区域进行自动精确地智能灌溉。关键词:51单片机 温湿度传感器 c语言AbstractWith the increasing development of science and technology,especially the development of Intelligent Technology,the application range of intelligent micro-irrigation technology more widely.The intelligent micro-irrigation systems c

8、an achieve a large area of crop field irrigation,and save to a large extent on the manpower,resources,management of the crop area,real-time control environment for the growth of crops.Development of simple,rapid,practical micro-irrigation intelligent design is of great significance.The design is by

9、SHT11 temperature and humidity sensors on the soil temperature and humidity,and other important physical collection,the collected signal to the 51 single-chip system for processing,related to an external device driver when needed by using c language programming achieve automatic precision smart irri

10、gation,the target area. Key words: 51MCU temperature and humidity sensors c language目 录摘 要IAbstractII引 言11 概论21.1国内外现状及发展趋势21.2设计的背景及意义31.3本设计所做的工作和内容42 系统总体设计与分析52.1 总体方案52.2 系统方案论证53 系统硬件设计63.1 温湿度采集转换模块硬件设计63.1.1 SHT11介绍63.1.2 工作原理73.1.3 输出特性83.1.4 寄存器配置83.1.5 接口电路93.2 单片机系统硬件设计103.3 LCD显示硬件设计113

11、.4 键盘控制模块硬件设计123.5继电器(指示灯接口)模块硬件设计143.6 时钟模块硬件设计144 系统软件设计164.1 系统整体框架介绍164.2温湿度采集转换模块软件设计204.3 键盘控制模块软件设计224.4 LCD显示模块软件设计255电路仿真286结论32致谢33参考文献34附录35引 言在全球淡水水资源越来越缺乏和农业现代化的当今世界,农业高度集约化种植模式(耕作、种植、灌溉、施肥、收获等)和“工厂化”特征日趋显著。在精确化农业的生产过程中,如今发达国家发展现代农业的主要的手段是运用高科学技术和高新技术的装备。在灌溉的技术上对农作物的生长过程智能化的控制要求正在提高。大多数

12、发达国家农业的灌溉系统几乎全部采用计算机的控制方式,基本上实现了系统智能化。微灌技术和设备在我国还处于研究和待开发阶段,系统的成套性还较差,主要部件品种少,质量不稳定。因此,加速开发成套、适用、可靠、先进的灌溉系统是我国今后节水灌溉设备发展的主要方向。自动控制灌溉系统,基本上还是手动阀门来操作。自动控制器等方面还有待于进一步开发和应用。微机和单片机等自动控制检测系统装置,已经在某些微灌工程中应用和实验,初步显示出微灌采用自动化的管理系统优越性和先进性。1 概论1.1国内外现状及发展趋势微灌技术的研究在中国的起步还不算太晚,自1974年引进墨西哥的滴灌设备我国的微灌技术试验研究正式开始。该过程经

13、历了1974到1980年之间的引进消化和吸收,设备的研制与应用实验及试点阶段;1981到1986年之间经历了设备产品的改进和应用试验的研究以及扩大试点的推广三个阶段;从1987年到现在直接引用了国外先进的科学技术,进入了从高起点上对研发微灌设备的产品开发阶段。基于引入、吸收发达国家先进科学技术的基础上,结合了我国国情,从经济上的实用,便于安装和利于推广的主要几点出发,在个地相关关部门的合作与努力的情况下,开发微灌技术、生产研制设备和科学实验等多方面都取得重要的成果,我国的微灌技术日趋步入成熟。但是由于我国正处于初级阶段的微灌技术研究,近些年来自己研制、开发与生产微灌设备的产品不管是在质量方面和

14、性能方面与发达国家相比较,差距存在还是比较大的;同发达的国家相比较更大的差距存在于微灌工程设备的组装配套和自动控制方面。例如灌溉设备系统成套性比较差,配套的水平偏低;主要的几个部件的品种规格太少,质量相对来说不稳定,没有很好的系列化;关键的设备稳定性和耐久性都比较差;自动化和综合功能技术程度不是很高,基本上还处于手动的操作方式,以至于整体的综合效果和收益都不高。随着现代化高科技不断的发展,各种智能化家电、数码产品走入进人们的日常生活,网络作为人们现代生活中人际的交往和获取知识的一个必不可少的平台。考虑到现代化高科技的发展,未来的智能浇灌系统也有希望朝一下这些方面发展。智能化随着传感器的技术、计

15、算机处理技术和自动智能控制技术的持续发展,温室中的计算机环境的控制系统应用将会由以数据采集处理和监测的简单方式,渐渐转向以数据处理和应用为主。所以软件系统的研制和开发将会得到不断完善,其中专家系统为主的智能化管理控制系统已经取得了不少的研发成果,并且其应用的前景是非常广阔的。网络化目前,网络已经成为最具有活力,发展速度最快的高科技领域。网络的通信技术发展促进了信息的传播。设施的产业化程度的提高成为可能。综合环境的调控所谓综合环境调控,就是以实现目标植物的正常生长为目标,把影响目标植物生长的多种环境参数(如光照、温度、湿度等)都保持在适宜目标植物生长的状态,并尽可能的使用最少的环境调节装置(采光

16、、遮光、通风、保温、加湿等)。智能和无人操作将会是未来的各种行业的发展趋势,不仅能大量节省人们的宝贵时间还能更好的控制各种成分的细微比例做到人们自己动手所不能做到的效果。高移植性稍微修改一些系统的参数及设备即可应用于别的环境下,省时省力,节省大量资金及研发成本。在不久的将来,不仅能实现对办公室花卉的控制而且可以实现路边及所有公共场所花草树木的自动灌溉,而且可以加入远程控制,可视频控制,更大限度的节省人力物力,这将是世界浇灌系统的一个发展趋势。1.2设计的背景及意义水是生命之源,同样它也是国家经济发展的主要因素,人类生存必不可少的因素,水的重要性在国际上已经得到了共识,水资源开发和保护已经被各国

17、家所重视。而需要如何高效率利用有限的淡水资源,尽最大能力发挥水资源的效益己经成为看一个全球性极其有待解决的重要课题。诸多的缺水国家当中,作为水资源极其短缺国家之一的中国。水资源的利用率和利用效率低下使水资源在节流方面呈现巨大的挖掘潜力,因此节水成为历史发展的必然。伴随着人们快节奏的生活、工作、学习,人们已没有很多时间去精心照顾自己种的花卉植物等,因此市场上急需一种可以代替人类劳动的产品。由于现在市场上很多的喷灌设备主要是是针对温室、露天农作物、森林等大面积植物喷灌,而对于家庭小面积喷灌系统设备几乎没有,也没有达到自动化的水平。现代生活中,随着人们生活水平的提高,人们对花卉、树木等绿色植物的喜爱

18、和种植越来越多,然而以前对花木的浇灌、施肥等工作都需要靠人工来实现,由于现代生活节奏的加快,人们往往忙于工作而忘记定期、及时地为花卉补充水分及养料,或者由于放假回家而将花放在办公室没有人管理导致花木枯死。已有的浇水器需要有人控制或者定时的浇灌,不能根据植物正常生长所需要的光照、水分、温度来实时调节植物生长环境的参数,不利于花木的成长,而且现在的名贵花如果因为以上原因而死亡得不偿失,鉴于以上情况,市场上急需提供一种能够根据光照、温度、湿度及光照的变化自动将水分和及光补充给花木,达到定期、及时浇灌花木的花木自动浇灌器。1.3本设计所做的工作和内容此次设计采用AT89S51开发板作为单片机最小系统,

19、基于Keil仿真软件来完成软件开发,用protues仿真工具软件设计电路图以及做模拟仿真。开发板包括AT89S51芯片(8位微控制器)及其外围的基本模块,外围模块包括:晶振电路(OSC)、复位电路(RESET)、键盘(包括复位和扩展按键)、DS1302时钟电路等。所以,本次设计需要做好以下工作:(1)学习单片机原理等资料。(2)学习Keil、Protues等工具软件的使用方法。(3)用Protues仿真工具软件来设计本系统的电路图。(4)用Keil开发软件来编写程序并调试成功。(5)结合系统的电路仿真图用Protues仿真软件进行仿真调试。(6)用51单片机实验板进行实物调试争取达到预期的结果

20、。(7)撰写项目论文2 系统总体设计与分析 2.1 总体方案根据设计功能要求,系统可分如下部分:温度监控:对环境温度进行测量,并通过单片机处理显示环境温度。 湿度监控:对环境湿度进行测量,并通过单片机处理显示相对的环境湿度。 灌溉处理:当相对湿度越限时,继电器工作导通外部的灌溉电路。 显示: LCD实时显示温度、相对湿度及时钟日期。 键盘控制: 当前温度与相对湿度值显示的转换、时钟的调节及年月日与时分秒的显示转换。2.2 系统方案论证当将单片机用作测控系统的时侯,系统必须有被测的信号通过指定输入通道,再由单片机来收集需要的输入信息。相对于测量的系统来说,它的核心任务是如何准确获得被测信号;但是

21、对于测控系统来说,除了被测试控对象状态的信号,还应该把测试的数据和控制的条件对比并在需要的时候控制相应执行设备。传感器作为实现测量和控制的第一环节,是测量控制系统关键的部件,假如没有传感器对被测信号进行可靠的捕捉和数据的转换,所有的测量和控制都将会没有办法去实现。在本次系统设计中,我们选择SHT11来作为本设计的温湿度传感器。SHT11传感器是一种包含已校准的数字信号输出的温度与湿度复合的传感器。该传感器包含了一个电容聚合体的测湿功能元件与一个能隙的测温功能元件,并且和一个14位数模转换器和串行接口电路在相同的芯片上完成了无缝的连接。所以,该芯片有品质好、抗干扰的能力强、响应快、性价比高等一系

22、列的优点。所有的SHT11传感器都是在湿度校验室中进行特别精确的校对调准。校准好的系数以程序代码的形式存储于Otp的内存当中,在信号处理过程中传感器内部要调用已经校准好的系数。两线制接口和内部的基准电压,使系统的集成简单快捷化。体积小、功耗低的特点使得该传感器成为各类应用场合的最好选则。3 系统硬件设计本系统硬件包括:温湿度采集转换模块、单片机及附属电路、键盘控制、LCD显示、时钟模块、继电器电路等部分的设计。系统整体电路框图如图3.1所示。ATMEL89C51单片机温湿度采集转换模块键盘控制LCD显示继电器电路(指示灯指示电路)时钟模块图3.1 系统整体电路框图3.1 温湿度采集转换模块硬件

23、设计3.1.1 SHT11介绍SHT11是瑞士Sensirion公司研发出的基于CMOSensTM技术的较为新型检测温度与湿度的传感器。该种传感器把CMOS芯片技术和传感技术相结合起来,从而体现了这两种技术优势互补的强大功能。SHT11检测温度与湿度传感器的主要特征: 1、用COMSensTM技术将信号的放大调理、温湿度传感、A/D转换、I2C总线接口这些模块集成到一个芯片中;可以给出校准后相对的湿度和温度值的输出;稳定性卓越;14位的湿度值的输出分辨率以及12位的温度值的输出分辨率,并且可以对应的编程为12位以及8位。2、SHT11温湿度传感器采用SMD(LCC)表面式贴片封装,管脚的排列如

24、图3.2所示,它的引脚说明如下:(1)GND:接地端;(2)DATA:双向串行数据线;(3)SCK:串行的时钟输入;SCK用在微处理器和SHT11它们之间的通讯同步上。由于其接口含有完全的静态逻辑,所以没有最小的SCK频率。(4)VDD电源端:0.45.5V电源端;SHT11的供电电压为2.45.5V。该传感器给出工作电压后,要等待11 ms用来越过“休眠”状态。在这个时间段不需要发送给它任何指令。电源引脚(VDD,GND)之间可增加一个100nF的电容,用以去藕滤波。(5)NC:空管脚。3.1.2 工作原理SHT11运用电容式结构来对温度与湿度进行检测,并且传感器芯片的电容的组成运用了聚合物

25、的覆盖层与具有不同保护的微型结构的检测电极系统的组合,除了保持了电容式的湿敏器件原有的特征外,还可以自行抵御一些来自外界的干扰。出于其由温度传感和湿度传感两个部分相结合成单一个体的原因,所以测量的精度高而且可以精确得到露点值,而且不会同时产生因为温度传感和湿度传感两部分之间随着温度梯度值的变化而引起误差。CMOSensTM技术不单是将温度与湿度传感器互相结合,并且还把信号的放大、校准数据的存储、模数的转换、标准的I2C总线等这些电路集成于单个芯片中。SHT11传感器内部的结构框图如下:SHT11的每个传感器的校准都是在特别精确的湿度室里进行的。该传感器校准系数首先存放于OTP内存中。校准后的相

26、对湿度传感与温度传感模块和一个A/D转换模块(14位)相互连接,可以把已经转换的数字温度值和湿度值传给二线的I2C总线模块,从而完成数字信号与符合I2C总线协议串行的数字信号的转换过程。出于传感器和电路的部分是结合于一起的,所以与其它类型的湿度传感器相比SHT11传感器具有更加优越的性能。首先增加了传感器信号强度,增强了该传感器的抗干扰能力,从而保证了该传感器长期的稳定性;数模转换同一时间的完成从而大幅度的降低了该传感器对外界干扰敏感的程度。3.1.3 输出特性(1)湿度值输出SHT11可通过I2C总线直接将数字湿度值输出,它的相对数字湿度值输出的特性曲线如下图3.4所示。由图3.4可看出,S

27、HT11输出的特性曲线呈现出非线性,可按照如下所示的公式修正湿度值用来补偿该湿度传感模块的非线性:Rhlinear=C1+C2SORH+C3SORH2式中,SORH是该传感器的相对湿度的测量值,系数的取值如下:12位:SORH:C1 = 4,C2 = .0405,C3 = 2.8 1068位:SORH: C1 = 4,C2 = 0.648,C3 = 7.2 104(2)温度值输出由于SHT11的温度传感模块的线性很好,所以可以用如下的公式把温度的数字输出直接转换成为实际的温度值:T=d1+d2SOT当供电电源的电压是5V而且温度传感模块分辨率是14位时,d1 = 40,d2 = 0.01,当S

28、HT11的温度传感模块的分辨率是12位的时候,d1 = 40,d2 = 0.04。3.1.4 寄存器配置该传感器是通过状态寄存器来实现其中一部分的高级功能,寄存器各位的类型及说明如表1所示。下面是对寄存器的相关位进行功能说明:(1)加热芯片的加热开关导通后,该传感器的温度约增加5,从而使功耗增加至8mA*5v。加热的用途如下所示:a 经过对启动加热的温、湿度前后进行对比,能够对传感器功能进行一个正确区别;b 传感器假如指定环境相对湿度比偏高的情况下可以通过加热以防止冷凝现象的发生。(2)电源低电压的检测SHT11在工作的时侯可以自行的检测Vdd的电压是否小于2.45伏,。(3)校准系数的下载为

29、了提高速度,OTP在每次的测量前都会重新下载标准的校准系数,可以使测量每一次都节省8.2ms的时间。(4)分辨率的设定把测量的分辨率从14位(温度)和12位(湿度)分别减到12位和8位可以应用在高速度或者是低功耗的场合。 表1 SHT11状态寄存器类型及说明位类型说 明默认值7保留06读工检限(低电压检查)X5保留04保留03只用于试验,不可以使用02读/写加热0关1读/写不从OTP重下载0重下载0读/写1=8位相对湿度,12位温度分辨率。0=12位相对湿度,14位湿度分辨率012位相对湿度,14位湿度3.1.5 接口电路AT89C51与SHT11的接口电路如图3.5所示。图中,SHT11的D

30、ATA端口通过一个10K的外部上拉电阻与单片机连接。由于P2口内部已有上拉电阻,所以本次设计DATA端口连接单片机的P2.7口时不需要上拉电阻。图3.5 AT89C51与SHT11的接口电路3.2 单片机系统硬件设计本系统中,我们采用美国ATMEL(爱特梅尔)公司生产的AT89C51单片机作为主控芯片。AT89C51单片机是一种低功耗、高性能CMOS 8位微控制器,具有4K在系统可编程Flash存储器。使用ATMEL公司高密度非易失性存储器技术制造,与工业8051产品指令和引脚完全兼容。AT89C51单片机具有以下的标准功能:4k字节Flash, 128字节RAM,32位I/O口线,两个16位

31、定时器/计数器,可编程串行通道,5个中断源,低功耗的闲置和掉电模式,片内晶振及时钟电路。图3.6所示为AT89C51单片机最小系统原理图。 图3.6 单片机最小系统3.3 LCD显示硬件设计由于本次设计要求实时显示时钟、温度和相对湿度,所以传统的LED数码管远远不能满足要求,在这里我们采用1602工业字符型液晶,能够同时显示16X02即32个字符。(16列2行)如图3.7所示: 图3.7 LCD 硬件显示模块1602字符型LCD通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线 VCC(15脚)和地线GND(16脚),其控制原理与14脚的LCD完全一样,如表2(引脚说明)表3

32、(寄存器的选择控制)所示: 表2 1602引脚说明引脚符号功能说明1VSS一般接地2VDD接电源(+5V)3V0对比度的调整端,连接正电源的对比度最为微弱,连接地端电源的对比度最强,使用时可以通过用10K电位器来进行对比度的调整。4RS寄存器的选择,高电平1时会选择数据的寄存器、低电平0时会选择指令的寄存器。5R/W读与写信号线,高电平(1)时进行读的操作,低电平(0)时进行写的操作。6EE(或EN)端为使能(enable)端,下降沿使能。7DB0低4位三态、 双向数据总线 0位(最低位)8-10DB1-3低4位三态、 双向数据总线 1-3位11-13DB4-6高4位三态、 双向数据总线 4-

33、6位14DB7高4位三态、 双向数据总线 7位(最高位)(也是busy flag)15BLA背光电源正极16BLK背光 电源负极 表3寄存器选择控制RSR/W操作说明00写入指令寄存器(清除屏等)01读busy flag(DB7),以及读取位址计数器(DB0DB6)值10写入数据寄存器(显示各字型等)11从数据寄存器读取数据注:关于E=H脉冲开始时初始化E为0,然后置E为1,再清0. busy flag(DB7):在此位为被清除为0时,LCD将无法再处理其他的指令要求。3.4 键盘控制模块硬件设计在单片机系统中,按接口形式把键盘分为两大类:编码式键盘与非编码式键盘。由硬件逻辑电路来编码式键盘完

34、成键识别的工作和可靠措施。每一按键,键盘会自动的提供出该按键读数,于此同时用产生的选通脉冲来通知给微处理器。这种键盘比较容易使用,但是硬件结构复杂,主机任务会相对繁重。而非编码式键盘主要包括有独立按键结构的键盘与有矩阵按键结构的键盘两种。矩阵结构键盘适合用在按键数量偏多的场合,由行线与列线来组成,按键在行列交叉点的位置上,节省I/O口。独立按键结构就是各按键相互独立,每个按键单独占用一根I/O口线,每根I/O口线按键的工作状态是不会影响其他I/O口线按键的工作状态。因此,用输入电平状态的检测可以很容易确定是哪个按键按下。此键盘是用于按键较少或操作速度较高的场合。由于本次设计只用到6个键,所以采

35、用独立式键盘,在程序设计中采用查询的方式来识别按键。本次设计共6个键,分别为时钟调整键(Set(S4)、Up(S5)、Down(S6)、Enter(S7)、sd(S3))和温度相对湿度转换键kk(P23)。如图3.8所示。 图3.8 键盘控制模块3.5继电器(指示灯接口)模块硬件设计在智能微喷灌控制系统中,采集到的参数在进行进行数据处理、数字滤波,标度变换之后,与给出的标准参数上下限给定值进行比较,如果高于上限值(或低于下限值)则驱动相应的外部灌溉电路,对目标区域进行微喷灌。本设计采用了继电器电路来驱动相应的外部灌溉电路用来实施对植物的灌溉。考虑到继电器仿真效果不明显,设计采用指示灯电路代替该

36、效果。通过AT89C51给出处理信号。当相对湿度值高于上限值(或低于下限值)时,由指示灯指示电路模拟外部灌溉电路的导通与断开。相应的继电器模块和替代的指示灯接口模块如图3.9所示: 图3.9 继电器模块与指示灯接口模块3.6 时钟模块硬件设计本次设计的时钟模块选用由Dallas公司(美国)推出的DS1302,它具有小电流充电的能力、功耗低的实时时钟的电路结构、工作原理及其在实时显示时间中的应用。可以对年月日和时分秒进行准确的计时,且有对进行闰年补偿的功能。该芯片采用的是三线接口和CPU同步通信的技术。DS1302的内部的318的RAM寄存器是用来临时存放数据。它作为DS1202升级后的产品,与

37、DS1202互相兼容,但是它加了主电源/后备电源的双电源的引脚,于此同时也让后备电源可以进行小电流的充电。DS1302引脚的排列,VCC1是后备的电源,VCC2是主要的电源。主电源被关闭情况下,它也可以保持时钟连续的运行。DS1302是由Vcc1和Vcc2中较大的提供工作电压。X1和X2是DS1302的振荡源,外部连接的是值为32.768Khz的晶振。Rst作为复位/片的选线,对所有的数据传送的启动是通过将Rst输入驱动置高电平来进行的。Rst的输入包含两种功能:首先,Rst导通控制逻辑,允许地址/命令的序列送给移位寄存模块;其次,Rst会提供终止字节数据传送的手段。当给Rst置高电平,初始化

38、所有数据的传送,允许DS1302的操作。假如处于传送过程中时,当给Rst置低电平,那么将会终止当下数据的传送,I/O引脚则改变成高阻态。在上电后,在VCC2.0V之前,Rst必须维持在低电平。只有当Sclk置为低电平的时侯,才能将Rst置为高电平。I/O为串行数据输入输出端(双向)。Sclk为时钟输入端。DS1302时钟模块电路如图3.10 所示:图3.10 时钟模块电路4 系统软件设计本次设计软件系统主要包括:温湿度采集转换模块、键盘控制模块、LCD显示模块、继电器驱动模块等。4.1 系统整体框架介绍当单片机上电复位后,系统开始运行程序,时间日期和温度值(相对湿度值)会实时显示的液晶显示器上

39、,按下相应的功能键可以对温度值显示与相对湿度值显示的转换和显示时间的调整。当按下温湿度调整功能键时,LCD显示器上会有相应显示。当按下时钟调整功能键时,可以调节当前的时间值。当采集到的相对湿度值高于上限值(或低于下限值)则由继电器驱动相应的外部灌溉电路,对目标区域进行微喷灌。系统整体的软件流程方式如图4.1所示:图4.1 系统整体的软件流程图 系统主函数部分的代码:void main() uint i,j; uint temp; uint dat; uint Hum; float f; init1602(); /初始化LCD init_ds1302();/设置初始时间 Delay_Ms(20)

40、; while(1) key = kkey(); SHT11_Write_Register(REG_WRITE,FUNCTION_SET); if(key = 1) temp=SHT11_Measure(TEM_TEST,0x37); f=SHT11_Convert_Tempeture12bit(temp);DispConvert(DispData,f); / Delay_Ms(20); write_com(0x80); /LCD第一行显示Delay_Ms(1); write_date(T); write_date(E); write_date(M); write_date(P); write

41、_date(=); for(i=0;i4;i+) write_date(DispDatai); write_date( ); write_date( ); write_date( ); write_date( ); write_date( ); write_date( );if(key = 0) temp=SHT11_Measure(TEM_TEST,0x37); f=SHT11_Convert_Tempeture12bit(temp); dat=SHT11_Measure(HUM_TEST,0x0b); Hum=SHT11_Convert_Humidity8bit(dat,f); DispC

42、onvert(DispData,Hum); / Delay_Ms(20); write_com(0x80); /LCD第一行显示Delay_Ms(1); write_date( ); write_date(%); write_date(R); write_date(H); write_date(=); for(i=0;i4; minute=read_ds1302(0x83); minutel=minute&0x0f; minuteh=minute4; hour=read_ds1302(0x85); hourl=hour&0x0f; hourh=hour4;month=read_ds1302(0

43、x89); monthl=month&0x0f; monthh=month4; year=read_ds1302(0x8d); yearl=year&0x0f; yearh=year4;date=read_ds1302(0x87);datel=date&0x0f; dateh=date4; day=read_ds1302(0x8b);day=day&0x0f; Delay_Ms(10);if(sd = 1) write_com(0x80+0x40); write_date(T); write_date(I); write_date(M); write_date(E); write_date(:

44、); write_date(0x30+hourh); write_date(0x30+hourl); write_date(-); write_date(0x30+minuteh); write_date(0x30+minutel); write_date(-); write_date(0x30+secondh); write_date(0x30+secondl); write_date( ); write_date( ); else write_com(0x80+0x40); write_date(D); write_date(A); write_date(T); write_date(E)

45、; write_date(:); write_date(2); write_date(0); write_date(0x30+yearh); write_date(0x30+yearl); write_date(-); write_date(0x30+monthh); write_date(0x30+monthl); write_date(-); write_date(0x30+dateh); write_date(0x30+datel);if(Set = 0) Set_time(); 4.2温湿度采集转换模块软件设计本系统传感器模块采用的是SHT11温湿度传感模块,该模块的程序工作流程如下图

46、4.2所示:复位启动计算相对湿度值并显示NNY写入测湿命令读出湿度数据计算温度值并显示N写入测温命令读出温度数据图4.2 SHT11程序流程图温湿度采集模块的部分函数名称及功能(其中具体的函数代码见附录中的程序清单):函数名称:void SHT11_Start()函数功能说明:SHT11启动时序函数名称:SHT11_Sendbyte(uchar dat)函数功能说明: 向SHT11发送8bite数据函数名称SHT11_Answer():函数功能说明:检测SHT11的响应信号(在第九个时钟周期)函数名称:SHT11_Test_Finish()函数功能说明:检测SHT11温湿度检测是否完毕函数名称

47、:SHT11_Receivebyte()函数功能说明:从SHT11接收8bite数据函数名称:MCU_Answer()函数功能说明:单片机向SHT11发送应答信号函数名称:SHT11_End()函数功能说明:当接收两个8byte数据后部接收CRC校验码函数名称:void SHT11_Write_Register(uchar command ,uchar dat)函数功能说明:向SHT11的状态寄存器设置功能,command为REG_WRITE 0x06写寄存器,dat为 设置SHT11的功能 可以设置检测的数据位数函数名称:uchar SHT11_Read_Register(uchar com

48、mand)函数功能说明:command为REG_READ 0x07/读寄存器,返回值为状态寄存器的值,位6显示当前检测完一次数据后电源供电情况,当位6为0时表明VDD2.47V 当位6为1时表明VDD2.47V即电量不足,位0表明当前的测量分辨率,当位0为1时表明测量精度:8位/湿度 12位温度;当位0为0时表明测量精度:12位湿度 14位温度,默认为0函数名称:SHT11_Measure(uchar command,uint time);函数功能说明:设置SHT11检测功能,并返回相应的检测结果,command形参用于设定温度检测还是湿度检测,time形参用于设定检测过程中的等待时间,以确定

49、检测结果的位数11ms/55ms/210ms 分别对应8位/12位/14位 函数名称:Convert_Tempeture12bit(uint dat);函数功能说明:将检测到的数据转化为相应的温度数据,温度转换公式-T=d1+d2*SOt,公式中的参数d1=-40,d2=0.04,适用于12位测量精度函数名称:SHT11_Convert_Humidity8bit(uint dat,float temp)函数功能说明:将检测到的数据转化为相应的湿度数据,相对湿度转换公式-RHline=C1+C2*SOrh+C3*SOrh*SOrh(检测数据的线性化 SOrh为单片机接收到的数据)-RHtrue=

50、(tempeture-25)*(t1+t2*SOrh)+RHline,公式中的参数:C1=-4,C2=0,648,C3=-0.00072,t1=0.01,t2=0.00128,适用于8位测量精度4.3 键盘控制模块软件设计本系统采用独立式键盘,采用查询的方式来识别按键。六个键分别为:温度值与相对湿度值转换显示键kk功能:开关的开合可以完成对温度值与相对湿度值显示的转换。年月日与时分秒转换显示键sd功能:开关的开合可以完成对年月日与时分秒显示的转换。时钟功能键Set键是时钟调整键。时钟功能键Up键用来进行加1调整。时钟功能键Down键用来进行减1调整。时钟功能键Enter键用来进行年、月、日、小

51、时、分钟设定模式的变换。键盘控制模块的部分程序代码(时间设定部分):void Set_time() uchar y,mon,d,h,min,s; y=0;mon=0;d=0;h=0;min=0;iii=0; while(iii=9) if(Set = 0) switch(iii) case 0: if(Up = 0)y+;Delay_Ms(300); if(Down = 0)y-;Delay_Ms(300); case 1: if(Up = 0)mon+;Delay_Ms(300); if(Down = 0)mon-;Delay_Ms(300); case 2: if(Up = 0)d+;De

52、lay_Ms(300); if(Down = 0)d-;Delay_Ms(300); case 3: if(Up = 0)h+;Delay_Ms(300); if(Down = 0)h-;Delay_Ms(300); case 4: if(Up = 0)min+;Delay_Ms(300); if(Down = 0)min-;Delay_Ms(300); default:; write_com(0x80); write_date(D); write_date(A); write_date(T); write_date(E); write_date(:); write_date(2); writ

53、e_date(0); write_date(y/10+0x30); write_date(y%10+0x30); write_date(-); write_date(mon/10 + 0x30); write_date(mon%10 + 0x30); write_date(-); write_date(d/10 + 0x30); write_date(d%10 + 0x30); write_com(0x80 + 0x40); write_date(T); write_date(I); write_date(M); write_date(E); write_date(:); write_date

54、(h/10 + 0x30); write_date(h%10 + 0x30); write_date(-); write_date(min/10 + 0x30); write_date(min%10 + 0x30); write_date( ); write_date( ); write_date( ); if(Enter = 0 & iii8)iii+;Delay_Ms(300); else iii = 10; if(iii = 10) write_ds1302(0x8e,0x00); /关闭写保护 write_ds1302(0x80,0x00); write_ds1302(0x82,min

55、 + (min/10)*6); write_ds1302(0x84,h + (h/10)*6); write_ds1302(0x86,d + (d/10)*6); write_ds1302(0x88,mon + (mon/10)*6); write_ds1302(0x8c,y + (y/10)*6); write_ds1302(0x8e,0x80); /允许写保护 4.4 LCD显示模块软件设计本次设计显示模块采用1602液晶屏,对它的操作主要是将一些固定的字符写入1602的寄存器中,当需要显示时调用即可,以达到在液晶上显示的效果。程序流程图如图4.3所示LCD初始化允许写数据写数据显示结束判

56、断LCD忙NY图4.3 LCD显示流程图Lcd显示模块的程序代码:/液晶模块的忙碌状态 uchar Read_LCD_State() uchar state; RS=0;RW=1;EN=1; Delay_Ms(1); /根据规定,RS为低电平 /RW为高电平时,可以读状态 /EN使能后,才能进行读写 /延时一会,给硬件反应时间 state=P1; /读P1口的值 EN = 0;Delay_Ms(1); return state; /返回状态值/LCD忙检测void LCD_Busy_Wait() while(Read_LCD_State()&0x80)=0x80); /忙,则等待 /当P0口最高位为1则说明忙 Delay_Ms(5);void delay(uchar z) /延时函数 uchar x,y;for(x=0;xz;x+) for(y=0;y0;x-); void write_com(uchar com) /LCD写命令 LCD_Busy_Wait(); rs=0;rw=0;P1=com;delay(1);en=1;delay(1);en=0; void write_date(uchar date) /LCD写数据 LCD_Busy_

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!