#include<reg52.h>
char a;
unsigned int b,c,flag;
sbit F1 = P2^6;
void main()
{
a = 0xff;
while(1)
{
b = 50000;
c = 50000;
a = a<<1;
P1 = a;
while(b--);
if(a == 0x00)
{
a = 0xfe;
flag = 1;
while(c--);
}
while( flag == 1)
{
a = 0x7f;
b = 1000;
c = 1000;
a >>= 1;
P1 = a;
while(b--);
if(a == 0x00)
{
P1 = 0xfe;
flag = 0;
while(c--);
}
}
}
}
这个是低电平点亮,为什么左移可以,右移不行啊,朋友帮我看看啊!!谢谢了
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
当右移位到a=0x00时,
退出循环,然后左移位a还是等于0x00
继续进入右移循环
一周热门 更多>