51单片机制作一个由一个按钮控制的8盏流水灯程序,要求按下按钮后流水灯先从左到右闪两次

然后全部闪两次。最后全部熄灭。有急用那位大侠能帮忙吗?

第1个回答  2012-12-21
#include<reg51.h>
#define uchar unsigned char
sbit key=P1^0;
uchar led;
void delay(uchar x)
{
uchar i,j;
for(i=0;i<x;i++)
for(j=0;j<125;j++);
}
void disled()
{
uchar i,j;
led=0xfe;
for(j=0;j<2;j++)
{
for(i=0;i<8;i++)
{
P0=led;
delay(200);
P0=0xff;
delay(200);
led<<=1;
led|=0x01;
}}
for(i=0;i<2;i++)
{
P0=0x00;
delay(200);
P0=0xff;
delay(200);
}
P0=0xff;
}
main()
{
while(1)
{
if(key==0)
delay(10);
if(key==0)
{
disled();
}
}
}本回答被网友采纳