51单片机流水灯通过按键控制流水灯的流向

要求:1、开机是点亮12发光二极管,闪烁三下
2、按照顺时针循环依次点亮发光二极管
3、通过按键将发光二极管的显示改为顺逆时针方式
这是我的程序,前两部已实现,跪求高手帮忙写第三步
#include <reg51.h>
#include <intrins.h>
void delay1s(void)
{ unsigned char i,j,k;
for(i=15;i>0;i--)
{ for(j=250;j>0;j--)
{ for(k=200;k>0;k--)
{;}
}
} }
void main(void)
{
{ P2=0x00;
P3=0x00;
delay1s();
P2=0xff;
P3=0xff;
delay1s();
P2=0x00;
P3=0x00;
delay1s();
P2=0xff;
P3=0xff;
delay1s();
P2=0x00;
P3=0x00;
delay1s();
P2=0xff;
P3=0xff;
delay1s();
}
while(1)
{int a,b;
{unsigned charOutData=0xfe,OutData1,OutData2;
for(a=0;a<8;a++)
{OutData1=_crol_(OutData,a);
P2=OutData1;P3=0xff;
delay1s();
P2=0xff;
}
delay1s();
for(b=2;b<6;b++)
{OutData2=_crol_(OutData,b);
P3=OutData2;P2=0xff;
delay1s();
}
}
}
}

第1个回答  2012-12-27
for(b=2;b<6;b++)
{
if(key_on())

OutData2=_cror_(OutData,b);
else
OutData2=_crol_(OutData,b);
P3=OutData2;
P2=0xff;
delay1s();
}本回答被提问者采纳
相似回答