• 497.41 KB
  • 2022-04-22 11:28:04 发布

毕业设计(论文)-基于单片机的阳台花卉自动养护系统.doc

  • 43页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'摘要本次设计的盆花自动养护系统经过对土壤温度,湿度与光照的检测,从而控制电磁阀,步进电机,窗户的开关来达到花卉生长所需要的条件。土壤温湿度的检测与控制部分包括了土壤温湿度的检测和自动浇水系统。土壤温湿度的检测和显示以温湿度传感器为感应部件,将检测到的土壤温湿度值送入AT89C52单片机,再由其控制电磁阀工作。自动浇水系统智能浇水部分是通过单片机程序设定浇水的上下限值与送入单片机的土壤湿度值相比较,当低于下限值时,单片机输出一个信号控制电磁阀打开,开始浇水,高于上限值时再由单片机输出一个信号控制电磁阀关闭,停止浇水;当光照较强时,由单片机控制电机将窗帘拉下,遮挡阳光。温度较高时,打开窗户进行散热。本文为阳台自动养花进行了初步探索和实验,取得了一些对开发设计新产品有益的数据和经验。关键词:AT89C51单片机温湿度传感器光照传感器C52程序数字电路42 ABSTRACTThedesignofautomaticmaintenancesystemisbasedonpotsoiltemperature,humidityandlightdetection.Itcancontroltheelectromagneticvalve,stepmotorandthewindowswitchtoachieveflowerswhorequireconditions.Soiltemperatureandhumiditymeasurementandcontrolofpartsofthetemperatureandhumidityincludestestandautomaticwatersystem.Soiltemperatureandhumidityinthedetectiontakethetemperatureandhumiditysensorforinductivecomponents.DetectsoiltemperatureandhumidityvaluetosinglechipmicrocomputerAT89C52,thenitcontroltheelectromagneticvalveworking.Automaticwateringwatersystemintelligencepartcomparesthelimitthatmicrocontrollerprogramsetupforthewater.Whenitlowerthelimit,SCMoutputsaopensignalelectromagneticvalvecontrol,thenstartingwatering.Whenitishigherthantheupperlimitvalue,thesinglechipmicrocomputeroutputasignalcontrolelectromagneticvalve,closeingandstopingwater;Whenlightisstronger,thesinglechipmicrocomputercontrolmotorswillpullthecurtainandshadefromthesun.Ifhighertemperature,openthewindowtocool.Thisarticleforthebalconytobeautomaticflowerswerediscussed,makingsomeusefuldataandexperiencetodevelopthenewproducts.Keywords:AT89C52,microcontrollertemperatureandhumiditysensor,clockchipDS1302,C51program,digitalcircuit42 目录第一章绪论........................................................61.1选题的目的与意义.............................................................................................61.2自动浇花器的诞生背景及国内外发展现状...........................61.3本论文的主要研究内容......................................................................................8第二章系统的总体设计............................................................................................92.1应用场合与工作环境..........................................................................................92.2系统预期功能与技术指标................................................................................102.3系统设计总体方案.............................................................................................102.4系统的工作原理..................................................................................................11第三章系统的硬件设计..............................................123.1单片机控制系统设计...........................................................................................123.1.1单片机的选择.............................................123.1.2AT89S52简介..............................................123.1.3存储器的配置.............................................163.1.4时钟电路和复位电路的设计.................................163.2数据采集电路的设计..........................................................................................173.3太阳能电池板充电电路.......................................。。233.4输出控制电路的设计第四章软件系统的设计...............................................314.1总体的设计思想....................................................................................................314.2传感器控制模块的设计........................................................................................32第五章结论.........................................................345.1总结........................................................................................................................355.2展望........................................................................................................................36附表..............................................................................................................................3742 第一章绪论1.1选题的目的和意义随着现代社会的进步,人民的生活水平越来越好。在家里养盆花能够陶冶情操,使生活多姿多彩。而且,盆花通过光合作用能吸收二氧化碳,净化空气,在有花草的地方空气中阴离子聚积较多,所以空气也会特别清新,另外,有许多花木还可吸收空气中的有害气体,因此,如今许多的人喜爱养盆花。盆花浇水能否能做到适时适量,对养花成败非常关键。但是,生活中人们经常会有无暇顾及的时候,例如出差、旅游等。花草生长问题大部分是由花儿浇灌问题引起;好不容易种植几个月的花草,如果浇水不及时,会长势不好,美化家园的花草几乎都成了“鸡肋”;如果不种植了,家中没有绿色的衬托,感觉会没有生机;保留吧,花草长得不够旺盛,会影响家庭的装饰效果。虽然现在市面上有卖自动浇水器的,但价格十分的昂贵不说,并且大多都只能设定一个定时浇水的时间,不能做到给盆花适时适量浇水。较经济的盆花缺水报警器可以提醒人们及时的给盆花浇水,可是它只能报警,浇水还得需要人们亲自动手,无法解决出差等出现的问题。当家里没人时,即使报警也会无人浇水,就起不到任何作用了。因此,我想通过设计一种集盆花土壤湿度检测,温度检测,光照检测以及自动浇水于一体的盆花自动浇水系统。让盆花在人们无暇照顾时也能得到及时的浇灌。1.2自动浇花器的诞生背景及国内外发展现状自动浇花器是随着人们生活水平的提高和生活节奏的加快而诞生的一种园艺用品。它把微喷的概念用于家庭盆花浇灌中,通过一定的改进,达到了给盆花合理自动浇水的目的。早在多年以前,国外就已经开始普及电子类自动浇花器,国内使用的多数是从国外进口的,虽然价格昂贵,但质量比较可靠。不过这不太适用于国内,现在国内比较流行的是用玻璃制作的自动浇花器。这种类型的浇花器大多数在我国山西和浙江一带加工生产,价格比较低廉,但实用性没有电子类自动浇花器好。目前,随着国内居民消费水平和生活质量的不断提高,居家园艺市场非常火爆,可是由于生活节奏的加快,种花容易养花难的问题也暴露出来了,而养花最重要的问题就是适量浇水问题。研究表明,花草80%以上的死亡是由于浇水不及时引起42 的,因此国内的商家已经看到了这种市场的需求潜力。目前这类产品的厂家主要集中在广东,上海,浙江一带,所出售的自动浇花器分为以下几类:⑴电子类自动浇花器电子类自动浇花器也叫时控喷淋装置,系统的主要构成为:主机(控制器)、主管(可以是花园管,或者是4/7mm的微喷淋管)、分水接头(6通、5通、4通、3通、分水器)、副管(3/5mm)、喷淋管(旋转喷头、折射雾化喷头)等。电子类自动浇花器由于电源的不同,分为交流电自动浇花器和电池自动浇花器。控制器的一般性能包括:电磁阀的控制;智能时控电路•微电脑芯片的控制;适用的电源为AC220V/50HZ;最适宜的水压0.3-0.6Mpa;待机功率(4VA,浇水时<12VA);可控制连续作业的时间是1分钟至168个小时;能每天自动完成十次以上浇水作业,能每天、隔天、隔多天自动循环进行浇水;每天计时的误差小于正负3秒;电器的适应环境温度为-10~50℃;相对湿度<90%RH。⑵玻璃、陶瓷类自动浇花器玻璃、陶瓷类自动浇花器也叫自动渗水装置,它是由本身材质的物理结构构成,根据器具的物理渗水原理,完成自动浇灌。由于自动浇水器内部存水,自身形成一定压力,当遇到干燥的土壤时,水会自上而下的流出,当土壤湿润之后,就会形成一个堵塞压力,将导致水流速度变慢,甚至停止。器具工艺的不同,效果也会不一样。当然,土壤疏松情况也会决定水流速度。目前,由于传感器与单片机技术的迅速发展,其应用逐渐从工业、军事等领域渗透到其他领域,已经与人们的日常生活息息相关。而且,智能家居的概念也越来越受人们的青睐,因此,单片机控制的电子类自动浇花器会有很好的发展前景。随着现代高科技的发展,各种智能家电与数码产品已走进人们的生活,网络成为人们在现代生活中人际交往和获取知识不可或缺的平台。鉴于高科技的迅速发展,未来自动浇水控制系统也有望朝智能化、网络化、综合环境调控和高移植性方面发展。综合环境调控综合环境调节,是以实现花卉的正常生长为目标,让影响花卉生长的多种环境参数(如光照、湿度、温度等)都处于适宜花卉生长的状态,并要尽可量使用最少量的环境调节装置(遮光、采光、通风、加温、保温、施用C02等)。智能无人操作将是未来各种行业的发展趋势,因为这不仅能大量节省人们的宝贵时间,而且还能更好的控制各种成分的细微比例,达到人们自己动手所不能做到的效果。高移植性42 高移植性,是指修改系统的参数及设备后,即可应用于其他的的环境下,省时省力,节省大量资金及研发成本。在不久的将来,科技发展不仅可以实现对阳台花卉的自动控制,而且能够实现其他公共场所花草树木的自动灌溉,甚至可以加入视频控制,远程控制,以便可以更大限度的节省人力物力,这将成为浇灌系统未来的发展趋势。1.3毕业设计所采用的研究方法和手段本次毕业设计是设计一种由单片机控制的自动浇水装置,可实现阳台盆花自动浇水的系统。该系统可通过土壤的温湿度进行监控,对作物进行适时、适量的浇水。其核心是单片机和温湿度传感器以及控制执行电路构成。主要研究土壤湿度与浇水量之间的关系、室内温度和光照及浇灌控制技术硬件、软件编程各个部分。控制部分,单片机选用AT89C52单片机;数据采集部分,温度传感器选用DS18B20温度传感器,湿度传感器采用线性输出湿度检测模块,光照传感器LM324比较器。DS18B20采用COMSens专利传感器技术将温度传感器、A/D转换器、校准数据存储器、标准I2C、数字接口、总线等电路全部集成在一个芯片内。土壤湿度传感器可将检测到的土壤温湿度模拟量进行放大,然后转换成数字量输入单片机,通过单片机内的中断服务程序,判断是否要给盆花浇水。若需浇水时,则单片机发出浇水信号,经放大驱动设备,开启电磁阀进行浇水;若不需浇水,则进行下一次循环检测。温度与光照也是经数据采集部分,传递给控制部分,也就是单片机,然后驱动执行机构进行调节。42 第二章系统总体设计2.1应用场合和工作环境该单片片机应用系统主要应用于家庭阳台或办公室,价格低廉,而且操作方便。主要面向喜爱花卉,但没有时间管理的人群。其工作环境温度为0~40°C。2.2系统的预期功能和技术指标2.2.1课题研究预期功能现实生活中很多花卉的生长条件需要湿度、温度和光照保持在一定的范围内,超出或者低于这个范围将对花卉的生长产生不利影响。该单片机测控系统对花卉生长环境因子进行实时信息数据采集、处理,而后单片机输出命令,控制执行机构,实现对环境温度、湿度和光照强度的测控,达到花卉生长所需要的条件,并且有省时省工,节水节能的效果。具体功能如下:1、实现花卉按需灌溉功能。按照花卉对水分的需求,开启和关闭灌溉系统,实现智能控制。具有成本低,结构简单,操作方便等优点。2、通过传感器,对花卉生长的土壤湿度、环境温度和光照强度进行检测,依据设定的植物生长要求所需的湿度、温度和光照强度的上下限值,由单片机来控制电磁阀、开关窗户和窗帘,从而调节湿度、温度和光照。室内温度高于设定上限值时,自动打开窗户进行自然降温;达到要求值时,则自动关闭。3、土壤湿度是室内环境中的重要因子。当土壤含水量过低,已不能满足花卉生长最低需求时,就打开电磁阀进行灌溉;当湿度满足要求时,关闭电磁阀。4、光照强度控制因子由于考虑到生产成本问题,本系统不足之处是没有设计人工增光设备。只考虑到夏天光照强度高于设定上限值时,通过关闭窗帘,来降低光照。2.2.2系统技术指标系统技术指标(夏天)要求具体见表2-1所示,其控制范围也可以根据具体作物的生长需要来设定,%RH(RelativeHumidity)为相对百分数,其中硬件成本单个制作会比批量生产大很多,因此尽量选取批量生产的硬件。表2-1系统技术指标控制参数土壤湿度温度光照强度LX太阳能电池板硬件总成本42 %RH控制范围60~8020~303~5万尺寸112mm*65mm*4mm,开路6V,短路电流150MA50~702.3系统设计总体方案2.3.1系统测控原理在自动控制技术方面,有诸如开环、闭环反馈控制,自适应控制,模糊控制,神经网络控制等现代控制技术。其中,模糊控制技术虽然当前应用最广泛,但一般用于有上、下位机的单片机控制系统。因此,本系统仍采用经典的闭环控制技术,系统控制原理逻辑框图,见图2-2所示:电磁阀、电动机、步进电机温度湿度光照花卉参数AT89S52给定值温度湿度光照传感器图2-2闭环控制逻辑原理框图2.3.2系统总体设计(1)本文针对客观需要,设计了一套湿度、温度和光照信息采集与控制系统,确保花卉在生长的过程中有最适宜的生长环境。整个测控系统,包括传感器、控制器和执行机构三部分构成。整个系统的硬件结构,如图所示:稳压滤波太阳能电池板电池充电集成电路放大电路湿度传感器继电器电磁阀温度传感器单片机AT89S52光照传感器42 (2)硬件电路中,控制器以AT89S52单片机为核心,系统输入由土壤水分传感器、温度传感器和光照传感器及传感器信号处理电路组成,输出执行机构由继电器、执行器构成。(3)系统软件用C语言作为编程语言,采用模块式结构设计。2.4系统的工作原理在系统工作中,利用太阳能给电池充电,电池为整个系统提供电能,但电池输出要经过稳压模块,防止电压出现较大变化。首先,传感器对湿度、温度及光照进行信息采集,转换成电压信号,即转换为0-1数字信号后送入单片机中,与设定的所需要控制的湿度、温度、光照值进行比较,根据单片机AT89S52中设置的参数,输出相应温度、湿度、光照值对应的被控对象电机和电磁阀的值,带动执行机构作相应的运动,不断接近单片机中的设置值。温度过高时,单片机通过控制直流电机驱动器打开窗户,进行自然散热;温度适合时,则关闭窗户。当土壤湿度较低时,单片机通过继电器控制电磁阀进行浇水,浇水到湿度适中时,关闭电磁阀。光照检测电路,将光照强度转换成电压信号,输入单片机,当光照过强时,单片机控制关闭窗帘,光照适合时,打开窗帘。温度、湿度和光照通过不断地检测与控制,使环境因子达到适宜花卉生长的动态平衡。42 第三章系统的硬件设计3.1单片机控制系统设计3.1.1单片机的选择由于电子技术的迅速发展,使得计算机在不断更新换代。其中单片机技术更是一枝独秀,在各个领域得到广泛应用,大大提高了自动化程度。单片机由于具有体积小,价格低廉,稳定可靠,功能强大,运算速度快,扩展容易,功耗低,抗干扰能力强,使用方便灵活,系列齐全等优点,被广泛应用于工业过程控制、智能仪器仪表、自动监测、家用电器等领域。单片机成为当今世界上应用面最广、销售量最大、价格最便宜的微型计算机产品。目前,世界上最具实力的单片机开发公司有:美国的Intel,ATMEL,德国的SiemenS,荷兰的PhilipS等。其中Intel公司一直处于领先地位,主要有MCS-51、MCS-46和MCS-96三大系列,其中MCS-51系列是在1980年推出的8位高档单片机,代表了单片机的未来发展方向,并迅速成为单片机领域中的主流产品。ATMEL公司的89系列Flash单片机用Intel80C51/52作为内核,采用可重复编程FlashROM技术,是一种源于8051,而又优于8051的单片机,已成为广大MCS-51用户进行电子设计与开发的优选单片机品种。根据客观情况与要求,本系统选用了ATMEL公司89系列标准型单片机AT89S52,其价格适中,功能强大,适合本系统的设计。3.1.2AT89S52简介AT89S52是一个高性能,低功耗CMOS8位单片机,片内含8KBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器。3.1.2.1单片机内部结构图与基本特征AT89S52内部结构图如图3-1所示:1、基本特征·与MCS-51单片机产品能够兼容·8K字节在系统,可编程Flash存储器,256字节RAM·可反复擦写至少1000次·三级加密程序存储器42 ·全静态操作:0Hz~33Hz·32个可编程I/O口线·八个中断源·三个16位定时器/计数器·全双工UART串行通道·低功耗空闲和掉电模式·掉电后中断可唤醒·双数据指针·看门狗定时器·掉电标识符42 图3-1AT89S52外部引脚3.1.2.2引脚配置及功能AT89S52单片机共有40个引脚,排列是CMOS工艺双列直插封装(DIP),其引脚配置见图3-1所示,各引脚的功能简述如下:1、主电源引脚VCC:电源端,+5V。GND:接地2、4个8位I/O端口:P0、P1、P2和P3P0口:PO口是一个8位漏级开路双向工I/0口,每个引脚能吸收8个TTL门电流。P1口:P1口为一个内部提供上拉电阻的8位双向I/0口,P1口缓冲器可接收和输出4个TTL门电流。P2口:P2口是一个内部提供上拉电阻的8位双向I/0口。P3口:P3口管脚是带内部上拉电阻的8位双向I/0口。当P3口写入“1”后,它们被内部上拉为高电平,用作输入电流使用。当外部下拉为低电平时,P3口将输出电流(ILL),这是由于上拉所致。P3口同时也可作为AT89S52的一些特殊功能口,如下表1所示:口管脚备选功能P3.0RXD串行输入口P3.1TXD并行输入口P3.2/INT0外部中断0P3.3/INT1外部中断1P3.4T0计时器0外部输入P3.5T1计时器1外部输入P3.6/外部数据存储器写选通P3.7/外部数据存储器读选通表1P3口的特殊功能3、控制信号引脚RST:复位输入。在振荡器器件复位时,要保持RST脚两个机器周期为高电平时间。42 ALE:低电平有效,当访问外部存储器时,地址锁存允许的输出电平用来锁存地址的低位字节。PSEN:低电平有效,外部程序存储器的选通信号。EA/V:EA处于低电平时,外部程序存储器(0000H-FFFH),不管是否有内部程序存储器。注意加密方式为1时,都将内部锁定为RESET;当EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。4、时间振荡电路XTAL1:反向振荡放大器的输入及其内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。3.1.3存储器的配置AT89系列单片机的存储器采用的数据存储器和程序存储器分开编址的,它们有各自的控制信号、寻址系统和特定功能。数据和程序存储器在物理和逻辑上均分为两个地址空间:外部存储空间和内部存储空间。由于本系统的代码程序不太大,AT89S521片内的8KBROM与闪速存储器256字节的RAM即可满足要求,所以无需扩展片外ROM跟RAM。3.1.4时钟电路与复位电路的设计1、时钟电路设计AT89S52单片机内部含有振荡器,可以作为CPU的时钟源。本系统时钟选用内部方式。AT89S52内部有一个高增益的反相放大器,通过XTAL1(输入端)、XTAL2(输出端)外接,作为反馈元件的片外石英晶体(或陶瓷谐振器)和电容C1、C2组成并联谐振电路后,便构成片内自激振荡器,从而利用它内部的振荡器产生时钟。连接方法见图3-2所示,其中晶体呈感性,其决定着振荡器的振荡频率;电容Cl,C2对有微调频率的作用。电路中的反馈元件选用石英晶体,电容Cl和C2均为22PF,晶体与电容的安装位置应尽量靠近单片机。42 图3-2时钟电路2、复位电路设计89系列单片机在启动时也需要复位,使CPU及系统各部件处于一定的初始状态,并从初始态开始工作。按下SW键,电源对电容充电,使RST端快速到达高电平;松开按键,电容向芯片内阻放电,RST恢复为低电平,从而使单片机迅速可靠复位,一般电阻R1选470Ω,电阻R2选8.2kΩ,电容选22uF。AT89S52的按键复位电路见图3-3,电路简单可靠。图3-3按键复位电路3.2太阳能电池板充电电路3.2.1充电芯片的选择CN3068是可以对单节可充电锂电池进行恒流/恒压充电的充电器电路。该器件内部包括功率晶体管,应用时不需要外部的电流检测电阻和阻流二极管。CN3068只需要极少的外围元器件,热调制电路可以在器件的功耗比较大或者环境温度比较高的时将芯片温度控制在安全范围内。内部固定的恒压充电电压为4.2V,也可以通过一个外部的电阻调节。充电电流通过一个外部电阻设置。当输入电压掉电时,CN3068自动进入低功耗的睡眠模式,此时电池的电流消耗小于3微安。其它功能包括输入电压过低锁存,自动再充电,电池温度监控以及充电状态/充电结束状态指示等功能。3.2.1.1详细描述42 CN3068是专门为一节锂电池而设计的线性充电器电路,利用芯片内部的功率晶体管对电池进行恒流和恒压充电。充电电流可以用外部电阻编程设定,最大持续充电电流可达500mA,不需要另加阻流二极管和电流检测电阻。CN3068包含两个漏极开路输出的状态指示输出端,充电状态指示端STAT2和充电结束指示输出端STAT1。芯片内部的功率管理电路在芯片的结温超过115℃时自动降低充电电流,这个功能可以使用户最大限度的利用芯片的功率处理能力,不用担心芯片过热而损坏芯片或者外部元器件。这样,用户在设计充电电流时,可以不用考虑最坏情况,而只是根据典型情况进行设计就可以了,因为在最坏情况下,CN3068会自动减小充电电流。当输入电压大于电源低电压检测阈值和电池端电压时,CN3068开始对电池充电,STAT2管脚输出低电平,表示充电正在进行。如果电池电压Kelvin检测输入端(FB)的电压低于3V,充电器用小电流对电池进行预充电。当电池电压Kelvin检测输入端(FB)的电压超过3V时,充电器采用恒流模式对电池充电,充电电流由IR管脚和GND之间的电阻RIR.确定。当电池电压Kelvin检测输入端(FB)的电压接近电池端调制电压时,充电电流逐渐减小,CN3068进入恒压充电模式。当充电电流减小到充电结束阈值时,充电周期结束,STAT2端输出高阻态,STAT1端输出低电平,表示充电周期结束,充电结束阈值是恒流充电电流的10%。如果要开始新的充电周期,只要将输入电压断电,然后再上电就可以了。当电池电压Kelvin检测输入端(FB)的电压降到再充电阈值以下时,自动开始新的充电周期。芯片内部的高精度的电压基准源,误差放大器和电阻分压网络确保电池端调制电压的误差在±1%以内,满足了电池的要求。当输入电压掉电或者输入电压低于电池电压时,充电器进入低功耗的睡眠模式,电池端消耗的电流小于3uA,从而增加了待机时间。CN3068的管脚排列如图3-4所示:CN306811FBTEMPIRSTAT2GNDSTAT1VCCBAT图3-4CN3068的管脚排列3.2.1.2CN3068特点:(1)输入电压范围:4.35V到6V(2)不需要外部阻流二极管和电流检测电阻(3)恒压充电电压4.2V,也可外接电阻调整恒压充电电压(4)可设置的持续恒流充电电流可达500mA(5)采用恒流/恒压/恒温模式充电,既可以使充电电流最大化,又可以防止芯片过热42 (6)电源电压掉电时自动进入低功耗的睡眠模式(7)充电状态和充电结束状态双指示输出(8)封装形式SOP8(9)无铅产品3.2.2稳压电路的选择稳压电源电路采用LM7805系列集成稳压器,可以输出正5V直流电压。C7、C8分别为输入端和输出端采用滤波电容,输出端接一个齐纳二极管进一步稳定输出电压。3.2.3过充保护电路为了防止把电池充坏,本系统还采用了简单自己设计的过冲保护电路,本电路还需以后的实验验证。在不发生过充时,由于二极管D1的阻隔三极管不导电。当充电电压升到5V左右时,三极管(2N3055)开始导通,它对电池进行分流,以防止过充。Q1应装在中等尺的散热板上。Q1选用低电压的齐纳管。太阳能电池板充电的电路图如图3-5所示:图3-5太阳能电池板充电的电路图电池正极的恒压充电电压为:Vbat=4.2+3.04×10-6×Rx其中,Vbat的单位是伏特Rx的单位是欧姆太阳能电池板采用尺寸112mm*65mm*4mm,开路6V,短路电流150MA42 。充电池采用四节镍镉电池。3.3数据采集电路的设计3.3.1传感器的选择3.3.1.1传感器基本概念传感器技术、计算机技术和通信计算机机技术构成了现代信息技术,迅速成为信息时代的三大支柱产业。后两者得到了迅速发展,但传感器技术却发展滞后。传感器技术的发展是衡量一个国家科技发展水平的重要标志。中华人民共和国国家标准(GB/T7665-1987传感器通用术语)规定了传感器的定义为:“能够感受规定的被测量并按照一定的规律转换成可用输出信号的器件或装置”,通常由转换元件和敏感元件组成。其中敏感元件是指传感器中能直接感受(或响应)被测量的部分,被测量一般是非电量;转换元件是指传感器中能将敏感元件感受(或响应)的被测量转换成适于测量或传输的电信号部分。传感器技术在我国的设施农业中已发挥着重要的作用,主要用于对环境参数的获取。根据检测的对象,可分为土壤环境和空气环境。前者包括土壤温度、土壤PH值、土壤含水量;后者包括温度、湿度、光照度、二氧化碳等。传感器的原理如图3-6所示:被测敏感元件接口电路转换元件量电信号辅助电源图3-6传感器的原理3.3.1.2温度传感器的选择温度是一个同人类的生活和工作息息相关的物理量,也是科学技术中最重要和常出现的物理量。常用的温度传感器有热敏电阻、集成温度传感器、热电偶、热电阻等。(1)热敏电阻:利用半导体电阻随温度变化而明显变化的特性制成的半导体测温元件。目前使用最多的是陶瓷热敏电阻。它的优点是:灵敏度高,稳定性好,工作温度范围大,体积小,过载能力强。它的不足之处是非线性,且互换性42 较差。(2)热电偶:利用物理学中金属热电效应制成的温度传感器。具有结构简单、互换性好的优点,是500℃-800℃温区的首选最优温度传感器。(3)PN结温度传感器:实质是利用晶体二极管、三极管的PN结电压随温度变化而变化的原理制成的温度传感器。具有线性度好、热惯性小、灵敏度高等优点,缺点是互换性差。(4)集成温度传感器:是将湿敏元件、偏置电路、放大电路及线形化电路集成在同一芯片上的测温元件。与其它传感器相比较,线性度和一致性较好,而且体积小,使用方便。据据实际情况,温室内温度变化范围为0℃-40℃,变化范围较小,并且变化速度较慢,因而传感器的反应速度不需要太高。通过分析比较上述几种温度传感器的性能与实际情况的联系,选择使用集成温度传感器DS18B20。它具有结构简单,不需要外接电路,故只需使用一根I/0数据线,就能既供电又传输数据;具有体积小,转换快,分辨率高等优点,被广泛应用于需测量和控制温度的领域。所测温度经P2.7口输入单片机,与设定温度进行比较。如温度大于给定温度时,控制步进电机,打开窗户;当温度低于设定温度时,控制步进电机,关闭窗户。DS18B20简介Dallas半导体公司研发的数字化温度传感器DS18B20成为世界上第一片支持“一线总线”接口的温度传感器。由于一线总线独特经济的特点,使用户能轻松地组建传感器网络,为构建测量系统引入了全新的概念。现在,新一代DS18B20体积更小、更灵活、更经济。DS18B20与DS1820一样,DS18B20也支持“一线总线接口”,测量温度范围是-55°C~+125°C,在-10°C~85°C范围内精度是±0.5°C。现场的温度直接以“一线总线”的数字方式进行传输,大大提高了系统的抗干扰性能。该测温类电子产品适用于恶劣环境下的现场温度测量,例如设备、环境控制或过程控制。与前代产品不同的是,新一代产品支持的电压范围为3v~5v,使系统设计更方便灵活,而且新一代产品不但体积更小,而且性价比越高。DS18B20的特征·独特的单线接口,一个端口引脚即可进行通讯·每个器件存储在内部存储器的序列号中有64位·多点分布式的测温应用简单方便·测温范围是-55°C~+125°C(-67~+257°F),在-10°C~85°C范围内的精度为±0.5°C·使用者选择为9~12位数字的温度计分辨率42 ·将温度转换为12位数字最多需75毫秒·用户可自定义非易失性温度报警装置·报警搜索命令能够识别并标志超过程序所限定温度(温度报警条件)的器件·应用包括温度控制、消费品、工业系统、温度计或任何热感测系统DS18B20同测温软件AD590相比较而言,其外围的硬件电路更加简单,它可通过一个单线接口接受或发送信息,也就是说仅需一条连接线即可与单片机连接,无需外部电源和AD转换电路,安装使用起来特别方便,节省了大量的成本。DS18B20的内部结构如图3-7所示:存储器和控制逻辑64位ROM和单线接口高速缓存存储器温度灵敏器件内部VDD低温触发器TL高温触发器TH电源探测配置寄存器8位CRC生成器图3-7DS18B20内部结构DS18B20的引脚如图所示:DALLASDS18B20GNDDQVCC图DS18B20外部引脚引脚说明:42 GND接地,VCC接电源,DQ是数据IO口。DS18B20构成的测温系统,只需要外接一个上拉电阻就能实现与单片机之间的通讯。简单的温度检测电路如图3-8所示:图3-8温度检测电路3.3.1.3湿度传感器的选择湿度是表征空气中所含水蒸气含量的物理量,常用相对湿度和绝对湿度来表示。影响植物生长的湿度用相对湿度来表示。准确快速采集花卉生长环境的湿度信息,对于植物生长环境是否为最佳状态极为重要。针对室内环境的具体情况,对湿度传感器应有以下的要求:可应用在线监测,容易实现自动化,有良好的精确度和灵敏度、量程宽,测湿的范围为0-100%RH,检测的寿命长,稳定性高,可靠性好,传感器输出湿度检测是线性的。土壤湿度是最重要和最常用的土壤信息,它能够科学地控制和调节土壤水分状况,进行合理的节水灌溉,实现科学用水。植物的生长环境一般要求土壤水分占土壤持水量的60%~80%最适宜。因此,准确迅速地测出土壤含水量,能够适时作出灌溉施肥决策或排水措施,使植物生长发育期内保持最适宜的土壤水分。目前,直接测定土壤水分的方法主要有烘干法、电容法、间接测量可用石膏电阻块、时域反射仪(TDR)、中子仪和张力计等。考虑到电路的复杂程度及成本问题,本系统可采用简单电路,控制土壤湿度保持在60%~80%之间。土壤水分检测电路是由两个三极管V1、V2及部分外围元件组成的。石墨电极的电阻随湿度变化而改变,土壤湿度变大时,其体电阻也随之增大,V1因其基极电位增高而截止,从而造成V2也截止,使其集电极的输出为低电平。当土壤含水量降低到规定值以下时,V1由于其基极电位降低而导通,于是V2也导通,从而V2集电极输出的是高电平,使单片机控制电磁阀打开,开始浇水;当土壤含水量达到规定值时,检测电路的V2管输出的高电平,由42 反向器U6反向后,输出低电平,经P2.5端输入单片机,从而控制电磁阀关闭。调节RES的阻值,能够控制土壤湿度的范围在60%-80%之间,具体的阻值经后期实验测定。土壤湿度传感器的工作原理,如图3-9所示:图3-9湿度传感器电路组成3.3.1.4光照检测电路的选择花卉生长的需要光照。光照是植物制造营养物质的源泉,是进行光合作用的必要条件。没有光照或光照较弱时,花卉的生长发育就会受到明显的影响。准确快速地测出花卉生长环境的光照强度,才能及时做出调控,确保作物生长的光照环境状态最佳。光电传感器是在光电检测系统中,实现光电转换的重要器件。它是用光电元件作为转换器件的传感器,是把光信号(可见、红外及紫外光辐射)转变为电信号的元件。能够检测直接引起光量变化的各种非电量,如光强、气体成分、辐射测温等;也被用来检测转换成光量的其他各种非电量。光电式传感器具有性能可靠、非接触、响应快等优点。本系统设计的光照检测电路采用了LM324作为比较器,光电三极管作为感光器件。光照强度较弱时,光电三极管导通,使LM324输出低电平,单片机接受低电平信号后,从而控制步进电机工作,拉开窗帘,达到补充光照的目的。光照检测电路,如图3-10所示:42 图3-10光照检测电路3.4输出控制电路的设计自动控制系统,利用传感器对受控对象进行信息数据的实时采集转化,输入单片机的CPU进行处理,而后输出控制驱动执行机构或器件的命令,使其产生相应的动作,通过改变被控对象来调整被测参量,使被测参量始终处于所要求的范围之内。单片机完成在信息处理后,通过数据总线或I/O口线输出命令,控制被控对象。驱动受控设备时,一般采用数字量或模拟量两种驱动方式。数字量输出控制由于自身独特的优点,已广泛地被应用于单片机控制的测控系统中,特别是开关量输出控制和驱动。目前,由于单片机I/0口线和与CPU直接接口的CMOS电路或TTL电路的驱动能力很有限,还不足以驱动某些功率开关(如继电器、电磁开关、电机等)和大功率负载。另外,由于工作环境恶劣,控制对象及周围的电磁干扰现象严重,输出控制电路的设计主要是为了解决功率驱动和干扰防治问题。其逻辑原理框图,如图3-11所示:光耦单片机输出驱动开关量执行器件继电器图3-11输出通道控制示意图42 本系统的执行机构和器件只存在开启和关闭两种状态,采用了开关量输出控制,通过I/0口传递到受控对象,再通过输出功率放大电路后,驱动执行机构直接推动被控对象。由于单片机与功率放大电路容易受到电磁干扰,故系统采用光电耦合器、输出隔离等来抗电磁干扰。在整个的开关量输出电路中,动力设备在启停时的冲击干扰是最大的。开关量输出隔离是隔断执行机构与单片机之间的电气联系,防止外界电磁场、电位差等干扰因素造成执行器件的错误动作,甚至损坏智能仪器。目前,开关量输出驱动常用的隔离器件主要有:功率晶体管、继电器和光电耦合器等。功率晶体管主要应用于电流不需太大的电路中,常被用来驱动LED显示、微型继电器等。继电器是通过改变金属的触点位置,使定触点和动触点分开与闭合。继电器的优点是接触电阻小,高耐压、流过电流大,能够直接控制强电回路,可灵活安排外电路,且能够放大电流,是一种性能优良的开关量输出器件。光电耦合器件的输入信号与输出信号在电气上完全隔离,且隔离电压可达千伏以上,抗干扰能力强,可靠性高。除具有无触点,响应速度快,,寿命长,与TTL电路容易配合使用等优点外,兼有隔离驱动功能。不过,光电耦合的负载能力不如继电器强。本系统中受控对象都需要用到功率驱动元件,其中电磁阀5V/个、天窗电机10W/台。直流电磁阀由于具有使用方便,高效节能,高灵敏度,寿命长,可靠性高的优点,适用小型自动供水,被应用于系统中。天窗电机选用日本/THINK系列/直流马达/DC24V/小齿轮减速电机。前置隔离功放驱动电路采用继电器,其中继电器选用电磁式继电器,继电器两端为了保护驱动器,需加接泄流二极管回路。3.4.1硬件的抗干扰设计在阳台自动浇水控制系统中,系统可靠性是非常关键的。而且,整个系统的可靠性很大程度上取决于单片机硬件系统的可靠性。其中,供电系统抗干扰设计、过程通道抗干扰设计和印刷电路板抗干扰设计三方面决定了硬件抗干扰技术。单片机硬件系统的抗干扰能力虽然与装配质量和器件质量等因素都有关系,设计的可制造性(DEM)是最重要的。因此,本系统采取的抗干扰措施有以下几方面:1.采用抗干扰稳压电源抗干扰能力的稳压电源能够克服大部分干扰。采用电源滤波和通过低通滤波器接入电网可以提高稳压电源抗干扰能力。2.采用较好的接地系统。42 3.降低电路内部产生的干扰。在单片机主板边缘上,安置一圈电源线和地线,并在电源和地线间接入0.luF的电容,用来确保电源的稳定。4.在采用光电耦合器将数字信号隔离时,弱电与强电之间采用继电器隔离。5.印刷线路板的大小要适中,且分区要合理,按照单点接地、单点接电源的原则进行送电。在对印刷电路板进行抗干扰设计时,不仅要遵循抗干扰设计的原则,而且在印刷电路板的重要元器件电源处要配了退祸电容,使能有效去除高频成分的干扰。6、数字电路与模拟电路地线分开。数字电路与模拟电路地线的分开,有利于防止数字电路与模拟电路相互之间的干扰,使传感器数据采集误差减小,从而保证能够可靠采集模拟信号。3.4.2步进电机驱动电路利用ULN2003设计步进电机的驱动电路,由单片机端口P1.0,P1.1,P1.2,P1.3输出至ULN2003的IN1-IN4,电阻R是功率较大的电阻,用来增大驱动电流。电路需并联一个电容,用来吸收步进电机电感线圈产生的反向电动势,保护ULN2003驱动芯片。在此设计中,假设步进电机转64圈刚好可以关闭或拉开窗帘。步进电机的驱动电路,如图3-11:图3-11步进电机驱动电路3.4.3电磁阀控制电路电磁阀是利用电磁控制的工业设备,在控制系统中用来调整介质速度、流量和其他的参数。电磁阀有很多种类,电磁阀利用电磁效应进行控制,继电器控制42 是最主要的控制方式。电磁阀能够配合不同的电路,实现预期的控制,同时能够保证控制的灵活性和精度。根据实际情况的要求,该系统选用直流常闭电磁阀。电磁阀的控制电路主要包括NPN共集-共射复合管和继电器两大部分,当单片机P2.4端口输出高电平时,复合管导通,从而接通继电器,吸合开关,接通电磁阀,开始浇水。电磁阀控制电路原理,如图3-12所示:图3-12电磁阀控制电路3.4.4窗户控制电路本智能窗主要机械传动部分和自动控制系统组成。其中,机械传动部分要由窗框、窗扇、齿轮齿条等。自动控制系统主要包括AT89S52单片机组成的中央控制器,数据检测传感电路,窗驱动控制接口电路、窗驱动电路、步进电机等组成。其整体结构如图所示。42 图3-13整体结构图1-窗框2-窗扇3-窗扇24-护罩5-齿条6-电机固定座上7-滑槽块8-步进电机9-电机滑移螺栓10-固定螺母11-固定螺栓12-行程开关13-温度传感器窗框与窗扇的结构设计窗框结构设计此窗框是在常规窗框的基础上进行的更改设计,在窗框上下两侧各开一道滑移槽,使窗扇开关窗时在滑移槽内滑动实现关窗。同时为实现窗扇的旋转在滑移槽一侧各设计一转轴槽。其具体设计见下图。图3-13窗框结构图窗扇结构设计窗扇在常规窗扇的基础上进行部分改进,在窗扇一侧加一旋转轴,同时在旋转轴上安装滑动轮。具体设计见图2-3。42 图3-14窗扇结构图步进电机滑槽设计为实现窗扇的180°旋转,特别将电机卡座设计成可上下移动的形式。具体设计见图2-4滑移槽设计图.图3-15滑移槽设计图42 智能窗的传动任务是由动力源通过传动机构带动窗扇在滑移槽内来回滑动,实现窗户的自动开关,任务虽然简单,但精确度要求较高。由于齿轮齿条传动可靠准确,且机械效率高的优点,能够满足智能窗传动任务的要求,因此选用齿轮齿条传动。传动形式见下图所示:此窗框是在常规窗框的基础上,进行了更改设计,在窗框的上下两侧各开一道滑移槽,滑移槽内装上齿条,齿条滑动带动支撑杆实现自动开关窗,其实体见如上的窗户打开图。为实现窗户的自动开关要求,将电机卡座特别设计在窗户底框的中间部位,即两个齿条的交汇处,齿条上下夹住齿轮。当齿轮正转时,两个齿条相向运动,关闭窗户。当齿轮反转时,两个齿条背向运动,打开窗户。窗户控制电路主要由总线缓冲门74LS125、反向驱动器74LS06控制的4个光电隔离器和4个大功率场效应开关管IRF640(图中用Q1-Q4表示)组成。当单片机输出P2.2=1,P2.3=0时,因为74LS125中三态门2#是打开的,故光电隔离器U9此时发光并导通,光敏三极管从而输出高电平,导通大功率场效应管Q4。由于74LS1254#三态门输出为“0”,从而3#门的控制端也为“0”电平,打开3#三态门,使光电隔离器U6导通并发光,Q1导通。同理,可分析此时的Q2和Q3是关闭的。因此电流是从左至右流过直流电机的,从而电机正转,打开窗户。当单片机输出P2.2=0,P2.3=1时,锁存器74LS125中的2#与3#三态门打开,接通Q2和Q3,关闭Q1和Q4,电流由右向左流过电机,电机反转,关闭窗户。单片机输出P2.2=0,P2.3=0时,四个74LS06输出均为高电平,使得光电隔离器U6,U7,U8,U9均截止,电机停止转动。窗户电机采用日本/THINK系列/DC24V/直流马达/小齿轮减速电机,窗户控制的电路原理,如图3-13所示:42 图3-13窗户控制电路42 第四章软件系统的设计4.1总体设计思想本系统选用透明度高与适时性强的C语言作为编程语言。系统程序的开发采用的是模块化设计方法。在开发程序过程中,根据系统的功能要求,整个软件系统可划分成若干个功能相对独立且易于解决的模块。模块化程序结构清晰,可读性好,组合灵活,可靠性高,易于验证,便于版本升级和功能扩充,程序修改可在局部进行,还可以建立需频繁调用的子程序。系统软件的设计,主要包括如下程序模块:DS18B20温度采集、继电器控制、步进电机控制等。整个系统的主程序,如下图所示:开始系统初始化环境变量采集光照?土壤湿度合适?温度?YESYESYESNO过低?过高?过强?NONONOYESYESYES关闭窗帘打开窗户打开电磁阀打开窗帘关闭窗户图4-1主程序图42 系统在初始化后将对环境温度、土壤湿度、光照强度进行判断。当环境温度较高时,系统将打开窗户进行散热,当环境温度过低时,系统将关闭窗户;当土壤湿度较低时,系统对其进行灌溉加湿;当光照强度较弱时,系统打开窗帘,让阳光照射,过强时则关闭窗帘遮挡阳光。通过上述的整个流程控制,可以达到对室内环境有效的控制,使得花卉生长处于最佳状态。4.2传感器控制模块设计传感器将采集的模拟信号转换后,单片机进行处理分析并与预设的参数限值进行比较判断,满足一定的条件则执行相应的控制功能。程序流程如图4-2、图4-3、图4-4所示。开始温度是否低于下限值?YESNO温度高于上限值?关闭窗户打开窗户YESNO返回图4-2温度判定程序流程图42 开始土壤湿度达到上限值?土壤湿度低于下限值?NOYESYESNO灌溉停止灌溉返回图4-3土壤湿度判定程序流程图开始光照强度高于上限?光照低于下限?NOYESYESNO关闭窗帘打开窗帘返回图4-4光照强度判定程序流程图42 第五章结论5.1总结基于土壤湿度、环境温度与光照强度等多因子的阳台花卉自动养护控制系统,主要包括传感器电路、AT89S52为核心的控制电路和执行器件及机构三大部分,硬件电路简单可靠,不需A/D转换器,系统也不需外部扩展,经过实验调试,系统的预期功能要求基本可以实现。硬件电路采用的电路设计比较成熟,器件成本较低,扩干扰力强,电路稳定,性价比高。软件开发用C语言,采用模块式结构,系统功能易于扩展。5.2展望花卉生长的环境自动控制工程是一个综合型系统工程,涉及到电子、计算机和机械设计等行业,需要花费大量的精力。因本人水平与试验条件有限,本文中还有很多不足之处,今后要在以下方面进行进一步改进和研究:(1)要延长所用继电器的寿命,完善系统的结构设计。(2)国内传感器件水平较低,需在以后进行更高性能的改进。(3)尽可能全面考虑具体的花卉生理特点,不同花卉对环境的要求不同,即使同一植物在不同的生理阶段对于环境要求也不同。今后在设计中要考虑到这些问题,以便更具实用效果。(4)本系统鉴于成本与实际情况,没有充分考虑温度补偿,光照补偿等措施,在以后的设计中应该考虑到这方面的不足。(5)加大产品推广力度,提高社会效益与经济效益。42 致谢语本论文是在我的导师悉心指导和亲切关怀下完成的。他严谨的治学精神,严肃的科学态度,精益求精的工作作风,深深地激励着我。在撰写论文期间,导师对我的论文提出了许多宝贵建议,使我少走了许多弯路。在此谨向周老师致以诚挚的谢意和崇高的敬意。我还要感谢舍友们,正是由于你们的帮助,我才能克服一个一个的疑惑,直至顺利完成这次的毕业论文。在论文即将完成之际,我的心情非常激动,从开始进入课题到论文的顺利完成,有许多可敬的师长和同学给了我莫大的鼓励,在此请接受我最诚挚的谢意!最后,再次对关心帮助我的老师和同学,表示衷心的感谢!42 参考文献[1]潘新民,王燕芳微型计算机控制技术[M]电子工业出版社2009.[2]汤竞南,沈国琴51单片机C语言开发与实例[M]人民邮电出版社2008.[3]谭浩强C程序设计清华大学出版社[M]2006.[4]张银霞.单片机自动微灌控制器的研究设计与应用[D].2000.[5]张清华,叶尚一种香蕉滴灌智能控制器[J].节水灌溉,2002,(4):19一21.[6]毛慎建.智能化灌溉控制器[J].喷灌技术,1995,(2).[7]张兵.单片机模糊智能控制在灌溉中的应用[J].节水灌溉,2002,(6).[8]王家祯.传感器与变送器[M〕.北京:清华大学出版社,1996.[9]徐维样,刘旭敏.单片微型机原理及应用[M].大连理工大学出版社,1997.[10]赵佩华.单片机接口技术及应用[M].北京:机械工业出版社,2003.[11]吴义彬.继电器用户实用手册[J].国防工业出版社,1992.6.[12]吴良杰.喷灌的微机自动控制系统[J].林业机械与木工设备,1998,(l).[13]阳厚森.温棚土壤湿度自动控制节水喷灌技术[J].农机化研究,2005,(2).[14]朱克武.温室大棚自动控制系统的研究[J].农业网络信息,2005,(5).[15]冯同普.全自动喷灌系统的软件开发[J].河北水利水电技术,2002,(1).[16]吴水平温室自动喷灌控制系统设计与研究[D]湖南农业大学2008.[17]黄汉云.太阳能光伏发电应用原理[M].北京:化学工业出版,2009.[18]赵争鸣.太阳能光伏发电及其应用[M].北京:科学出版社,2005.[19]SealedLeadAcidHandbook[M]Panasonic,1998.42 42 42 42 附表//DS18B20的读写程序,数据脚P2.7//温度传感器18B20汇编程序,采用器件默认的12位转化//最大转化时间750微秒,显示温度-55到+125度,显示精度为0.1度/***************************************************/#include#include//_nop_();延时函数用#defineucharunsignedchar#defineuintunsignedintsbitDQ=P2^7;//温度输出sbitQ2=P2^2;sbitQ3=P2^3;sbitQ4=P2^4;sbitQ5=P2^5;sbitQ6=P2^6;uchardatatemp_data[2]={0x00,0x00};//读出温度暂放ucharcodeFFW[8]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09};//四相八拍正转编码ucharcodeREV[8]={0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01};//四相八拍反转编码uinttemp;/*****************11us延时函数*************************/voiddelay1(uintt){for(;t>0;t--);}/*****************250ms延时函数(开关窗户及窗帘使用)*************************/voidDelay2(){unsignedchara,b,c;for(a=0;a<250;a++)for(b=0;b<3;b++)for(c=0;c<220;c++);}/****************DS18B20复位函数************************/ow_reset(void){charpresence=1;while(presence){while(presence){DQ=1;_nop_();_nop_();//从高拉倒低42 DQ=0;delay1(50);//550usDQ=1;delay1(6);//66uspresence=DQ;//presence=0复位成功,继续下一步}delay1(45);//延时500uspresence=~DQ;}DQ=1;//拉高电平}/****************DS18B20写命令函数************************///向1-WIRE总线上写1个字节voidwrite_byte(ucharval){uchari;for(i=8;i>0;i--){DQ=1;_nop_();_nop_();//从高拉倒低DQ=0;_nop_();_nop_();_nop_();_nop_();//5usDQ=val&0x01;//最低位移出delay1(6);//66usval=val/2;//右移1位}DQ=1;delay1(1);}/****************DS18B20读1字节函数************************///从总线上取1个字节ucharread_byte(void){uchari;ucharvalue=0;for(i=8;i>0;i--){DQ=1;_nop_();_nop_();value>>=1;DQ=0;_nop_();_nop_();_nop_();_nop_();//4usDQ=1;_nop_();_nop_();_nop_();_nop_();//4usif(DQ)value|=0x80;delay1(6);//66us}42 DQ=1;return(value);}/****************读出温度函数************************/read_temp(){ow_reset();//总线复位delay1(200);write_byte(0xcc);//发命令write_byte(0x44);//发转换命令ow_reset();delay1(1);write_byte(0xcc);//发命令write_byte(0xbe);temp_data[0]=read_byte();//读温度值的第字节temp_data[1]=read_byte();//读温度值的高字节temp=temp_data[1];temp<<=8;temp=temp|temp_data[0];//两字节合成一个整型变量。returntemp;//返回温度值}/***************11.0592MHz时钟,延时约1ms*************************/voiddelay(uintt){uintk;while(t--){for(k=0;k<125;k++){}}}/******************步进电机正转***********************/voidmotor_ffw(){uchari;uintj;for(j=0;j<8;j++)//转64圈{for(i=0;i<8;i++)//一个周期转45度{P1=FFW[i];//取数据delay(2);//调节转速42 }}}/**********************步进电机反转*********************/voidmotor_rev(){uchari;uintj;for(j=0;j<8;j++)//转1×n圈{for(i=0;i<8;i++)//一个周期转45度{P1=REV[i];//取数据delay(2);//调节转速}}}main(){ucharr,d;read_temp();if(temp>30)//温度过高{Q2=1;Q3=0;//打开窗户for(d=0;d<80;d++)Delay2();Q2=0;Q3=0;//电机停止转动}elseif(temp<20)//温度过低{Q2=0;Q3=1;//关闭窗户for(d=0;d<80;d++)Delay2();Q2=0;Q3=0;//电机停止转动}elsedelay1(1);//温度适中42 if(Q5==0)//土壤湿度过低Q4=1;//打开电磁阀放水elseQ4=0;//关闭电磁阀delay1(1);if(Q6==0){for(r=0;r<64;r++)motor_ffw();//光照太强P1=0x0FFH}else{for(r=0;r<64;r++)motor_rev();//光照太弱P1=0x0FFH}}42'