急~类似流水灯问题,C语言编程,在线等

来源:百度知道 编辑:UC知道 时间:2024/09/22 09:39:04
C语言程序,用STC89C52单片机
20个灯,每个顺序被点亮;
每个每次点亮一秒后熄灭,3秒后下一个灯亮;
循环5次。
打错,是STC89c54单片机

#include<at89x52.h>
#include<intrins.h>
unsigned char aa,bb,cc,i,x;
void delay()
{
unsigned int i,j;
for(i=0;i<3000;i++)
for(j=0;j<110;j++);
}
void main()
{
for(i=1;i<6;i++);
while(i)
{
{
aa=0xfe;
P0=aa;
delay();
aa=_crol_(aa,1);
}
{
bb=0xfe;
P1=bb;
delay();
bb=_crol_(bb,1);
}

{
cc=0xfe;
P2=cc;
delay();
for(x=1;x<4;x++)
{
P2=cc<<x;
delay();
}
}
}}
}

用个timer实现就好了阿.另外一个变量记录当前开到哪个灯了.
第一个灯 : 点亮 timer清0,开始计数.到了时间关掉.再清零计数,时间到了点亮下一盏灯阿,并且记录灯数的那个变量++.就酱紫吧,谢谢