《基于单片机智能浇花系统设计及实现毕业论文.pdf》由会员分享,可在线阅读,更多相关《基于单片机智能浇花系统设计及实现毕业论文.pdf(32页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、基于单片机的智能浇花系统的设计与实现基于单片机的智能浇花系统的设计与实现摘摘要要随着科学的不断发展和人们生活水平的不断进步,人们对于生活质量的要求也越来越高,花草养殖成为了家庭生活中的一部分,人们养殖花草的目的大多是为了陶冶情操和提高室内外的空气质量等等,但由于工作繁忙等原因,不能按时给花草浇水成为了花卉死亡的主要原因。本文利用 AT89C51 单片机设计了一种自动浇花控制系统,此系统可为人们解决因工作等原因无法按时为花卉浇水的问题,以便于花卉茁壮成长。本设计采用汇编语言进行编程,在 LED液晶屏上实现小时,分,秒的显示;并利用单片机来实现计时,定时功能,同时通过4 个按键开关来实现参数设置和
2、调节功能、浇花间隔时间的设定、浇水持续时间的设定、单片机对电磁阀的自动控制。根据用户设定的时间顺利的完成浇花任务。关键词关键词:单片机,控制,显示,电磁阀I大连东软信息学院毕业设计(论文)AbstractDesign and implementation of the IntelligentDesign and implementation of the IntelligentControl System for Watering the FlowersControl System for Watering the Flowersbased on single chip microcomput
3、erbased on single chip microcomputerAbstractAbstractWith the continuous development of science and the people life level of progress,peoplefor the requirements of the life quality is more and more rigorous,plants breeding becomepart of the family life.The purposes of people breeding plants are for t
4、he edify sentiment andimprove the indoor and outdoor air quality and so on.Because of the busy jobs and otherfactors,the inability to water the flowers and plants become the main cause of death.In thispaper,AT89C51 single-chip microcomputer designed a kind of automatic watering theflowers control sy
5、stem.The system can work for people who can not water the flowers ontime,so that the flowers can grow strength and healthy.This design uses the assembly languages programming,realizing hours,points,seconddisplay on LED;And using single chip computer to realize the timing,timing function,and atthe sa
6、me time through four button switches to achieve parameter setting and adjustmentfunction,the water the flowers of the interval time set,the duration of water with the chip set,solenoid valve to be automatic control.According to users setting time done smoothly the taskof watering the flowers.Key wor
7、ds:Key words:MCU,control,display,solenoid valveII大连东软信息学院毕业设计(论文)目录目目录录摘要.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.5 AD转换模块.63.3 系统非功能需求.63.4 系
8、统开发环境.63.5 系统可行性分析.6第 4 章系统设计.74.1 系统设计指导原则.74.2 体系结构设计.74.3 硬件设计.7III大连东软信息学院毕业设计(论文)目录4.3.1 STC89C52 单片机介绍.74.3.2 单片机最小系统.94.3.3 复位电路.94.3.4 时钟电路.104.3.5 AD转换模块.104.3.6 显示模块.124.3.7 水泵驱动模块.134.4 软件设计.144.4.1 主程序流程及相关说明.144.4.2 输入模块.154.4.3 AD转换程序.16第 5 章系统实现.185.1 环境配置.185.2 功能模块实现.195.2.1 主函数实现.1
9、95.2.2 LCD1602数据读取函数实现.205.2.3 延迟函数实现.22第 6 章系统测试.246.1 测试概述.246.2 测试结果分析.24第 7 章结论.25参考文献.26致谢.27IV第第 1 1 章章绪绪论论1.11.1 课题研究背景与意义课题研究背景与意义随着社会生活的进步,人们的生活质量越来越高。在家里养盆花可以陶冶情操、丰富生活。同时,盆花通过光合作用可吸收二氧化碳,净化室内空气,在有花木的地方空气中阴离子聚积较多,所以空气也特别清新,而且有许多花木还可吸收空气中的有害气体,因此,养盆花如今被许多的人所喜爱。盆花浇水量是否能做到适时适量,是养花成败的关键。但是,在生活中
10、人们总是会有无暇顾及的时候,比如工作太忙或者出差、旅游等。盆花生产问题大部分是由于对花儿浇灌的错误时间引起的。盆花的长势主要的决定因素是水的控制。盆花的生长的茂盛也是家庭没好的装饰。虽然目前市面上有卖盆花自动浇水器的,但价格十分的昂贵,并且大多只能设定一个定时浇水的时间,很难做到给盆花适时适量浇水。也有较经济的盆花缺水报警器,可以提醒人们及时的给盆花浇水。可是这种报警器只能报警,浇水还是需要人们亲自动手。当家里无人时,即使报警也无人浇水,就起不到应有的作用了。因此,我想通过设计一种盆花土壤湿度检测,蓄水箱自动供水于一体的盆花自动浇水系统。让盆花在人们无暇照顾时也能得到及时的浇灌。1.21.2
11、课题研究内容与方法课题研究内容与方法本次毕业设计是设计一种单片机控制的自动浇水系统,实现室内盆花浇水的自动化系统。该系统可对土壤的湿度进行监控,并对作物进行适时、适量的浇水。其核心是单片机和湿度传感器以及浇水驱动电路构成的检测控制部分。软件选用 C51 语言编程。土壤湿度传感器可将检测到的土壤湿度模拟量放大转换成数字量通过单片机内程序控制精确的将湿度显示在 LCD 显示屏上,同时通过单片机程序判断是否要给盆花浇水,若需浇水,则单片机系统发出浇水信号,并经放大驱动设备,开启电磁阀进行浇水,若不需浇水,则进行下一次循环检测。自动浇花器要实现的具体任务:1、采用 STC89C52 单片机为主控芯片,
12、外接土壤湿度传感器、AD 转换芯片、水泵驱动芯片、水泵、1602 液晶显示器、按键。2、使用土壤湿度传感器实时监测土壤湿度,通过 AD 转换芯片转成数字信号给单片机,单片机将湿度显示在显示器上。3、用户可通过按键自行调节湿度下限,当传感器监测的湿度值低于设定的湿度下-1-限时,启动继电器,开启水泵,抽水浇花 5S 钟。4、因浇花后水分需要渗透一定时间,等待 1 分钟后,再次检测当前土壤湿度值是否低于设定下限,如果还低于下限,则启动水泵再次浇花 5S 钟,如果不低于下限,则不再浇花,等待下次再低于下限时浇花,依次循环。1.31.3 课题研究现状课题研究现状微喷系统是近几年利用国内外先进技术组装的
13、新型灌溉设施,主要是利用水流通过低压管道系统以一定速度从特制的喷头喷出,在空气中分散成细小的水滴,着落在花草植物、作物及周围的地面上,从而达到及时补充水分的目的。该系统具有用水量少、冲击力小的灌溉特性,适用于栽培密度大、植株柔软细嫩的植物。自动浇花器的诞生是随着人们生活水平的提高和生活节奏的加快而诞生的一种懒人园艺用品。它把微喷的概念应用于家庭盆花浇灌中,通过相应的改进,达到合理给盆花自动浇水的目的。早在很多年前,国外就已经开始普及,国内使用的电子类自动浇花器多数从国外进口的,价格昂贵,但质量比较可靠。不过这并不太适用于国内,目前国内外比较流行的是玻璃制作的自动浇花器。这种类型的浇花器多数在我
14、国山西和浙江一带加工生产的,价格比较低廉,实用性没有电子类自动浇花器好。随着国内居民消费水平和生活质量的提高,居家园艺市场异常火爆,但是由于生活节奏加快,种花容易养花难的问题暴露出来,而养花最重要的问题就是浇水问题,研究表明花草 80%以上的死亡由于浇水不及时引起,因此国内商家已经看到了这种需求潜力。目前这类小居家用品的厂家主要集中在广东,上海,浙江一带。现在市面上所出售的自动浇花器主要有以下几类:(1)电子类自动浇花器电子类自动浇花器又叫时控喷淋装置,系统构成为:主机(或者控制器)、主管(可以是花园管也可以是 4/7mm的微喷淋管)、分水接头(3 通、4 通、5 通、6 通、分水器)、副管(
15、3/5mm)喷淋管(雾化喷头、旋转喷头、折射雾化喷头等)。电子类自动浇花器根据电源的不同分为交流电自动浇花器和电池自动浇花器两种。控制器的一般性能有:电磁阀控制;智能时控电路微电脑芯片控制;适用电源为AC220V/50HZ;最适宜水压 0.3-0.6Mpa;待机功率(4VA,浇水时12VA);可控制连续作业时间是 1 分钟至 168 个小时;可每天自动完成十次以上浇水作业,可每天、隔天、隔多天自动循环进行浇水,手动自动两用;每天计时误差小于正负3 秒;电器适应环境温度为-1050;相对湿度90%RH。(2)玻璃、陶瓷类自动浇花器-2-玻璃、陶瓷类自动浇花器又叫自动渗水装置,它由本身材质的物理结
16、构构成,根据器具的物理渗水原理完成自动浇灌,当自动浇水器内部存水,自身形成一定的压力,当遇到干燥的土壤,水就会自上而下的流出,当土壤湿润以后,会形成一个堵塞压力,从而导致水流速度变慢或者停止。器具工艺不同,效果也不一样,当然也因土壤的疏松情况决定器具内水流的速度。当前传感器技术与单片机技术发展迅速,其应用逐步由工业、军事等领域向其他领域渗透,已经和我们的日常生活息息相关。而且智能家居概念也越来越受人们的推崇,因此,微电脑控制的电子类自动浇花系统有很好的发展前景。-3-第第 2 2 章章关键技术介绍关键技术介绍2.12.1 单片机介绍单片机介绍STC89C52 系列带 A/D 转换的单片机的 A
17、/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 系
18、列单片机的 ADC 模式是逐级比较型 ADC。逐级比较型 ADC 由一个比较器模块和数/模转换器构成,经过逐级比较方式,由最高位(MSB)开始,依次地将每一个输入模拟电压与内部的数/模转换器输出进行比较计算,经过几次比较后,转换后得到的数字数据逐次贴近输入的模拟量对应值。逐级比较型 A/D 转换器不但速度迅速,而且功耗超低,性能卓越。2.22.2 继电器的工作原理和特性继电器的工作原理和特性继电器属于一种电子类的控制元件,它含有输入回路即控制系统和输出回路即被控制系统,生活中主要应用于自动控制系统中,它实际的理念就是用弱电流来控制强电流的一种“可控开关”。所以在电子电路中发挥着电路保护、自动调
19、节、电动开关等作用。1电磁感应继电器设计原理和功能特性电磁式继电器通常是由触点簧片、衔铁、线圈、铁芯等元件组成的。工作时在线圈两端加上适当的电压,就会有固定的电流流过线圈,这时候就会产生电磁感应,在电磁吸引力的作用下衔铁就可以克服弹簧的弯曲形变从而吸向铁芯这边,使得衔铁的动触点与常开触点接触。线圈两端的电压消失后,电磁场的吸引力也立即消失,衔铁就会顺着弹簧的弹性形变返回成原来的形状,重新让动触点和原来的常闭触点吸合。如此这样的吸合释放,就能够达到在电路中导通电流、切断电流的目的。继电器的常开端接触点和常闭端接触点可以通过以下方式区分:未通电时的继电器线圈是断开状态下的静触点,也称作“常开触点”
20、;在接通状态下的静触点称作“常闭触点”。-4-第第 3 3 章章系统需求分析系统需求分析3.13.1 系统设计目标系统设计目标本设计利用 STC89C52 单片机设计了自动浇花器,利用土壤湿度传感器检测花卉(也可以用于蔬菜等)的湿度,采集的湿度通过 AD 转换传送到单片机芯片,单片机根据湿度控制是否浇水,如果需要浇水,单片机的一个引脚置高电平,给水泵驱动芯片信号,打开水泵抽水,实现自动浇水。设计还配有一块 LCD1602 液晶显示器,用于显示土壤湿度数值和设定用户湿度值。系统配有 4 个独立按键辅助设定湿度下限值。自动浇花器方框图如图 1.1 所示。输入模块(独立按键)单片机的最小系统模块(S
21、TC89C52RC 单片机、12MHZ 晶振和复位电路)图 1.1 自动浇花器总体设计框图显示模块(LCD1602 显示器)AD 转换电路(ADC0809)水泵驱动模块(ULN2003)3.23.2 系统功能需求系统功能需求3.2.13.2.1 单片机最小系统单片机最小系统单片机系统是系统控制的核心,主要是控制系统的相应的各个相关传感器和功能模块。单片机最小系统的主要是由单片机、复位电路和时钟电路组成。单片机主要是存储程序和控制芯片,并判断传感器的信号,控制功能模块根据不同的条件,执行不同的动作。复位电路和时钟电路给单片机提供时钟复位信号,单片机在运行的过程中,在环境的影响,可能导致系统无法运
22、行。需要复位电路提供复位信号,重启程序,保证系统重新运行。3.2.23.2.2 显示模块显示模块显示模块主要的功能显示当前湿度、设置最低湿度进行浇水。本系统显示模块需要能够显示设置的参数的提示和最终结果显示。所以要采用 LCD1602 液晶显示屏,设置参数过程中,较为复杂,为了实现系统的市场化和大众化,采用 LCD1602 可以充分提示使用者完成设置过程。3.2.33.2.3 电机驱动模块电机驱动模块步进电机是系统执行动作的主要部分,实现系统功能的关键。它的动作直接影响到系统功能。步进电机是一款主要是在单片机在收到了雨水传感器的信号以后进行相应的-5-动作。步进电机的优点是控制动作小,单片机系
23、统大部分是进行比较精细的控制,所以步进电机是单片机进行机械控制的首选。由于单片机的工作电压和电流较小,为了保证系统的安全,采用驱动电路的方法进行驱动电机。3.2.43.2.4 按键模块按键模块按键模块主要是设置系统参数,本系统的湿度最低参数可以设置的。通过按键的设置,就可以根据植物的类型就行浇水。3.2.5 AD3.2.5 AD转换模块转换模块转换模块主要是将传感器的模拟信号,转换成单片机能够是别的饿数字信号。系统中采用的湿度传感器,得出的信号是模拟信号,这时候就需要AD转换器将模拟信号进行转换 AD转换器。3.33.3 系统非功能需求系统非功能需求(1)性能本系统主要是实现自动浇花功能。系统
24、在实现浇花功能的过程中,要保证系统的稳定和可靠性。主要表现在两个方面:第一是系统具有稳定性,系统在使用过中是针对所有室内养花的人们,根据他们的环境,保证在此环境中,系统不会出现死机等情况。第二是系统具有良好的人机交互界面,根据此类人的需求开发出一个可以调节浇花时间,浇水量和监控准确的系统。3.43.4 系统开发环境系统开发环境硬件环境:450*2MHZ/40G/1024MB/40G/软件环境:WINDOWS XP/keil3.53.5 系统可行性分析系统可行性分析本系统具有可靠性高,采用市面最流行 STC89C52 单片机,使用最简单电路实现最复杂功能。电路越简单故障点越少,稳定性越高。具有性
25、能价格比高,本设计电路简单减去不必要的成本,减去电路板设计过程中的过多冗余设计。其功能完备,操作简便,高度人性化。模块化设计,根据本系统是用于自动浇花的这一应用目的,系统尽量使用模块化设计,实现模块化积木式组合与拆分的功能,便于以后的升级换代,减少二次投资,可以满足家庭使用的重要性和复杂度以及使用对象对功能和价格的选择。-6-第第 4 4 章章系统设计系统设计4.14.1 系统设计指导原则系统设计指导原则本系统的设计理念是本着简单可靠实用的基本原则,力求该系统可以使直流电机的转速做到很好的控制,可以具体实现加速、减速等一系列的功能。该系统从设计上要求方便,从操作上可以更加的简单明了。从占用系统
26、的资源上坚持做到最小。从细节上要求做到尽善尽美。从实现上要求做到准确并且快捷。从系统上要求做到安全可靠。一切从可靠实用的角度出发。力求要将此做成一套完美的自动浇花系统。4.24.2 体系结构设计体系结构设计系统硬件部分由核心控制模块、按键输入模块、水泵驱动模块、显示模块、A/D 转换电路组成,硬件系统总电路图如图 2.1 所示。核心控制模块由 STC89C52RC 芯片、复位电路、时钟组成;输入模块由 4 个独立按键组成;水泵驱动模块由 ULN2003 达林顿芯片组成,显示模块由 LCD1602 构成,湿度数据采集和 A/D 转换由 ADC0809 芯片完成。电电源源接口接口00传传感感器器接
27、接口口00000 0 0 0 0 0 0显显示示模块模块ADAD转转换换模块模块00程程序序下下载载口口水泵接口水泵接口按按键键毕 设东 软论 文欧 阳 益自 动 浇花单单片片机最机最 小小系系统统电电机机驱动驱动 模模块块图 4.1 系统原理图4.34.3 硬件设计硬件设计4.3.1 STC89C524.3.1 STC89C52单片机介绍单片机介绍STC89C52 是一种功耗低、高性能 CMOS8 位的微控制器,具有 8K 的系统可编程-7-Flash 存储器。利用的是 Atmel 公司高密度非易失性存储器技术制造,和工业 80C51 产品指令和引脚屎完美兼容的。片上 Flash 可以允许程
28、序存储器在系统中可编程,亦适用于常规的编程器。在单芯片上,拥有灵活的8 位 CPU 和在系统可编程 Flash,使得STC89C52 为众多数嵌入式控制的应用系统提供高灵活、超有效的解决方案。STC89C52具有以下标准功能:8k 字节 Flash,256 字节 RAM,32 位 I/O 口线,看门狗定时器,2个数据指针,三个16 位定时器/计数器,一个6 向量 2 级中断结构,全双工串行口,片内晶振及时钟电路。另外,STC89C52 可降至 0Hz 静态逻辑操作,支持2 种软件可选择节电模式。空闲模式下,CPU 停止工作,允许 RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RA
29、M 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。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 能够用于外部的程序数据存储器,它可以被定义为数据/地址的第八位。在 FIA
30、SH 编程的时候,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 口的管脚被
31、外部拉低,将输出电流。这是由于内部上拉的缘故。P2 口当用于外部程序存储器或 16 位地址外部数据存储器进行存取时,P2 口输出地址的高八位。在地址是 1 即高电平的情况下,它利用内部上拉的特点,它对外部八位地址数据存储器进行读写,P2 口输出特殊功能寄存器的内容。P2 口在编程和校验是接受的是高八位的地址和控制信号。-8-XTAL1 是接外部晶体中的一个引脚。在单片机的内部,它是构成片内振荡器的反相放大器的输入端。当外部振荡器被采用时,该引脚立刻接收振荡器的信号,内部时钟发生器的输入端被接入此信号中。XTAL2 接外部晶体的另一个引脚。根据单片机的内部,它是上述振荡器所指的反相放大器的输出端
32、。采用的是外部振荡器时,此引脚应是悬浮而不连接。选用 12MHz频率的晶体,允许输入的脉冲频率为 500kHz。电容的大小范围为 20pF40pF。具体的电路连接如图 5.1 所示。4.3.24.3.2 单片机最小系统单片机最小系统单片机是整个系统的核心,控制着整个系统的运行,单片机最小系统由晶振电路、复位电路组成,如图 2.6 所示。5V5V401S10VCCC610UFJ11P00P01P02P03P04P05P06P07P20P21P22P23P24P25P26P27ALE/PPSEN3938373635343332212223242526272830295V10111213141516
33、17P34P35P36P37P30P31P32J121234CON4P00P01P02P03P04P05P06P07CLKJDQEOCOESTP25P26P272345678910K9RESETR510kC71930PFY112MC81830PFX2X1RXDP10P11P12P13P14P15P16P1712345678P10P11P12P13P14P15P16P17TXDINT0INT1T0T131WREA/VPRD805120GND5V图 4.2 单片机最小系统原理图4.3.34.3.3 复位电路复位电路单片机的置位和复位,都是为了把电路初始化到一个确定的状态,一般来说,单片机复位电路作
34、用是初始化状态到空状态,而在单片机内部,复位的时候单片机是把一些寄存器以及存储设备装入厂商预设的一个值。单片机复位电路原理是在单片机的复位引脚 RST 上外接电阻和电容,实现上电复-9-位。当复位电平持续两个机器周期以上时复位有效。复位电平的持续时间必须大于单片机的两个机器周期。具体数值可以由 RC 电路计算出时间常数。复位电路由按键复位和上电复位两部分组成。(1)上电复位:AT89 系列单片机为高电平复位,通常在复位引脚 RST 上连接一个电容到 VCC,再连接一个电阻到 GND,由此形成一个 RC 充放电回路保证单片机在上电时 RST脚上有足够时间的高电平进行复位,随后回归到低电平进入正常
35、工作状态,这个电阻和电容的典型值为 10K 和 10uF。(2)按键复位:按键复位就是在复位电容上并联一个开关,当开关按下时电容被放电、RST 也被拉到高电平,而且由于电容的充电,会保持一段时间的高电平来使单片机复位。4.3.44.3.4 时钟电路时钟电路单片机系统里都有晶振,晶振用一种能把电能和机械能相互转化的晶体在共振的状态下工作,以提供稳定,精确的单频振荡。在单片机系统里晶振作用非常大,全名叫晶体振荡器,它结合单片机内部电路产生单片机所需的时钟频率,单片机晶振提供的时钟频率越高,那么单片机运行速度就越快,单片接收的一切指令的执行都是建立在单片机晶振提供的时钟频率之上。晶振的作用就是提供系
36、统的基本时钟信号,系统中正常只有一个晶振。便于各部分的同步。但通信系统的有时基频和射频频率不同,可以通过电子的方法进行调频的方法进行同步。51 系列的单片机通常使用 12MHz的晶体振荡器作为振荡源,由于单片机内部带有振荡电路,所以外部只要连接一个晶振和两个电容即可,电容容量一般在15pF 至 50pF之间。4.3.5 AD4.3.5 AD转换模块转换模块ADC0809 的内部结构如下图所示,ADC0809 的内部结构室由 8 路模拟开关、比较器、地址锁存器树状开关、256 电阻阶梯、逐次逼近式寄存器 SAR、控制电路和三态输出锁存器组成。-10-图 4.3 ADC0809 内部结构ADC08
37、09 在模数转换过程中的控制时序图如图 4.4 所示:图 4.4 ADC0809 控制时序ADC0809 工作原理:当单片机端的 P3.3 接低电平时,可以使两个非门打开。(1)当模拟量送到某一输入通道后,CPU 将标识这个通道编码的三位地址中的信号经数据线或地址线输入到 ADDB、ADDC、ADDA 引脚上。(2)地址锁存中允许 ALE锁存地址信号,启动命令 START启动 A/D 转换。(3)转换开始时,EOC 变低电平,转换结束,EOC 变为高电平。EOC 可作为中断请求信号。(4)转换结束之后,可以通过执行 IN 指令,设法在输出允许OE 脚上形成一个正脉冲,打开三态缓冲器把转换的结果
38、输入到 DB,一次 A/D 转换便完成。AD转换电路,本设计中AD转换模块如图2.12所示,土壤湿度传感器接入ADC0809-11-的 26 引脚,作为IN-0 通道输入,由于本设计目前只测量一路湿度数据故地址控制线固定为 000,即 23、24、25 引脚接地,ADC0809 的控制引脚 EOC、START、OE、CLK引脚分别接入单片机的 IO 引脚,起到控制目的,ADC0809 的数据引脚接入单片机的 P1口,进行数据传输,当土壤湿度值变化时,其土壤之间的电阻会产生变化,通过湿度传感器测量一段距离内土壤的电阻值,即可对当前土壤湿度进行计算,再将数据进行 AD转换,接入到单片机内,进行数据
39、处理和显示。5V5V11R510KJ7123CON326272812345U1IN0IN1IN2IN3IN4传感器接口传感器接口msb21222324252627lsb28EOC2120191881514177252423229610P17P16P15P14P13P12P11P10EOCIN5IN6IN7ALEADDAADDBADDCVCCSTOESTCLK165V12ref(+)ADC0809ADAD转换模块转换模块4.3.64.3.6 显示模块显示模块13GNDref()ENABLESTARTCLOCK图 4.5 AD 转换模块电路图LCD12832是内置控制器的 12832 点阵式液晶显
40、示屏,通过对控制器的编程可以实现液晶显示屏的各种显示应用。LCD12832 特点如下。可以显示数字、字母、特殊字符、图形和汉字等;具有七种指令。显示内容为 128 列 32 行,全屏幕点阵。IC 内部自带了 8 139 个 1616 点阵中文字库和 126 个 168 字母符号,并提供 4 个 1616 点阵的自定义字功能,与CPU接口采用8位数据总线并行输入输出和 8条控制线。功耗低,最大工作功耗为 15 mW。工作温度:-10+55,存储温度:-20+60。LCD 和单片机组合是现在市场上非常流行的一种组合。本系统选用 C8051F040 主要是因为它使用的高速、流水线结构 CIP-51
41、内核(兼容 8051)。C8051F040 为 C8051F系列比较典型的一款芯片,也是基于 8051 类单片机开发的比较高端的芯片。所以这个系统代码及设计兼容性极好。而且C8051F040 作为比较高端的芯片有很大的开发潜-12-能。LCD 是一款拥有强大显示能力的显示屏,在嵌入式系统中得到广泛的应用。LCD显示屏模块自有操作指令,而且外部接口简单,对于设计非常简单。12832 是一款可以显示汉字的比较基础的显示屏,性价比在同理商品中最高的。本系列液晶显示模块向用户提供了 11 条指令,晶模块内部中的控制器一共有 11条控制指令,指令表如下:表 4.1 LCD1602控制指令表另外,1234
42、567891011指令RS R/W D7D6D5D4D3D2D1D00000000010100000001BF000000100000100000001001D011*清显示,DDRAM 存入 20H,光标至左0光标返回,DDRAM 内容保持,AC 清置输入模式显示开/关控制光标或字符移位置功能置字符发生存贮器寻址置数据存贮器寻址读忙标志或地址写数到 CGRAM 或 DDRAM)从 CGRAM 或 DDRAM 读数0000000011I/DSCB*1S/C R/L*DLNF*字符发生存贮器地址显示数据存贮器地址计数器地址要写的数据内容读出的数据内容4.3.74.3.7 水泵驱动模块水泵驱动模块
43、本系统的浇花器通过传感器得到数据,通过控制水泵抽水来控制传感器所处的环境。水泵属于直流电机,为了驱动水泵,我们使用了 ULN2003 作为电机驱动芯片。ULN2003的 NPN 达林顿连接晶体管是低逻辑电平数字电路(如 TTL,CMOS 或 PMOS/NMOS)和大电流高电压所要求的灯、打印机锤、继电器、和其他类似负载之间的接口中的理想器件。在计算机中广泛被运用,在消费和工业类产品中。所有的器件都有集电极开路的输出和用于瞬变抑制它的续流箝位二极管。ULN2003 的实现和设计与标准 TTL 系列兼容。它的管脚连接图如图 4.6 所示。ULN2003 芯片概述与特点:ULN2003 芯片是高耐压
44、、大电流达林顿阵列,由 7 组达林顿晶体管阵列和相应的电阻网络以及钳位二极管网络构成,具有同时驱动 7 组负载的能力,为单片双极型大功率高速集成电路。功率电子电路绝大多数要求具有大的电流输出能力,驱动各种类型的负载从中都得到便利。功率的驱动电路是功率电子设备输出-13-电路的一个重要组成部分。ULN2003 芯片高压大电流达林顿晶体管阵列产品属于可控大功率器件。本系统有一个直流电机,故用该芯片7 个控制端的其中两个。该系统驱动原理图如图 4.7 所示:图 4.6 ULN2003 引脚图5VR710K5VU4SB12345678IN 1IN 2IN 3IN 4IN 5IN 6IN 7COMMON
45、ULN2003A(16)OUT 1OUT 2OUT 3OUT 4OUT 5OUT 6OUT 7CLAMP161514131211109J812CON2水水 泵泵接接 口口5V电机驱动模块电机驱动模块图 4.7 电机驱动模块电路图4.44.4 软件设计软件设计4.4.14.4.1 主程序流程及相关说明主程序流程及相关说明Keil Vision3 是 2006 年 ARM 推出的软件开发工具,支持 ARM7、ARM9 和最新的Cortex-M3 核处理器,自动配置启动代码,集成 Flash 烧写模块,强大的 Simulation 设备模拟,性能分析等功能。程序在开发工具 Keil_uVision3
46、 上进行设计与编译,自动浇花器工作流程图如图 3.1所示。上电后进行数据初始化,显示器初始化,启动数据转换,判断湿度值和按键扫描。-14-自动浇花器工作过程:首先,进行 AD 数据转换,采集当前湿度数值,显示到显示器上,程序循环扫描设定按键是否被按下,当按键按下时,进入设定模式,设定湿度值下限,返回到测量程序后,程序循环扫描当前湿度值是否小于设定的湿度值下限,若小于下限,则启动水泵进行浇花,浇花后等待水分渗透一分钟,再继续对比当前湿度和测量湿度,如还小于下限值则再浇花,如不小于设定湿度值,则不再浇花,继续测量,待测量湿度值再次小于设定湿度值下限时再启动浇花,循环进行。图 4.8 自动浇花器主程
47、序流程图4.4.24.4.2 输入模块输入模块当设定键(按键 1)按下后,进入设定模式,在设定模式下,按 2 键,设定湿度值+10%,按 3 键,设定湿度值-10%,按 4 键返回主程序。工作流程如图 4.10 所示。-15-开始开始N N设定键按下设定键按下Y Y设定模式设定模式按键按键2 2按下按下N NN N按键按键3 3按下按下N N按键按键4 4按下按下Y Y结束返回结束返回Y Y设定湿度设定湿度+10%+10%Y Y设定湿度设定湿度-10%-10%图 4.9 输入模块流程图4.4.3 AD4.4.3 AD转换程序转换程序系统启动 ADC0809 对模拟量输入信号进行转换,通过判断湿
48、度来确定转换是否完成,若湿度为 0 则继续等待;若 EOC 为 1,则把湿度置位,将转换完成的数据存储到70H 中。程序流程图如图 4.10-16-开始初始化启动A/D转换否A/D是否结束是允许输出,数据存储结束图 4.10 A/D 转换流程图-17-第第 5 5 章章系统实现系统实现5.15.1 环境配置环境配置在 Keil 软件中设置产生 HEX文件,并将晶振频率设为 12MHZ,如图 5.1 所示,然后进行编译。图 5.1 KEIL3 设置截图打开 STC_ISP_V488软件,选择单片机类型为 STC89C52RC,选择串行口为 COM1,设置波特率为 115200B,单击下载按钮,之
49、后重启系统。测试自动浇花器能否达到预期效果,若能实现预期目标则调试结束,否则修改相应程序后重复步骤 1 和步骤 2,直到能实现预期目标。TC_ISP_V488软件操作界面如图 5.2 所示。图 5.2 调试软件界面-18-使用说明:先将传感器、水泵、电池盒接入到主系统板上,将传感器插入到花盆土壤中,将水泵潜入到储水罐里,将水泵出水胶管放入到花盆传感器附近,打开电池盒上的开关,系统供电正常时,液晶显示器会显示当前测量的土壤湿度值,按设定键进入设定模式,并在设定模式里按 2 键和 3 键进行设定湿度的加减,待设定完成后,按4 键返回到测量模式,在测量模式中,判断当前测量湿度如果小于设定湿度值,则启
50、动水泵浇花。5.25.2 功能模块实现功能模块实现5.2.15.2.1 主函数实现主函数实现void main(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+0 x30);/显示设置湿度百位DisplayOneChar(6,1,(s_moi/10%10)+0 x30);/显示设置湿度