毕业设计-自动浇水控制器 - 图文(8)

2019-05-18 15:20

烟台大学毕业论文(设计)

} else if(AN4_CNT==2) //如果AN4被按下两次,则是浇水时长的低位设置 { WateringTime_L++; if(WateringTime_L==100) //最大是99 WateringTime_L=0; } break; } case 0xf7://AN3:AN5=0 周校对 AN5=1 浇水周校对 { SysDay++; if(SysDay==8) //最大为周日 SysDay=1; break; } case 0xef://AN4 { AN4_CNT++; if(AN4_CNT==2) //如果AN4按下两次,则是浇水时长设置,9 10 LED 停止闪烁 { SECOND_FLAG =0; //9 10 LED 停止闪烁 TIME_6 =0; //9 10 LED 熄灭 } else //如果AN4不是被按下两次,则显示正常 { SECOND_FLAG =1; //9 10 LED 正常闪烁 if(AN4_CNT==3) //而且,AN4最大只能是2 AN4_CNT=0; } break; } case 0xdf://AN5,设置周几不浇水 { // AN5_CNT=1; // if(AN5_CNT==1) // { if(SysDay==1) {

34

烟台大学毕业论文(设计)

MON_FLAG=0; //关闭周一浇水, } else if(SysDay==2) { TUE_FLAG=0; //关闭周二浇水, } else if(SysDay==3) { THIR_FLAG=0; //关闭周三浇水, } else if(SysDay==4) { WEN_FLAG=0; //关闭周四浇水, } else if(SysDay==5) { FRI_FLAG=0; //关闭周五浇水, } else if(SysDay==6) { SAT_FLAG=0; //关闭周六浇水, } else if(SysDay==7) { SUN_FLAG=0; //关闭周日浇水, } // } // else if(AN5_CNT==2) //关闭周日浇水, // AN5_CNT=0; break; } default:break; } }//结束按键控制

//-------------------------模式的执行和浇水控制---------------------------- //如果系统时间等于浇水时间,执行浇水,不考虑任何模式 if(SysHour==Startwatering_HOUR&&SysMinute==Startwatering_minute) { if(SysDay==1&&MON_FLAG) //周一开始浇水 {

35

烟台大学毕业论文(设计)

// // // // //

Watering(1); } else if(SysDay==2&&TUE_FLAG) //周二开始浇水 { Watering(2); } else if(SysDay==3&&THIR_FLAG) //周三开始浇水 { Watering(3); } else if(SysDay==4&&WEN_FLAG) //周四开始浇水 { Watering(4); } else if(SysDay==5&&FRI_FLAG) //周五开始浇水 { Watering(5); } else if(SysDay==6&&SAT_FLAG) //周六开始浇水 { Watering(6); } else if(SysDay==7&&SUN_FLAG) //周日开始浇水 { Watering(7); } } else ShowTime(SysHour,SysMinute,SysDay); } else {

//无论浇水与否,都需要判断模式 if(AN4_CNT==0) //正常工作,显示时间 { ShowTime(SysHour,SysMinute,SysDay); } else if(AN4_CNT==1) //设置浇水开始时间 { ShowTime(Startwatering_HOUR,Startwatering_minute,8); } else if(AN4_CNT==2) //设置浇水时间长度 秒 {

36

烟台大学毕业论文(设计)

WateringTime=WateringTime_H*100+WateringTime_L; //计算浇水时间 ShowTime(WateringTime_H,WateringTime_L,9); //显示 }

} }

//----------------------------------------- //定时器0中断服务函数 //Timer0定时50ms,

//----------------------------------------

void Time0_ISR(void) interrupt 1 using 2 {

TR0=0; //关闭定时

TH0 = (65536-TIME) /256; //重载初始值 TL0 = (65536-TIME) %6;

flag++; //为了获取1s,设置的标志flag

if(flag==20) //1s定时到 { SysSecond++; //1s到,秒加1 flag=0; //标志清零 if(SECOND_FLAG) //如果需要显示LED闪烁,着SECOND_FLAG=1,否则不显示 TIME_6=SysSecond&0x01; //时分秒进位判断 //秒 if(SysSecond==60) { SysSecond=0; SysMinute++; } //分 if(SysMinute==60) { SysMinute=0; SysHour++; }

37

烟台大学毕业论文(设计)

}

//时 if(SysHour==24) { SysHour=0; SysDay++; } //天 if(SysDay==8) { SysDay=1; } //如果是倒计时模式,浇水时间每一秒减小一个数值 if(WateringTimeFlag==1) WateringTime--; }

TR0 = 1; // 定时器中断服务函数结束,重新开启定时器

38


毕业设计-自动浇水控制器 - 图文(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:安全保卫管理制度

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: