版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大连东软信息学院本科毕业设计(论文)论文题目论文题目:基于单片机的智能浇花系统的设计与实现系所:电子工程系专业:电子信息工程(嵌入式系统工程方向)学生姓名:学生学号:1指导教师:导师职称:讲师完成日期:2014年5月2日a大连东软信息学院DalianNeusoftUniversityofInformation大连东软信息学院毕业设计(论文)摘要IV基于单片机的智能浇花系统的设计与实现摘要随着科学的不断发展和人们生活水平的不断进步,人们对于生活质量的要求也越来越高,花草养殖成为了家庭生活中的一部分,人们养殖花草的目的大多是为了陶冶情操和提高室内外的空气质量等等,但由于工作繁忙等原因,不能按时给花草浇水成为了花卉死亡的主要原因。本文利用AT89C51单片机设计了一种自动浇花控制系统,此系统可为人们解决因工作等原因无法按时为花卉浇水的问题,以便于花卉茁壮成长。本设计采用汇编语言进行编程,在LED液晶屏上实现小时,分,秒的显示;并利用单片机来实现计时,定时功能,同时通过4个按键开关来实现参数设置和调节功能、浇花间隔时间的设定、浇水持续时间的设定、单片机对电磁阀的自动控制。根据用户设定的时间顺利的完成浇花任务。关键词:单片机,控制,显示,电磁阀大连东软信息学院毕业设计(论文)AbstractDesignandimplementationoftheIntelligent
ControlSystemforWateringtheFlowers
basedonsinglechipmicrocomputerAbstractWiththecontinuousdevelopmentofscienceandthepeoplelifelevelofprogress,peoplefortherequirementsofthelifequalityismoreandmorerigorous,plantsbreedingbecomepartofthefamilylife.Thepurposesofpeoplebreedingplantsarefortheedifysentimentandimprovetheindoorandoutdoorairqualityandsoon.Becauseofthebusyjobsandotherfactors,theinabilitytowatertheflowersandplantsbecomethemaincauseofdeath.Inthispaper,AT89C51single-chipmicrocomputerdesignedakindofautomaticwateringtheflowerscontrolsystem.Thesystemcanworkforpeoplewhocannotwatertheflowersontime,sothattheflowerscangrowstrengthandhealthy.Thisdesignusestheassemblylanguagesprogramming,realizinghours,points,seconddisplayonLED;Andusingsinglechipcomputertorealizethetiming,timingfunction,andatthesametimethroughfourbuttonswitchestoachieveparametersettingandadjustmentfunction,thewatertheflowersoftheintervaltimeset,thedurationofwaterwiththechipset,solenoidvalvetobeautomaticcontrol.Accordingtouserssettingtimedonesmoothlythetaskofwateringtheflowers.Keywords:MCU,control,display,solenoidvalve大连东软信息学院毕业设计(论文)目录目录TOC\o"1-3"\u摘要 IAbstract II第1章绪论 11.1课题研究背景与意义 11.2课题研究内容与方法 11.3课题研究现状 2第2章关键技术介绍 42.1单片机介绍 42.2继电器的工作原理和特性 4第3章系统需求分析 53.1系统设计目标 53.2系统功能需求 53.2.1单片机最小系统 53.2.2显示模块 53.2.3电机驱动模块 53.2.4按键模块 63.2.5AD转换模块 63.3系统非功能需求 63.4系统开发环境 63.5系统可行性分析 6第4章系统设计 74.1系统设计指导原则 74.2体系结构设计 74.3硬件设计 74.3.1STC89C52单片机介绍 74.3.2单片机最小系统 94.3.3复位电路 94.3.4时钟电路 104.3.5AD转换模块 104.3.6显示模块 124.3.7水泵驱动模块 134.4软件设计 144.4.1主程序流程及相关说明 144.4.2输入模块 154.4.3AD转换程序 16第5章系统实现 185.1环境配置 185.2功能模块实现 195.2.1主函数实现 195.2.2LCD1602数据读取函数实现 205.2.3延迟函数实现 22第6章系统测试 246.1测试概述 246.2测试结果分析 24第7章结论 25参考文献 26致谢 27大连东软信息学院毕业设计(论文)-第1章绪论1.1课题研究背景与意义随着社会生活的进步,人们的生活质量越来越高。在家里养盆花可以陶冶情操、丰富生活。同时,盆花通过光合作用可吸收二氧化碳,净化室内空气,在有花木的地方空气中阴离子聚积较多,所以空气也特别清新,而且有许多花木还可吸收空气中的有害气体,因此,养盆花如今被许多的人所喜爱。盆花浇水量是否能做到适时适量,是养花成败的关键。但是,在生活中人们总是会有无暇顾及的时候,比如工作太忙或者出差、旅游等。盆花生产问题大部分是由于对花儿浇灌的错误时间引起的。盆花的长势主要的决定因素是水的控制。盆花的生长的茂盛也是家庭没好的装饰。虽然目前市面上有卖盆花自动浇水器的,但价格十分的昂贵,并且大多只能设定一个定时浇水的时间,很难做到给盆花适时适量浇水。也有较经济的盆花缺水报警器,可以提醒人们及时的给盆花浇水。可是这种报警器只能报警,浇水还是需要人们亲自动手。当家里无人时,即使报警也无人浇水,就起不到应有的作用了。因此,我想通过设计一种盆花土壤湿度检测,蓄水箱自动供水于一体的盆花自动浇水系统。让盆花在人们无暇照顾时也能得到及时的浇灌。1.2课题研究内容与方法本次毕业设计是设计一种单片机控制的自动浇水系统,实现室内盆花浇水的自动化系统。该系统可对土壤的湿度进行监控,并对作物进行适时、适量的浇水。其核心是单片机和湿度传感器以及浇水驱动电路构成的检测控制部分。软件选用C51语言编程。土壤湿度传感器可将检测到的土壤湿度模拟量放大转换成数字量通过单片机内程序控制精确的将湿度显示在LCD显示屏上,同时通过单片机程序判断是否要给盆花浇水,若需浇水,则单片机系统发出浇水信号,并经放大驱动设备,开启电磁阀进行浇水,若不需浇水,则进行下一次循环检测。自动浇花器要实现的具体任务:1、采用STC89C52单片机为主控芯片,外接土壤湿度传感器、AD转换芯片、水泵驱动芯片、水泵、1602液晶显示器、按键。2、使用土壤湿度传感器实时监测土壤湿度,通过AD转换芯片转成数字信号给单片机,单片机将湿度显示在显示器上。3、用户可通过按键自行调节湿度下限,当传感器监测的湿度值低于设定的湿度下限时,启动继电器,开启水泵,抽水浇花5S钟。4、因浇花后水分需要渗透一定时间,等待1分钟后,再次检测当前土壤湿度值是否低于设定下限,如果还低于下限,则启动水泵再次浇花5S钟,如果不低于下限,则不再浇花,等待下次再低于下限时浇花,依次循环。1.3课题研究现状微喷系统是近几年利用国内外先进技术组装的新型灌溉设施,主要是利用水流通过低压管道系统以一定速度从特制的喷头喷出,在空气中分散成细小的水滴,着落在花草植物、作物及周围的地面上,从而达到及时补充水分的目的。该系统具有用水量少、冲击力小的灌溉特性,适用于栽培密度大、植株柔软细嫩的植物。自动浇花器的诞生是随着人们生活水平的提高和生活节奏的加快而诞生的一种懒人园艺用品。它把微喷的概念应用于家庭盆花浇灌中,通过相应的改进,达到合理给盆花自动浇水的目的。早在很多年前,国外就已经开始普及,国内使用的电子类自动浇花器多数从国外进口的,价格昂贵,但质量比较可靠。不过这并不太适用于国内,目前国内外比较流行的是玻璃制作的自动浇花器。这种类型的浇花器多数在我国山西和浙江一带加工生产的,价格比较低廉,实用性没有电子类自动浇花器好。随着国内居民消费水平和生活质量的提高,居家园艺市场异常火爆,但是由于生活节奏加快,种花容易养花难的问题暴露出来,而养花最重要的问题就是浇水问题,研究表明花草80%以上的死亡由于浇水不及时引起,因此国内商家已经看到了这种需求潜力。目前这类小居家用品的厂家主要集中在广东,上海,浙江一带。现在市面上所出售的自动浇花器主要有以下几类:(1)电子类自动浇花器电子类自动浇花器又叫时控喷淋装置,系统构成为:主机(或者控制器)、主管(可以是花园管也可以是4/7mm的微喷淋管)、分水接头(3通、4通、5通、6通、分水器)、副管(3/5mm)喷淋管(雾化喷头、旋转喷头、折射雾化喷头等)。电子类自动浇花器根据电源的不同分为交流电自动浇花器和电池自动浇花器两种。控制器的一般性能有:电磁阀控制;智能时控电路•微电脑芯片控制;适用电源为AC220V/50HZ;最适宜水压0.3-0.6Mpa;待机功率(4VA,浇水时<12VA);可控制连续作业时间是1分钟至168个小时;可每天自动完成十次以上浇水作业,可每天、隔天、隔多天自动循环进行浇水,手动自动两用;每天计时误差小于正负3秒;电器适应环境温度为-10~50℃;相对湿度<90%RH。(2)玻璃、陶瓷类自动浇花器玻璃、陶瓷类自动浇花器又叫自动渗水装置,它由本身材质的物理结构构成,根据器具的物理渗水原理完成自动浇灌,当自动浇水器内部存水,自身形成一定的压力,当遇到干燥的土壤,水就会自上而下的流出,当土壤湿润以后,会形成一个堵塞压力,从而导致水流速度变慢或者停止。器具工艺不同,效果也不一样,当然也因土壤的疏松情况决定器具内水流的速度。当前传感器技术与单片机技术发展迅速,其应用逐步由工业、军事等领域向其他领域渗透,已经和我们的日常生活息息相关。而且智能家居概念也越来越受人们的推崇,因此,微电脑控制的电子类自动浇花系统有很好的发展前景。大连东软信息学院毕业设计(论文)第2章关键技术介绍2.1单片机介绍STC89C52系列带A/D转换的单片机的A/D转换口在(P1.7-P1.0),有8路10位高速A/D转换器,速度可达到250KHz(25万次/秒)。8路电压输入型A/D,可做单个按键检测、多个按键检测等。供给工作电压后进行复位,然后P1的I/O口为弱上拉,使用者可以通过编程设置把8路通道中的每一个设定为A/D转换模式,不用作A/D转换使用的I/O口可以仍旧作普通I/O口工作。STC89C52系列单片机ADC模块包括多通道选择开关、信号比较器、逐级比较寄存器、10位数模转换器、结果寄存器(ADC_RES及ADC_RESL)以及ADC_CONTR控制寄存器。STC89C52系列单片机的ADC模式是逐级比较型ADC。逐级比较型ADC由一个比较器模块和数/模转换器构成,经过逐级比较方式,由最高位(MSB)开始,依次地将每一个输入模拟电压与内部的数/模转换器输出进行比较计算,经过几次比较后,转换后得到的数字数据逐次贴近输入的模拟量对应值。逐级比较型A/D转换器不但速度迅速,而且功耗超低,性能卓越。2.2继电器的工作原理和特性继电器属于一种电子类的控制元件,它含有输入回路即控制系统和输出回路即被控制系统,生活中主要应用于自动控制系统中,它实际的理念就是用弱电流来控制强电流的一种“可控开关”。所以在电子电路中发挥着电路保护、自动调节、电动开关等作用。1.电磁感应继电器设计原理和功能特性电磁式继电器通常是由触点簧片、衔铁、线圈、铁芯等元件组成的。工作时在线圈两端加上适当的电压,就会有固定的电流流过线圈,这时候就会产生电磁感应,在电磁吸引力的作用下衔铁就可以克服弹簧的弯曲形变从而吸向铁芯这边,使得衔铁的动触点与常开触点接触。线圈两端的电压消失后,电磁场的吸引力也立即消失,衔铁就会顺着弹簧的弹性形变返回成原来的形状,重新让动触点和原来的常闭触点吸合。如此这样的吸合释放,就能够达到在电路中导通电流、切断电流的目的。继电器的常开端接触点和常闭端接触点可以通过以下方式区分:未通电时的继电器线圈是断开状态下的静触点,也称作“常开触点”;在接通状态下的静触点称作“常闭触点”。第3章系统需求分析3.1系统设计目标本设计利用STC89C52单片机设计了自动浇花器,利用土壤湿度传感器检测花卉(也可以用于蔬菜等)的湿度,采集的湿度通过AD转换传送到单片机芯片,单片机根据湿度控制是否浇水,如果需要浇水,单片机的一个引脚置高电平,给水泵驱动芯片信号,打开水泵抽水,实现自动浇水。设计还配有一块LCD1602液晶显示器,用于显示土壤湿度数值和设定用户湿度值。系统配有4个独立按键辅助设定湿度下限值。自动浇花器方框图如图1.1所示。AD转换电路AD转换电路(ADC0809)单片机的最小系统模块(STC89C52RC单片机、12MHZ晶振和复位电路)显示模块(LCD1602显示器)输入模块(独立按键)水泵驱动模块(ULN2003)图1.1自动浇花器总体设计框图3.2系统功能需求3.2.1单片机最小系统单片机系统是系统控制的核心,主要是控制系统的相应的各个相关传感器和功能模块。单片机最小系统的主要是由单片机、复位电路和时钟电路组成。单片机主要是存储程序和控制芯片,并判断传感器的信号,控制功能模块根据不同的条件,执行不同的动作。复位电路和时钟电路给单片机提供时钟复位信号,单片机在运行的过程中,在环境的影响,可能导致系统无法运行。需要复位电路提供复位信号,重启程序,保证系统重新运行。3.2.2显示模块显示模块主要的功能显示当前湿度、设置最低湿度进行浇水。本系统显示模块需要能够显示设置的参数的提示和最终结果显示。所以要采用LCD1602液晶显示屏,设置参数过程中,较为复杂,为了实现系统的市场化和大众化,采用LCD1602可以充分提示使用者完成设置过程。3.2.3电机驱动模块步进电机是系统执行动作的主要部分,实现系统功能的关键。它的动作直接影响到系统功能。步进电机是一款主要是在单片机在收到了雨水传感器的信号以后进行相应的动作。步进电机的优点是控制动作小,单片机系统大部分是进行比较精细的控制,所以步进电机是单片机进行机械控制的首选。由于单片机的工作电压和电流较小,为了保证系统的安全,采用驱动电路的方法进行驱动电机。3.2.4按键模块按键模块主要是设置系统参数,本系统的湿度最低参数可以设置的。通过按键的设置,就可以根据植物的类型就行浇水。3.2.5AD转换模块转换模块主要是将传感器的模拟信号,转换成单片机能够是别的饿数字信号。系统中采用的湿度传感器,得出的信号是模拟信号,这时候就需要AD转换器将模拟信号进行转换AD转换器。3.3系统非功能需求(1)性能本系统主要是实现自动浇花功能。系统在实现浇花功能的过程中,要保证系统的稳定和可靠性。主要表现在两个方面:第一是系统具有稳定性,系统在使用过中是针对所有室内养花的人们,根据他们的环境,保证在此环境中,系统不会出现死机等情况。第二是系统具有良好的人机交互界面,根据此类人的需求开发出一个可以调节浇花时间,浇水量和监控准确的系统。3.4系统开发环境硬件环境:450*2MHZ/40G/1024MB/40G/软件环境:WINDOWSXP/keil3.5系统可行性分析本系统具有可靠性高,采用市面最流行STC89C52单片机,使用最简单电路实现最复杂功能。电路越简单故障点越少,稳定性越高。具有性能价格比高,本设计电路简单减去不必要的成本,减去电路板设计过程中的过多冗余设计。其功能完备,操作简便,高度人性化。模块化设计,根据本系统是用于自动浇花的这一应用目的,系统尽量使用模块化设计,实现模块化积木式组合与拆分的功能,便于以后的升级换代,减少二次投资,可以满足家庭使用的重要性和复杂度以及使用对象对功能和价格的选择。第4章系统设计4.1系统设计指导原则本系统的设计理念是本着简单可靠实用的基本原则,力求该系统可以使直流电机的转速做到很好的控制,可以具体实现加速、减速等一系列的功能。该系统从设计上要求方便,从操作上可以更加的简单明了。从占用系统的资源上坚持做到最小。从细节上要求做到尽善尽美。从实现上要求做到准确并且快捷。从系统上要求做到安全可靠。一切从可靠实用的角度出发。力求要将此做成一套完美的自动浇花系统。4.2体系结构设计系统硬件部分由核心控制模块、按键输入模块、水泵驱动模块、显示模块、A/D转换电路组成,硬件系统总电路图如图2.1所示。核心控制模块由STC89C52RC芯片、复位电路、时钟组成;输入模块由4个独立按键组成;水泵驱动模块由ULN2003达林顿芯片组成,显示模块由LCD1602构成,湿度数据采集和A/D转换由ADC0809芯片完成。图4.1系统原理图4.3硬件设计4.3.1STC89C52单片机介绍STC89C52是一种功耗低、高性能CMOS8位的微控制器,具有8K的系统可编程Flash存储器。利用的是Atmel公司高密度非易失性存储器技术制造,和工业80C51产品指令和引脚屎完美兼容的。片上Flash可以允许程序存储器在系统中可编程,亦适用于常规的编程器。在单芯片上,拥有灵活的8位CPU和在系统可编程Flash,使得STC89C52为众多数嵌入式控制的应用系统提供高灵活、超有效的解决方案。STC89C52具有以下标准功能:8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。STC89C52采用40引脚的双列直插封装(DIP方式)。主电源引脚Vcc和Vss,Vcc(40脚):接+5V电压;Vss(20脚):接地。外接晶体引脚XTAL1和XTAL2STC89C52的引脚图如图4.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口:为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在地址是1即高电平的情况下,它利用内部上拉的特点,它对外部八位地址数据存储器进行读写,P2口输出特殊功能寄存器的内容。P2口在编程和校验是接受的是高八位的地址和控制信号。XTAL1是接外部晶体中的一个引脚。在单片机的内部,它是构成片内振荡器的反相放大器的输入端。当外部振荡器被采用时,该引脚立刻接收振荡器的信号,内部时钟发生器的输入端被接入此信号中。XTAL2接外部晶体的另一个引脚。根据单片机的内部,它是上述振荡器所指的反相放大器的输出端。采用的是外部振荡器时,此引脚应是悬浮而不连接。选用12MHz频率的晶体,允许输入的脉冲频率为500kHz。电容的大小范围为20pF~40pF。具体的电路连接如图5.1所示。4.3.2单片机最小系统单片机是整个系统的核心,控制着整个系统的运行,单片机最小系统由晶振电路、复位电路组成,如图2.6所示。图4.2单片机最小系统原理图4.3.3复位电路单片机的置位和复位,都是为了把电路初始化到一个确定的状态,一般来说,单片机复位电路作用是初始化状态到空状态,而在单片机内部,复位的时候单片机是把一些寄存器以及存储设备装入厂商预设的一个值。单片机复位电路原理是在单片机的复位引脚RST上外接电阻和电容,实现上电复位。当复位电平持续两个机器周期以上时复位有效。复位电平的持续时间必须大于单片机的两个机器周期。具体数值可以由RC电路计算出时间常数。复位电路由按键复位和上电复位两部分组成。(1)上电复位:AT89系列单片机为高电平复位,通常在复位引脚RST上连接一个电容到VCC,再连接一个电阻到GND,由此形成一个RC充放电回路保证单片机在上电时RST脚上有足够时间的高电平进行复位,随后回归到低电平进入正常工作状态,这个电阻和电容的典型值为10K和10uF。(2)按键复位:按键复位就是在复位电容上并联一个开关,当开关按下时电容被放电、RST也被拉到高电平,而且由于电容的充电,会保持一段时间的高电平来使单片机复位。4.3.4时钟电路单片机系统里都有晶振,晶振用一种能把电能和机械能相互转化的晶体在共振的状态下工作,以提供稳定,精确的单频振荡。在单片机系统里晶振作用非常大,全名叫晶体振荡器,它结合单片机内部电路产生单片机所需的时钟频率,单片机晶振提供的时钟频率越高,那么单片机运行速度就越快,单片接收的一切指令的执行都是建立在单片机晶振提供的时钟频率之上。晶振的作用就是提供系统的基本时钟信号,系统中正常只有一个晶振。便于各部分的同步。但通信系统的有时基频和射频频率不同,可以通过电子的方法进行调频的方法进行同步。51系列的单片机通常使用12MHz的晶体振荡器作为振荡源,由于单片机内部带有振荡电路,所以外部只要连接一个晶振和两个电容即可,电容容量一般在15pF至50pF之间。4.3.5AD转换模块ADC0809的内部结构如下图所示,ADC0809的内部结构室由8路模拟开关、比较器、地址锁存器树状开关、256电阻阶梯、逐次逼近式寄存器SAR、控制电路和三态输出锁存器组成。图4.3ADC0809内部结构ADC0809在模数转换过程中的控制时序图如图4.4所示:图4.4ADC0809控制时序ADC0809工作原理:当单片机端的P3.3接低电平时,可以使两个非门打开。(1)当模拟量送到某一输入通道后,CPU将标识这个通道编码的三位地址中的信号经数据线或地址线输入到ADDB、ADDC、ADDA引脚上。(2)地址锁存中允许ALE锁存地址信号,启动命令START启动A/D转换。(3)转换开始时,EOC变低电平,转换结束,EOC变为高电平。EOC可作为中断请求信号。(4)转换结束之后,可以通过执行IN指令,设法在输出允许OE脚上形成一个正脉冲,打开三态缓冲器把转换的结果输入到DB,一次A/D转换便完成。AD转换电路,本设计中AD转换模块如图2.12所示,土壤湿度传感器接入ADC0809的26引脚,作为IN-0通道输入,由于本设计目前只测量一路湿度数据故地址控制线固定为000,即23、24、25引脚接地,ADC0809的控制引脚EOC、START、OE、CLK引脚分别接入单片机的IO引脚,起到控制目的,ADC0809的数据引脚接入单片机的P1口,进行数据传输,当土壤湿度值变化时,其土壤之间的电阻会产生变化,通过湿度传感器测量一段距离内土壤的电阻值,即可对当前土壤湿度进行计算,再将数据进行AD转换,接入到单片机内,进行数据处理和显示。图4.5AD转换模块电路图4.3.6显示模块LCD12832是内置控制器的128×32点阵式液晶显示屏,通过对控制器的编程可以实现液晶显示屏的各种显示应用。LCD12832特点如下。可以显示数字、字母、特殊字符、图形和汉字等;具有七种指令。显示内容为128列32行,全屏幕点阵。IC内部自带了8139个16×16点阵中文字库和126个16×8字母符号,并提供4个16×16点阵的自定义字功能,与CPU接口采用8位数据总线并行输入输出和8条控制线。功耗低,最大工作功耗为15mW。工作温度:-10℃~+55℃,存储温度:-20℃~+60℃。LCD和单片机组合是现在市场上非常流行的一种组合。本系统选用C8051F040主要是因为它使用的高速、流水线结构CIP-51内核(兼容8051)。C8051F040为C8051F系列比较典型的一款芯片,也是基于8051类单片机开发的比较高端的芯片。所以这个系统代码及设计兼容性极好。而且C8051F040作为比较高端的芯片有很大的开发潜能。LCD是一款拥有强大显示能力的显示屏,在嵌入式系统中得到广泛的应用。LCD显示屏模块自有操作指令,而且外部接口简单,对于设计非常简单。12832是一款可以显示汉字的比较基础的显示屏,性价比在同理商品中最高的。本系列液晶显示模块向用户提供了11条指令,晶模块内部中的控制器一共有11条控制指令,指令表如下:表4.1LCD1602控制指令表另外,在每次访问模块之前,MPU应首先检测忙标志BF,确认BF=0后,访问过程才能进行。序号指令RSR/WD7D6D5D4D3D2D1D01清显示,DDRAM存入20H,光标至左上角,AC清零00000000012光标返回,DDRAM内容保持,AC清零000000001*3置输入模式00000001I/DS4显示开/关控制0000001DCB5光标或字符移位000001S/CR/L**6置功能00001DLNF**7置字符发生存贮器寻址0001字符发生存贮器地址8置数据存贮器寻址001显示数据存贮器地址9读忙标志或地址01BF计数器地址10写数到CGRAM或DDRAM)10要写的数据内容11从CGRAM或DDRAM读数11读出的数据内容4.3.7水泵驱动模块本系统的浇花器通过传感器得到数据,通过控制水泵抽水来控制传感器所处的环境。水泵属于直流电机,为了驱动水泵,我们使用了ULN2003作为电机驱动芯片。ULN2003的NPN达林顿连接晶体管是低逻辑电平数字电路(如TTL,CMOS或PMOS/NMOS)和大电流高电压所要求的灯、打印机锤、继电器、和其他类似负载之间的接口中的理想器件。在计算机中广泛被运用,在消费和工业类产品中。所有的器件都有集电极开路的输出和用于瞬变抑制它的续流箝位二极管。ULN2003的实现和设计与标准TTL系列兼容。它的管脚连接图如图4.6所示。ULN2003芯片概述与特点:ULN2003芯片是高耐压、大电流达林顿阵列,由7组达林顿晶体管阵列和相应的电阻网络以及钳位二极管网络构成,具有同时驱动7组负载的能力,为单片双极型大功率高速集成电路。功率电子电路绝大多数要求具有大的电流输出能力,驱动各种类型的负载从中都得到便利。功率的驱动电路是功率电子设备输出电路的一个重要组成部分。ULN2003芯片高压大电流达林顿晶体管阵列产品属于可控大功率器件。本系统有一个直流电机,故用该芯片7个控制端的其中两个。该系统驱动原理图如图4.7所示:图4.6ULN2003引脚图图4.7电机驱动模块电路图4.4软件设计4.4.1主程序流程及相关说明KeilμVision3是2006年ARM推出的软件开发工具,支持ARM7、ARM9和最新的Cortex-M3核处理器,自动配置启动代码,集成Flash烧写模块,强大的Simulation设备模拟,性能分析等功能。程序在开发工具Keil_uVision3上进行设计与编译,自动浇花器工作流程图如图3.1所示。上电后进行数据初始化,显示器初始化,启动数据转换,判断湿度值和按键扫描。自动浇花器工作过程:首先,进行AD数据转换,采集当前湿度数值,显示到显示器上,程序循环扫描设定按键是否被按下,当按键按下时,进入设定模式,设定湿度值下限,返回到测量程序后,程序循环扫描当前湿度值是否小于设定的湿度值下限,若小于下限,则启动水泵进行浇花,浇花后等待水分渗透一分钟,再继续对比当前湿度和测量湿度,如还小于下限值则再浇花,如不小于设定湿度值,则不再浇花,继续测量,待测量湿度值再次小于设定湿度值下限时再启动浇花,循环进行。图4.8自动浇花器主程序流程图4.4.2输入模块当设定键(按键1)按下后,进入设定模式,在设定模式下,按2键,设定湿度值+10%,按3键,设定湿度值-10%,按4键返回主程序。工作流程如图4.10所示。图4.9输入模块流程图4.4.3AD转换程序系统启动ADC0809对模拟量输入信号进行转换,通过判断湿度来确定转换是否完成,若湿度为0则继续等待;若EOC为1,则把湿度置位,将转换完成的数据存储到70H中。程序流程图如图4.10图4.10A/D转换流程图大连东软信息学院毕业设计(论文)第5章系统实现5.1环境配置在Keil软件中设置产生HEX文件,并将晶振频率设为12MHZ,如图5.1所示,然后进行编译。图5.1KEIL3设置截图打开STC_ISP_V488软件,选择单片机类型为STC89C52RC,选择串行口为COM1,设置波特率为115200B,单击下载按钮,之后重启系统。测试自动浇花器能否达到预期效果,若能实现预期目标则调试结束,否则修改相应程序后重复步骤1和步骤2,直到能实现预期目标。TC_ISP_V488软件操作界面如图5.2所示。图5.2调试软件界面使用说明:先将传感器、水泵、电池盒接入到主系统板上,将传感器插入到花盆土壤中,将水泵潜入到储水罐里,将水泵出水胶管放入到花盆传感器附近,打开电池盒上的开关,系统供电正常时,液晶显示器会显示当前测量的土壤湿度值,按设定键进入设定模式,并在设定模式里按2键和3键进行设定湿度的加减,待设定完成后,按4键返回到测量模式,在测量模式中,判断当前测量湿度如果小于设定湿度值,则启动水泵浇花。5.2功能模块实现5.2.1主函数实现voidmain(void) //主函数{ SB=0; //水泵关闭 Time_0init(); //定时器初始化 LCMInit();//LCM初始化while(1) { DisplayListChar(1,0,"Moisture");//第一行显示 qidong();//ad转换启动 DisplayListChar(1,1,"Set:");//第2行显示 DisplayOneChar(5,1,s_moi/100+0x30);//显示设置湿度百位 DisplayOneChar(6,1,(s_moi/10%10)+0x30); //显示设置湿度十位 DisplayOneChar(7,1,(s_moi%10)+0x30);//显示设置湿度个位 DisplayOneChar(8,1,'%'); DisplayOneChar(9,1,''); DisplayOneChar(11,1,min+0x30);//显示设置分钟 DisplayOneChar(12,1,':'); DisplayOneChar(13,1,sec/10+0x30);//显示设置秒 DisplayOneChar(14,1,sec%10+0x30);//显示设置秒 Delay400Ms();//延时400ms if(temp2<s_moi) //测量湿度小于设置湿度(花太干了) { if(flag==0) //判断浇水标志位=0才能浇水,在浇花后渗透的时间里如果干也是不浇水的(渗透1min完,标志位会在中断里清零) { SB=1;//启动水泵 delay();//延时浇水 delay(); SB=0;//关闭水泵 min=1;//渗透1分钟 sec=0; TR1=1; //开始计时 flag=1; //浇水标志位=1,不能再浇水,(渗透1min完,标志位会在中断里清零) } } if(key1==0)//按键1按下 { set();//设置 } } }5.2.2LCD1602数据读取函数实现/********1602底层驱动函数“写数据”,底层函数不用读懂每句话意思,直接拿函数放到程序里应用****************/voidWriteDataLCM(ucharWDLCM){ ReadStatusLCM();//检测忙 LCM_Data=WDLCM; LCM_RS=1; LCM_RW=0; LCM_E=0;//若晶振速度太高可以在这后加小的延时 LCM_E=0;//延时 LCM_E=1;}/********1602底层驱动函数“写指令”,底层函数不用读懂每句话意思,直接拿函数放到程序里应用****************/voidWriteCommandLCM(ucharWCLCM,BuysC)//BuysC为0时忽略忙检测{ if(BuysC)ReadStatusLCM();//根据需要检测忙 LCM_Data=WCLCM; LCM_RS=0; LCM_RW=0; LCM_E=0; LCM_E=0; LCM_E=1;}/********1602底层驱动函数“读状态”,底层函数不用读懂每句话意思,直接拿函数放到程序里应用****************/ucharReadStatusLCM(void){ LCM_Data=0xFF; LCM_RS=0; LCM_RW=1; LCM_E=0; LCM_E=0; LCM_E=1; while(LCM_Data&Busy);//检测忙信号 return(LCM_Data);}/********1602底层驱动函数“初始化”,底层函数不用读懂每句话意思,直接拿函数放到程序里应用****************/voidLCMInit(void){ LCM_Data=0; WriteCommandLCM(0x38,0);//三次显示模式设置,不检测忙信号 Delay5Ms(); WriteCommandLCM(0x38,0); Delay5Ms(); WriteCommandLCM(0x38,0); Delay5Ms(); WriteCommandLCM(0x38,1);//显示模式设置,开始要求每次检测忙信号 WriteCommandLCM(0x08,1);//关闭显示 WriteCommandLCM(0x01,1);//显示清屏 WriteCommandLCM(0x06,1);//显示光标移动设置 WriteCommandLCM(0x0C,1);//显示开及光标设置}/********1602底层驱动函数“显示一个字符”,底层函数不用读懂每句话意思,直接拿函数放到程序里应用****************/voidDisplayOneChar(ucharX,ucharY,ucharDData){ Y&=0x1; X&=0xF;//限制X不能大于15,Y不能大于1 if(Y)X|=0x40;//当要显示第二行时地址码+0x40; X|=0x80;//算出指令码 WriteCommandLCM(X,0);//这里不检测忙信号,发送地址码 WriteDataLCM(DData);}/********1602底层驱动函数“显示一串字符”,底层函数不用读懂每句话意思,直接拿函数放到程序里应用****************/voidDisplayListChar(ucharX,ucharY,ucharcode*DData){ ucharListLength,j; ListLength=strlen(DData); Y&=0x1; X&=0xF;//限制X不能大于15,Y不能大于1if(X<=0xF)//X坐标应小于0xF{ for(j=0;j<ListLength;j++) {DisplayOneChar(X,Y,DData[j]);//显示单个字符X++;}}}5.2.3延迟函数实现/********延时5ms函数****************/voidDelay5Ms(void){ unsignedintTempCyc=5552; while(TempCyc--);}/********延时400ms函数****************/voidDelay400Ms(void){ ucharTempCycA=4; uintTempCycB; while(TempCycA--) { TempCycB=5269; while(TempCycB--); };}/********延时函数****************/voiddelay(){ uchari,j,z; for(i=0;i<30;i++) for(j=0;j<30;j++) for(z=0;z<255;z++);}大连东软信息学院毕业设计(论文)第6章系统测试6.1测试概述图4.1为自动浇花器传感器及水泵放置图,将湿度传感器插入到土壤中,再将水泵出水胶管放在传感器附近,水泵为5v潜水水泵,不可空转,将其潜入放在储水罐中即可。图4.1自动浇花器传感器及水泵放置图6.2测试结果分析图4.2为自动浇花器主控板实物图,单片机放在1602液晶显示器下面,由4节5号电池为系统供电,右侧接口上面为传感器接口,下面为水泵接口,经实际使用测试,符合目标要求。图4.2自动浇花器主控板实物图第7章结论到现在为止,电子信息工程的更新进展迅速,科技的不断变化以及一些新设备的加入。所以嵌入式技术的科技应用被越来越多的人所研究。相对的,对嵌入式做出的东西以及操作方面的需求也越来越多,以至于被推广。嵌入式产品拥有众多的功能,它可以应用到人们学习、工作和生活中的任何一个领域里。在各种不同的领域之中所运用的知识越来越多,也越来越广泛。这就导致了每个嵌入式产品都有所不同。因此,我们不可能要求每个人都以专家级别的标准去了解嵌入式,应用各种不同的自动化功能,来达到方便使用嵌入式产品的目的这就成了快捷的解决的办法。本课题对STC89C52芯片和AltiumDesigner9软件,有深入了解,并以此为前提,对整体设计的系统功能,包括软件和硬件,都有较为深入的思考和探索,进行连续的检测,终于完成了智能浇花器软硬件设计与实现。对硬件的设计,通过AltiumDesigner9,完成了以STC89C52作为中心的核心处理模块的硬件设计,把硬件装配到电路板上,经过调试和测验所有功能均以实现并且好用,以达到了设计的要求。对软件的设计,通过Keil等软件,完成了对系统软件的设计,为后来的整体设计打下基础。如果想让此系统的功能更加的完备,还需要完成选用更加精确的传感器,使测量更加准确,更加工业化。对系统的硬件电路作适当精细的删减和优化,降低系统的功耗。总体上,本次的系统基本上达到了预期
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 成本管控视角下科室绩效分配平衡策略
- 眼科白内障手术手术规划
- 2026年作业顺序执行协议
- 配送范围条款服务
- 公平原则适用展览展示合同协议
- 2026年传统文化知识竞赛试题含答案
- 2026年4.15全民国家安全教育日知识竞赛测试题及答案
- 遥控拖曳无人机对策
- 安全风险分级管控和隐患排查治理培训试卷及答案
- 医疗设备、器械巡查、预防性维护制度及监督检查表
- 医院成本管控模式的创新与案例分析
- 2026届高三语文联考作文题目导写分析及范文:当语言与真实经验脱钩
- 2025医疗健康纸质行业市场深度记录系统与文件研究评估报告
- 政务大模型发展研究报告(2025年)
- 2025年国家开放大学《马克思主义基本原理》期末考试参考题库及答案解析
- 空管面试高分技巧
- 2025年普通高中学业水平选择性考试(福建卷)历史试题(含答案)
- 院感消毒隔离培训课件教学
- 累计预扣法工资表模板-自动计算
- 2025-2030肉牛养殖产业草原载畜量评估及草畜平衡政策与生态补偿机制报告
- 企业诉讼应对策略培训
评论
0/150
提交评论