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

#include<reg52.h>#include<intrins.h>#defineuintunsignedint#defineucharuns... #include<reg52.h>#include<intrins.h>#define uint unsigned int#define uchar unsigned charvoid 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_函数进行移位 此函数是左移函数 什么函数能是此程序右移?或者如何编写 谢谢 展开
 我来答
lang1988118
2011-12-08 · TA获得超过358个赞
知道小有建树答主
回答量:207
采纳率:0%
帮助的人:59.5万
展开全部
C51系列单片机中_crol_指令是循环左移函数,_cror_是循环右移函数,这是51中特有的指令,别的类型单片机就不能使用了。易于程序的移植和通用性考虑个人比较推荐用<< 左移, 右移>>这两个C中的移位符号。
随遇而安云凡
推荐于2017-09-25 · TA获得超过2537个赞
知道小有建树答主
回答量:711
采纳率:0%
帮助的人:551万
展开全部
楼主:
看我给你修改一下,作为给你参考:
#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);
}
//下面我写的
//右移1位
while(1)
{
P1=aa;
delayms(500);
aa=aa<<1; //右移1位
}
//左移1位
while(1)
{
P1=aa;
delayms(500);
aa=aa>>1; //左移1位
}

//右移8位
while(1)
{
unsigned char i;
for(i=0;i<8;i++)
{
P1=aa;
delayms(500);
aa=aa>>1;
}
}

}
void delayms(uint xms)
{
uint i,j;
for(i=xms;i>0;i--)
for(j=110;j>0;j--);
}
//这个是做流水灯时候 运用系统文件里自带的_crol_函数进行移位 此函数是左移函数 什么函数能是此程序右移?或者如何编写 谢谢
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Bechance
2011-12-08 · 超过18用户采纳过TA的回答
知道答主
回答量:112
采纳率:0%
帮助的人:51.3万
展开全部
_crol_是左移函数,_cror_是右移函数;
我建议使用<<左移或>>右移,这样会容易理解;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
treasure__U
2012-05-11
知道答主
回答量:12
采纳率:0%
帮助的人:6.8万
展开全部
_cror_这个是右移
#include<reg52.h>//从D0---D7依次点亮
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
uchar temp;
void delay(uint);
void main()
{

temp=0xfe;
while(1)
{
for(int num=0;num<8;num++)
{
P1=temp;
delay(100);
temp=_crol_(temp,1);
P1=0xff;
delay(100);
}

}
}
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--)
;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式