流水灯有问题

2019-07-16 02:20发布

#include <reg51.h>     //此文件中定义了51的一些特殊功能寄存器
#include <intrins.h>
void delayms(unsigned char ms)
// 延时子程序
{      
unsigned char i;
while(ms--)
{
  for(i = 0; i < 120; i++);
}
}

main()
{
unsigned char LED;
LED = 0xfe;   //0xfe = 1111 1110
  while(1)
{
      P2 = LED;
   delayms(250);
   LED = LED << 1;    //循环右移1位,点亮下一个LED "<<"为左移位
    if(P2 == 0x00 )  {LED = 0xfe;  } // 0xfe = 1111 1110
      
   
}
}
不明白最后一个if的作用是什么呢 为什么去了if以后流水灯就不流水了呢 明明是while 死循环啊???
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。