最后一天了 ,也看了好多好多思路和想法。在这分享一下往届题目的思路。这次是第四届的智能灌溉系统,逻辑很重要,理清楚以后做题会快很多。
只是主要的函数 ,重点在思路。
void main() { init(); ds1302init(); yuzhi=e2prom_read(0x10); while(1) { ds1302read(); shidu=(AD_read(0x03)*0.38); keyscan(); work(); display1(yi,er); display2(san,si); display3(wu,liu); display4(qi,ba); } } void keyscan() { if(P30==0) { delayms(110); if(P30==0) { mode=~mode; }while(!P30); } if(mode==0) { if(P31==0) { delayms(100); if(P31==0) { yuzhi1=~yuzhi1; }while(!P31);e2prom_write(0x10,yuzhi); } if(yuzhi1==1) { if(P32==0) { delayms(100); if(P32==0) {jia=1;}while(!P32); } else if(P33==0) { delayms(100); if(P33==0) {jian=1;}while(!P33); } } } else { if(P31==0) { delayms(100); if(P31==0) { bee=~bee; }while(!P31); } else if(P32==0) { delayms(100); if(P32==0) { water=1; }while(!P32); } else if(P33==0) { delayms(100); if(P33==0) { water=0; }while(!P33); } } } void work() { if(mode==0) { P2=0x80;P0=0xfe; yi=TIME[2]/10;er=TIME[2]%10;san=10; si=TIME[1]/10;wu=TIME[1]%10;liu=11; qi=shidu/10;ba=shidu%10; if(shidushidu) bee1=1; else bee1=0; } }