#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--);
}
}
}
}
这个是低电平点亮,为什么左移可以,右移不行啊,朋友帮我看看啊!!谢谢了
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
我也不想看,不过提醒你一下吧。
<<都是在最低位移入0
>>移入的可能是1,可能是0,也可能是某个标志位
仔细研究一下这个区别,应该就可以搞定了
补充一下,上面有点错误,<<有的也可以移入标志位,像51的汇编里有带标志位的移位,也有循环移位吧。
一周热门 更多>