小弟求解啊,为什么<<左移可以,>>右移为什么不行了!

2020-02-04 09:11发布

#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--);
                }
           }
        }
}

这个是低电平点亮,为什么左移可以,右移不行啊,朋友帮我看看啊!!谢谢了
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。