论坛» 高校专区» 坤创E-Geek/天科大新电社

关于蓝桥杯智能灌溉系统(6)

菜鸟
2019-03-23 21:18 1楼

最后一天了 ,也看了好多好多思路和想法。在这分享一下往届题目的思路。这次是第四届的智能灌溉系统,逻辑很重要,理清楚以后做题会快很多。

只是主要的函数 ,重点在思路。

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; } }

院士
2019-03-24 10:18 2楼

这个哪里呈现了智能啊

只是按键然后work()


菜鸟
2019-03-25 12:48 3楼

因为按照题目要求,做题思路主要将主函数分成两个大块,keyscan()是处理按键和标志位,work()负责处理要求功能 ,尽可能的让main()函数变得简洁。在work()里可以明显看出来是手动操作及自动操作两个操作模式,以及不同模式下的按键功能也有所差别。如果问这样的设置怎么智能了.....人家的项目名称就是这样,我也想直接叫它灌溉机。

共3条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册]