#include <reg52.h>
void main ()
{
unsigned int n;
unsigned char LED;
LED = 0x00;
while (1)
{
P2 = LED;
if(P2 == 0Xff)
{
LED=0X00 ;
}
for (n=0;n<20000;n++) ;
LED = LED << 1;
LED =LED+1;
}
}
这是我写的关于流水灯的程序
为什么 重新赋值LED,LED=0x00的时候会直接跳过到LED=0x01?不显示灯全灭呢?
各位大神帮忙看看 谢谢了!!!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
if(P2 == 0Xff)
{
LED=0X00 ;
}
LED = LED << 1;
LED =LED+1;
当P2=0xff的时候,循环之后LED值为0x01,而循环当中0x00并未赋值给P2;
可以把P2 = LED;放到for循环下边。这样应该就可以了
一周热门 更多>