一、工作原理
主控芯片IC3为AT89C2051单片机,IC4是BCD码输入4线一7段锁存译码/驱动器。工作时,六位LED数码管显示当前时间和星期,从左至右,前两位显示时,中间两位显示分,最后一位显示星期。LED9、LEDl0为秒闪指示,每秒闪动一次。当需要调整时间时,按动ANl,小时数可在0~23之间变化;按动AN2,分钟数可在0~59之间变化:按动AN3,星期可在1~7之间变化。初次上电时。
该装置默认浇水开始时间为每天早晨7:00.每路浇水持续时间180秒。每天早上7:00.单片机通过P30(RXD)和P3l(TXD)口串行输出数据,使8位移位寄存器74LSl64的13脚为高电平。
该电平通过uL,N2803驱动,在其18脚输出低电平,使继电器K1闭合,开启第一路浇水装置的电磁阀开始浇水,数码管进入180秒倒计时显示。
180秒后,K1失电,K2得电,第二路浇水开始。依此类推。当八路全部浇水结束后,数码管重新显示当前时间。需要设置时,按一下AN4,数码管前四位显示每天浇水的开始时间。
最后一位显示浇水开始时间标志“8”,按动ANl和AN2进行浇水开始时间设定,方法与调整时间时相同。设置好后,再按一下AN4,数码管前四位显示每路浇水的持续时间,最后一位显示标志“9”,按动AN1可设置持续时间的高两位,按动AN2设置低两位。
单位为秒,设置范围为0~9999秒。设置好后再按一下AN4,数码管又返回到显示当前时间状态。
在实际使用中,若不需要每天都浇水。可在数码管显示当前时间时,按动AN3,使代表星期的最后一位数码管在1~7之间变动,找到不需要浇水的那一天。按动AN5,点亮该数码下面的小数点即可。
例如,要设置每星期的一、三、五、日不浇水,可按动AN3,使最后一位数码管显示“l”(星期一),按动AN5点亮该数码管的小数点,再按动AN3找到星期三,按动AN5点亮小数点。按同样的方法,设置好星期五和星期天即可。
二、软件设计
用89C2051的T0中断进行计时,T1中断进行浇水软件采用模块化设计,修改容易、调试方便。整个程序由主程序、比较程序、二一十进制转换程序、显示程序、键盘扫描程序、按键值跳转处理程序、中断程序、校时程序、设置程序、延时程序等组成。片内主要RAM分配如下:30H~34H分别为0.01秒、秒、分、时、星期的计数单元,36H保存AN4键序,39H保存键码,3AH一3CH为显示缓冲区。40H一42H分别为浇水开始时间的分、时、星期存放单元,47H、48H存放每路浇水持续时间。4CH保存串行输出数据,位01H~07H分别存放星期一到星期天是否浇水标志。
三、其他问题
该装置采用串行输出,对软硬件稍加改动,即可很容易地对输出路数进行扩展。使用时。可把浇水喷头分成若干组,由该装置控制各组轮流浇水。每组喷头数量可根据现场主管道口径、水压、所用喷头种类等情况估算。浇水装置可以是自动旋转喷头、多孔喷水管、地埋喷头、塑料撞击式喷头、雾化浇水器、自制喷管等浇水机械。