把一個字節的數據從高位依次間隔賦給單片機的一個管腳。
a=0x05; // 01010101
sbit led=P1^0; //單片機管腳
for(i=7;i>=0;i--) //賦值8次
{
led=a>>7; //高位移到低位
a=a<<1; //把用過的數據移走
}第一次a右移7位就是最高位移到最低位嘛,然后a自己左移一次,第二次實際就是把次高位右移7次。
同理 我像下面這樣寫
for(i=7;i>=0;i--)
{
led=a>>i;
}為什么這樣不對呢?我把變量i作為移動的次數,7,6,....1.也是相當于把數據依次移動到低位啊
求解。
|