《基于单片机智能浇花系统设计.docx》由会员分享,可在线阅读,更多相关《基于单片机智能浇花系统设计.docx(10页珍藏版)》请在优知文库上搜索。
1、目录.绪论错误!未定义书签。1.l系统工作原理21.2系统模块213系统操作界面及其操作过程错误!未定义书签。13.1 系统操作过程22.部件的选择错误!未定义书签。2.1 芯片的选择错误!未定义书签。2.2 继电器的选择22.3 阀门的选择223.1 电磁阀的选择23.硬件设计23.1 设备的结构23.1.1 中央处理单元33.1.2 1.ED显示局部33.1.3 电磁阀局部3按键局部33.1.5 指示灯局部33.2 总电路设计图33.3 AT89C51单片机电路33.4 晶振电路33.5 复位电路43.9 按键电路43.10 1.ED显示电路43.11 电磁阀电路54软件设计5系统组成错误
2、!未定义书签。4.2 消抖流程及程序64.3 总流程及程序74.4 按键处理总流程及程序84.5 工作中的处理流程95.结论9参考文献9AT89C51基于单片机智能浇花系统设计摘要:本设计是通过AT89C51单片机采用汇编语言进行编程,在LED液晶屏上实现小时,分,秒的显示;并利用单片机来实现计时,定时功能,同时通过7个按键开关和3个指示灯来实现参数设置和调节功能、浇花间隔时间的设定、浇水持续时间的设定、单片机对电磁阀的自动控制。根据用户设定的时间顺利的完成浇花任务。关键词:单片机,控制,显示,电磁阀1.1 系统工作原理自动浇花系统的设计,其主要执行装置是一个电磁阀门,其一端连接水管,另外一端
3、连接外置的水管作为浇水口,浇水的水量主要由单片机控制。设备主要是通过控制浇水的时间间隔和浇水的持续时间来控制浇水量的。1.2 系统模块系统主要是由单片机、电源、按键、显示、指示灯、复位电路、电机模块等组成。图1-1设备在设计过程中需要一个继电器来控制电磁阀的工作。由于需要工作电压在5V左右,而且能保证本钱相对而言比拟低。所以选择了型号为JZC-36F的继电器,其工作电压在4V45V之间,而且在市场上的价格为4元左右。1.3 阀门的选择由于本设备采用单片机控制,并且电磁阀是由开关信号控制的,与单片机控制电路连接十分的方便,所以决定采用电磁阀作为阀门。电磁阀的选择由于直动式电磁阀结构较为简单,动作
4、可靠,而且设备需要在断电条件下铁芯始终保持在关闭状态,所以选用常闭型的直动式电磁阀。具体为YCSM31系列的二位二通直动式电磁阀(常闭型)。3.硬件设计3.1 设备的结构整个自动浇花设备的结构可以分为5大局部:中央处理单元(CPU),LED显示局部,电磁阀局部,按键局部,指示灯局部等。中央处理单元CPU选用AT89C51,用其来对整个系统进行控制:(1)用其来控制整个LED显示器的显示;(2)根据按键的输入做出正确的计算并传输到LED显示器上从而实现时间的调整设定;(3)接受时间芯片DS1302的定时数据;(4)实现电磁阀的控制,从而使设备一切工作顺利进行;1.ED显示局部作为设备的显示器,此
5、设备局部应该根据单片机的控制正确的做出显示,从而使整个设备处于正常的工作状态。3.1.3电磁阀局部电磁阀局部是本设备的执行设备,是本设备顺利执行工作的必要局部。按键局部它是整个系统中比拟简单的局部,根据功能要求,本系统共需7个按键,除了电源按键和复位按键以外还有5个按键位于按键局部,分别是切换按键,上调按键,下调按键,左右调节按键,工作按键。3指示灯局部整个系统中最简单的局部,主要有三个只是灯,除了一个电源指示灯外还有2个指示灯,分别用于设定时间间隔和持续时间。3.2 总电路设计图图4.1总电路根据主要由:晶振电路,复位电路,按键设置电路,LED显示电路,电磁阀电路,以及电源电路等几个局部。通
6、过这几个分电路的分工合作,能够使得系统具有显示功能,并且具备键盘调整功能,同时能够对电磁阀进行有效的控制。从而使设备顺利的进行工作。3 .3AT89C51单片机电路图4.2单片机电路AT89C5单片机的RST引脚连接复位电路,P2.7引脚连接电磁阀电路,PLOPL7引脚连接按键电路,XTALl和XTAL2引脚连接晶振电路,P2.0和P2.1引脚连接指示灯电路,P2.5P2.7引脚连接放大电路从而和PO.OP0.7引脚一起控制LED显示电路。3.4 晶振电路图4.3晶振电路AT89C51单片机芯片内部设有一个反相放大器所构成的振荡器,XTALl和XTAL2分别为振荡电路的输入端和输出端。在XTA
7、Ll和XTAL2引脚上外接定时元件,内部振荡电路就产生自激振荡。定时元件常常是用石英晶体和电容组成的并联谐振回路。系统选择了12MHZ的晶VCC上Cl22UF振片,两个30Pfd额电容C6和C7。图a:上电复位电路图b:按键复位电路图4.4AT89C51单片机的复位电路3.5 复位电路本设计采用的复位电路包括两个方面:上电复位电路图a),按键复位电路图b)。a:上电复位电路:它是利用电容充电来实现复位的。在接电瞬间,RST引脚端的电位与VCC端相同,但是随着充电电流的减少,RST端的电位逐渐下降。只要保证RST端为高电压的时间大于两个机器周期时,系统自动能实现正常复位。b:按键夏位电路:当要系
8、统自动莫位时,只需要按住S8按键,此时电源Vcc经过电阻R1,R2分压,并且在RST端产生一个复位的高电平。同样,只要保证RST端保持高电压的时间大于两个机器周期时,系统自动能实现正常复位。3.6 按键电路3.9 系统采用非编码键盘,按键电路主要由5个按键组成,分别是S2-工作按键;S3-切换按键;S4-左右调节按键;S5+调节按键;S6“-调节按键,本系统采用独立式的按键形式。按照上图的电路连接方法,判断是否有键按下的方法是:查询哪-根接按键的I/O接口线为低电平,如果是低电平那么说明这个接口线连接的按键处于按下状态。相反,假设为高电平那么说明按键处于非按下状态。3.10 1.ED显示电路图
9、4.8LED显示电路系统采用两个LED7段发光显示器DpyAmber-CA,DpyAmber-CA是共阳极的LED显示器,其两个AA端接高电平。处于工作状态的数码管,其显示情况由单片机的P00P0.7八个接线口决定,其八个口分别连接着数码管的八个段。例如要在数码管DSl中显示1,而数码管DS2处于非工作状态,那么需要将P2.6接线口置为1,P2.5接线口置为0,并且使PO.1和P0.2接线口置为1,而PO.0,P0.3P0.7接线口置为0.7段字形码表:(由于系统只需要显示09十个数字,所以只列出了十个)显示字符共阴极字型码共阳极字型码03FHcon106HF9H25BHA4H34FHBC)H
10、466H99H56DH92H67DH82H707HF8HS7FH80H96FH90H根据上面的7段字形码表可以进行编码,从而控制数码管的显示。3.11 电磁阀电路图4.9电磁阀电路如上图所示Q3为一个PNP三极管,Dl为普通二极管,Kl为JZC-36F继电器,M电动机符号来表示电磁阀。在继电器失电的状态下,动合触电断开,动断触电闭合,当继电器得电后,动合触电闭合,动断触电断开,利用继电器的触电开关作用可以控制设备或者传送逻辑电平信号。在本次系统设计中选用了动合触电开关,使继电器在失电状态下保持断开的状态,然而在得电的状态下保持闭合状态。即当Q3基极得到一个高电平那么继电器开关立即闭合,在处于低
11、电平时继电器开关保持断开状态。当继电器的开关闭合时,电磁阀处于一个通路的状态下,那么电磁阀开始工作,设备开始浇水。当继电器的开关断开时,那么电磁阀不工作,设备也不工作。4 .软件设计本系统共需要8个存储单元:1:当指示灯一亮,数码管1选中时,经过+,调节按键调节过的显示数字存储与(41)H,其相应的PO值存储与(40)H02;当指示灯一亮起,数码管2选中时,经过“+,调节按键调节过的显示数字存储与(61)H,其相应的Po值存储与(61)H.3:当指示灯二亮起,数码管1选中时,经过“+,调节按键调节过的显示数字存储与(51)H,其相应的Po值存储与(51)Ho4:当指示灯二亮起,数码管2选中时,
12、经过“+,调节按键调节过的显示数字存储与(71)H,其相应的PO值存储与(71)Ho引脚功能程序入口地址标功能程元器件接口)元器件代号号序PllPROMllS6,调节按键P12PROM12S5+调节按键P13PROM13S4左右调节按键P14PROM14S3切换按键P15PROM15S2工作按键P20DSl指示灯一P21DS2指示灯二P25DS02数码管2P26DSOl数码管1P27Bl电磁阀POla数码管a口POlb数码管b口P02C数码管C口P03d数码管d口P04e数码管e口P05f数码管f口P06g数码管g口P07dp数码管dp口4.2消抖流程及程序为了确保CPU对一次按键动作只确定一
13、次,系统采用软件消除抖动的方法。具体为:假设CPU检测到有键按下时,先执行一段延时程序后再检测此按键,假设仍为按下状态,那么CPU认为此按键确实按下。同样,在键从按下到再次松开时,假设CPU检测到有键松开,并在延时一段时间后仍检测到键在松开状态,那么认为此键确实松开了。图5.1消抖流程以扫描按键S6(其连接引脚Pl.1)为例,用软件解决消抖问题;程序:START: MOV A, #0FFHMOV Pl1 AMOV A, PlJNB ACC. 1, PllJNB ACC.2, P12JNB ACC. 3, P13;输入时先置Pl口全为1;键状态输入;1号按键按下转PlI标号地址JNBACC.4,
14、P14JNBACC.5,P15SJMPSTART;无键按下,返回PH:LCALLDELAY;延迟,从而消除抖动1.CALLDELAYJNBACC.1,PROMl1;再次判断键是否按下,防止抖动引起的错按1.JMPSTARTPROMlIiLJMPSTART;S6按键确实按下,进行S6按键处理注:Pll为S6功能程序入口地址标号;PROMll为按键S6的按键功能程序,这边省略。4.3总流程及程序系统初始状态:电磁阀不工作:指示灯一亮起;指示灯二灭掉;数码管1选中,显示为“0”;数码管2不选中,不显不;相应的程序为:MAIN:MOV30H,#00H;(30H)单元主要是为了处理按键5、按键6的加减问题MOV40H,壮OOHMOV41H,#00HMOV50H,#00HMOV51H,#00HMOV60H,#00HMOV61H1#00HMOV70H,#00HMOV71H,#00H;本系统中所需的8个单元在初始状态下全部赋值为OOHSETB P2. 7SETB P2. 0CLR P2. 1CLR P2.6SETB P2.5MOV A1 #C0HMOV PO, A;电磁阀不工作;指