单片机移位运算符和循环移动函数
作者:互联网
比如P2=EF; 1110 1111
P2<<=1;表示左移1位,移位运算符是在低位自动补0;移动之后的二进制数:1101 1110
P2=_crol_(P2,1);表示循环左移,它不会补0啥的,真的是循环;移动之后的二进制数:1101 1111
while(1)
{
P2=0XEF; //1110 P24位选码选中
for(i=1;i<=4;i++){
P0=led[i]; //段码位赋值
for(k=0;k<20;k++);
P0=0X00;
//P2<<=1;
P2=_crol_(P2,1);
}
}
如果用字符型二进制循环左移函数,移动过程是:1101 1111、 1011 1111、 0111 1111 ;
如果用左移运算符,移动过程是:1101 1110 、1011 1100、0111 1000;
标签:P2,1111,1110,左移,运算符,单片机,循环,1101,移位 来源: https://www.cnblogs.com/YYZYCS/p/16330107.html