void main(void) { Init_System(); delay(1000); //60ms 等待设备就绪 while(1) { while(( Bird_Flag ==1)&&(Rest_Flag == 0)) { ET1=1; TR1=1; LED1 = 0; LED2 = 0; Buzzer_Alert(); Motor=MON; for(k=50;k>0;k--) { if(k%10==0) WDT_CONTR = 0x35; for(i=50;i>0;i--) for(j=500;j>0;j--); } Motor=MOFF; BUZZER=1; LED1 = 1; LED2 = 1; TR1=0; ET1=0; Bird_Flag=0; m=0; s7++; EX1=1; } while(Rest_Flag == 1) //休息期间只打开 T0 及 T0 触发的中断 { if(s4>=1500) { s4=0; s7=0; Rest_Flag = 0; Bird_Flag = 0; delay(500);//等待信号稳定后开中断 EX1=1; } } } }
时间: 2023-09-24 15:03:47 浏览: 91
这段代码看起来像是嵌入式系统的代码,主要是一个无限循环,其中包含了两个 while 循环。第一个 while 循环中,只有在 Bird_Flag 为 1 且 Rest_Flag 为 0 的情况下才会执行一些操作,包括打开定时器和定时器中断、控制 LED、控制蜂鸣器、控制电机等等。第二个 while 循环中,只有在 Rest_Flag 为 1 的情况下才会执行一些操作,包括等待一段时间后再开启定时器中断。整个程序的功能不太清楚,需要更多的上下文信息才能理解。
阅读全文