目录1. 绪论 (1)1.1系统工作原理 (1)1.2系统模块 (1)1.3系统操作界面及其操作过程 (1)1.3.1 系统操作过程 (2)2. 部件的选择 (3)2.1芯片的选择 (3)2.2继电器的选择 (3)2.3阀门的选择 (3)2.3.1 电磁阀的选择 (3)3. 硬件设计 (4)3.1设备的结构 (4)3.1.1 中央处理单元 (4)3.1.2 LED显示部分 (4)3.1.3 电磁阀部分 (4)3.1.4按键部分 (4)3.1.5 指示灯部分 (4)3.2总电路设计图 (5)3.3AT89C51单片机电路 (6)3.4晶振电路 (7)3.5复位电路 (8)3.6按键电路 (9)3.9LED显示电路 (11)3.10电磁阀电路 (12)4. 软件设计 (13)4.1系统组成 (13)4.2消抖流程及程序 (14)4.3总流程及程序 (15)4.4按键处理总流程及程序 (18)4.5工作中的处理流程 (20)5. 结论 (20)参考文献 (22)AT89C51基于单片机智能浇花系统设计摘要:本设计是通过AT89C51单片机采用汇编语言进行编程,在LED液晶屏上实现小时,分,秒的显示;并利用单片机来实现计时,定时功能,同时通过7个按键开关和3个指示灯来实现参数设置和调节功能、浇花间隔时间的设定、浇水持续时间的设定、单片机对电磁阀的自动控制。
根据用户设定的时间顺利的完成浇花任务。
关键词:单片机,控制,显示,电磁阀1.绪论1.1 系统工作原理自动浇花系统的设计,其主要执行装置是一个电磁阀门,其一端连接水管,另外一端连接外置的水管作为浇水口,浇水的水量主要由单片机控制。
设备主要是通过控制浇水的时间间隔和浇水的持续时间来控制浇水量的。
1.2 系统模块系统主要是由单片机、电源、按键、显示、指示灯、复位电路、电机模块等组成。
1.3 系统操作界面及其操作过程图1.2 系统操作界面1.3.1 系统操作过程注:用上图中的数字编号代替相关按键A:放置设备,接上水管(注意:保证不漏水),插上插头。
B:按下按键4,接通电源,指示灯1亮起(只要电源保持接通则指示灯时刻保持亮起)。
C:按下按键5,显像管显像数字全部置为初始值(即上次设置的时间)。
同时指示灯2亮起,可以对设备工作的时间间隔进行设定。
D:利用按键8、9、10对设备工作的时间间隔进行设定和调节。
E:设定完时间间隔后,利用按键7(可以反复按按键7来切换指示灯2和指示灯3)将指示灯2切换到指示灯3,即可以对设备工作的持续时间进行设定了。
F:同上对设备工作持续时间进行设定。
G:设备工作时间设定完成后,按下按键7则设备开始工作。
2.部件的选择2.1芯片的选择AT89C51单片机是Atmel公司推出的一款产品,一般小芯片的价格都比较低,同样AT89C51作为一款小芯片产品其价格相对而言较为便宜,并且其与MCS-51系列兼容行很好,所以本系统决定采用AT89C51作为芯片。
2.2 继电器的选择设备在设计过程中需要一个继电器来控制电磁阀的工作。
由于需要工作电压在5V左右,而且能保证成本相对而言比较低。
所以选择了型号为JZC-36F的继电器,其工作电压在4V~45V之间,而且在市场上的价格为4元左右。
2.3 阀门的选择由于本设备采用单片机控制,并且电磁阀是由开关信号控制的,与单片机控制电路连接十分的方便,所以决定采用电磁阀作为阀门。
2.3.1 电磁阀的选择由于直动式电磁阀结构较为简单,动作可靠,而且设备需要在断电条件下铁芯始终保持在关闭状态,所以选用常闭型的直动式电磁阀。
具体为YCSM31系列的二位二通直动式电磁阀(常闭型)。
3.硬件设计3.1 设备的结构整个自动浇花设备的结构可以分为5大部分:中央处理单元(CPU),LED显示部分,电磁阀部分,按键部分,指示灯部分等。
3.1.1 中央处理单元CPU选用AT89C51,用其来对整个系统进行控制:(1)用其来控制整个LED显示器的显示;(2)根据按键的输入做出正确的计算并传输到LED显示器上从而实现时间的调整设定;(3)接受时间芯片DS1302的定时数据;(4)实现电磁阀的控制,从而使设备一切工作顺利进行;3.1.2 LED显示部分作为设备的显示器,此设备部分应该根据单片机的控制正确的做出显示,从而使整个设备处于正常的工作状态。
3.1.3 电磁阀部分电磁阀部分是本设备的执行设备,是本设备顺利执行工作的必要部分。
3.1.4按键部分它是整个系统中比较简单的部分,根据功能要求,本系统共需7个按键,除了电源按键和复位按键以外还有5个按键位于按键部分,分别是切换按键,上调按键,下调按键,左右调节按键,工作按键。
3.1.5 指示灯部分整个系统中最简单的部分,主要有三个只是灯,除了一个电源指示灯外还有2个指示灯,分别用于设定时间间隔和持续时间。
3.2 总电路设计图图4.1 总电路根据如图4.1所示的总电路主要由:晶振电路,复位电路,按键设置电路, LED 显示电路,电磁阀电路,以及电源电路等几个部分。
通过这几个分电路的分工合作,能够使得系统具有显示功能,并且具备键盘调整功能,同时能够对电磁阀进行有效的控制。
从而使设备顺利的进行工作。
3.3 AT89C51单片机电路图4.2 单片机电路AT89C5单片机的RST引脚连接复位电路,P2.7引脚连接电磁阀电路,P1.0~P1.7引脚连接按键电路,XTAL1和XTAL2引脚连接晶振电路,P2.0和P2.1引脚连接指示灯电路,P2.5~P2.7引脚连接放大电路从而和P0.0~P0.7引脚一起控制LED显示电路。
3.4 晶振电路图4.3 晶振电路AT89C51单片机芯片内部设有一个反相放大器所构成的振荡器,XTAL1和XTAL2分别为振荡电路的输入端和输出端。
在XTAL1和XTAL2引脚上外接定时元件,内部振荡电路就产生自激振荡。
定时元件常常是用石英晶体和电容组成的并联谐振回路。
系统选择了12MHZ的晶振片,两个30Pfd额电容C6和C7。
图a:上电复位电路图b:按键复位电路图4.4 AT89C51单片机的复位电路3.5 复位电路本设计采用的复位电路包括两个方面:上电复位电路(图a),按键复位电路(图b)。
a:上电复位电路:它是利用电容充电来实现复位的。
在接电瞬间,RST引脚端的电位与Vcc端相同,但是随着充电电流的减少,RST端的电位逐渐下降。
只要保证RST端为高电压的时间大于两个机器周期时,系统自动能实现正常复位。
b:按键复位电路:当要系统自动复位时,只需要按住S8按键,此时电源Vcc 经过电阻R1,R2分压,并且在RST端产生一个复位的高电平。
同样,只要保证RST 端保持高电压的时间大于两个机器周期时,系统自动能实现正常复位。
3.6 按键电路4.5按键电路系统采用非编码键盘,按键电路主要由5个按键组成,分别是S2---工作按键;S3---切换按键;S4---左右调节按键;S5---“+”调节按键;S6---“-”调节按键,本系统采用独立式的按键形式。
按照上图的电路连接方法,判断是否有键按下的方法是:查询哪一根接按键的I/O接口线为低电平,如果是低电平则说明这个接口线连接的按键处于按下状态。
相反,若为高电平则说明按键处于非按下状态。
3.9 LED显示电路图4.8 LED显示电路系统采用两个LED7段发光显示器Dpy Amber-CA, Dpy Amber-CA是共阳极的LED显示器,其两个AA端接高电平。
处于工作状态的数码管,其显示情况由单片机的P0.0~P0.7八个接线口决定,其八个口分别连接着数码管的八个段。
例如要在数码管DS1中显示1,而数码管DS2处于非工作状态,则需要将P2.6接线口置为1,P2.5接线口置为0,并且使P0.1和P0.2接线口置为1,而P0.0,P0.3~P0.7接线口置为0.7段字形码表:(由于系统只需要显示0~9十个数字,所以只列出了十个)显示字符共阴极字型码共阳极字型码0 3FH C0H1 06H F9H2 5BH A4H3 4FH B0H4 66H 99H5 6DH 92H6 7DH 82H7 07H F8H8 7FH 80H9 6FH 90H根据上面的7段字形码表可以进行编码,从而控制数码管的显示。
3.10 电磁阀电路图4.9 电磁阀电路如上图所示Q3为一个PNP三极管,D1为普通二极管,K1为JZC-36F继电器,M电动机符号来表示电磁阀。
在继电器失电的状态下,动合触电断开,动断触电闭合,当继电器得电后,动合触电闭合,动断触电断开,利用继电器的触电开关作用可以控制设备或者传送逻辑电平信号。
在本次系统设计中选用了动合触电开关,使继电器在失电状态下保持断开的状态,然而在得电的状态下保持闭合状态。
即当Q3基极得到一个高电平则继电器开关立即闭合,在处于低电平时继电器开关保持断开状态。
当继电器的开关闭合时,电磁阀处于一个通路的状态下,则电磁阀开始工作,设备开始浇水。
当继电器的开关断开时,则电磁阀不工作,设备也不工作。
4.软件设计4.1系统组成本系统共需要8个存储单元:1:当指示灯一亮,数码管1选中时,经过“+”,“-”调节按键调节过的显示数字存储与(41)H,其相应的PO值存储与(40)H。
2:当指示灯一亮起,数码管2选中时,经过“+”,“-”调节按键调节过的显示数字存储与(61)H,其相应的PO值存储与(61)H。
3:当指示灯二亮起,数码管1选中时,经过“+”,“-”调节按键调节过的显示数字存储与(51)H,其相应的PO值存储与(51)H。
4:当指示灯二亮起,数码管2选中时,经过“+”,“-”调节按键调节过的显示数字存储与(71)H,其相应的PO值存储与(71)H。
引脚功能程序入口地址标号功能程序元器件(接口)元器件代号P1.1 P11 PROM11 S6 "-"调节按键P1.2 P12 PROM12 S5 "+"调节按键P1.3 P13 PROM13 S4 左右调节按键P1.4 P14 PROM14 S3 切换按键P1.5 P15 PROM15 S2 工作按键P2.0 P20 DS1 指示灯一P2.1 P21 DS2 指示灯二P2.5 P25 DS02 数码管2P2.6 P26 DS01 数码管1P2.7 P27 B1 电磁阀P0.0 P01 a 数码管a口P0.1 P01 b 数码管b口P0.2 P02 c 数码管c口P0.3 P03 d 数码管d口P0.4 P04 e 数码管e口P0.5 P05 f 数码管f口P0.6 P06 g 数码管g口P0.7 P07 dp 数码管dp口4.2 消抖流程及程序为了确保CPU对一次按键动作只确定一次,系统采用软件消除抖动的方法。