单片机 移位操作 右移 C语言

#include<reg52.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
void delayms(uint);
uchar aa;
void main()
{
aa=0xfe;
while(1)
{
P1=aa;
delayms(500);
aa=_crol_(aa,1);
}
}
void delayms(uint xms)
{
uint i,j;
for(i=xms;i>0;i--)
for(j=110;j>0;j--);
}

这个是做流水灯时候 运用系统文件里自带的_crol_函数进行移位 此函数是左移函数 什么函数能是此程序右移?或者如何编写 谢谢

第1个回答  2010-01-21
aa=_crol_(aa,1); //左移一位
aa=_cror_(aa,1); //右移一位

可以打开:intrins.h,查看。
第2个回答  2010-01-21
_cror_右移,编写同左移.Keil里的help-uvision打开后找到这个函数,点击它可以看它的应用.本回答被提问者采纳
第3个回答  2010-01-21
aa <<= 1;
就是左移一位
aa >>= 1;
就是右移一位

或者定义
#define LeftMove(a,n) (a<<n)

下面这样用
aa = LeftMove(aa,1);
就得了