单片机的while语句中的if,为什么按下按键后会自动跳出if,我只在前两个写了跳出,后面没写
单片机的while语句中的if,为什么按下按键后会自动跳出if,我只在前两个写了跳出,后面没写#include "reg51.h"#include "intrins.h"sbit P1_0=P1^0;void delay(unsigned int i){ unsigned int k; for (k=0;k<i;k++);}void main(){ int a[8]={0xFE,0xfd,0xFB,0xF7,0xef,0xDf,0xBf,0x7F}; int b,h=0,c;while(1) { if(P1_0==0) { delay(1100); if(P1_0==0) { while(P1_0==0); h++; if(h==1) { while(1) { for (b=0;b<8;b++) { P2=a[b]; delay(10000); if(P1_0==0) { break; } } if(P1_0==0) { break; } } } else if (h==2) { while(1) { for (c=7;c>=0;c--) { P2=a[c]; delay(10000); if(P1_0==0) { break; } } if(P1_0==0) { break; } } } else if(h==3) { P2=0xff; } else if(h==4) { P2=0x00; } if(h==5) { h=0;} } } }}