51单片机如何在一个工程中同时加入循环左移和循环右移,

P2=aa;//aa=P2口delayms(500);//循环左移aa=_crol_(aa,1);//AA的值循环左移}我做的这个只能循环一个灯,共有八个灯,还没有一排灯... P2=aa;//aa=P2口
delayms(500);//循环左移
aa=_crol_(aa,1);//AA的值循环左移
}
我做的这个只能循环一个灯,共有八个灯,还没有一排灯全部左循环完,右循环又开始,怎么做,让前面个灯循环左移完再右移
{
P2=aa;//aa=P2口
delayms(500);//循环左移
aa=_cror_(aa,1);//AA的值循环左移
}
展开
 我来答
zhxiufan
2015-06-03 · 知道合伙人软件行家
zhxiufan
知道合伙人软件行家
采纳数:14923 获赞数:38386
国家科技进步奖

向TA提问 私信TA
展开全部
这个问题很简单,因为循环左移和循环右移并不相互排斥,可以单独存在,不仅仅在一个工程中,在用一个文件或者同一个程序段中都是可以的。比如。
#include<reg51.h>
#include<intrins.h>
void delay(int a)
{
int i,j;
for(i=0;i<a;i++)
for(j=0;j<110;j++);
}
main()
{
unsigned char led1=0xfe,led2=0x7f;
while(1)
{
P0=_crol_(led1);

P1=_cror_(led2);

delay(100);

}

}
Smart_wolf
2012-11-12 · TA获得超过1697个赞
知道小有建树答主
回答量:1468
采纳率:50%
帮助的人:645万
展开全部
while(1)
{
aa=0xfe;
for(i=0,i<8;i++)
{
delayms(500):
aa=_crol_(aa,1);
P2=aa;
}
aa=0x7f;
for(i=0;i<8;i++)
{
delayms(500);
aa=_cror_(aa,1);
P2=aa;
}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式