缘由一键控流水灯咋实现?-嵌入式-CSDN问答
#include "REG52.h"
sbit k1=P3^0;
sbit k2=P3^1;
sbit k3=P3^2;
sbit k4=P3^3;//端口定义自行修改
void main()
{
unsigned char l=0,xd=0,ys1=0,ys2=0,z=0,qt=0;
P1=l;
while(1)
{
if(k1==0&&++xd==0)
{//自上而下
z=0;
while(k1==0);
}
if(k2==0&&++xd==0)
{//自下而上
z=1;
while(k2==0);
}
if(k3==0&&++xd==0)
{//启动
if(qt==0){z=qt=1;l=128;}else;
while(k3==0);
}
if(k4==0&&++xd==0)
{//停止
qt=0;
while(k4==0);
}
if(qt==1)if(++ys1==0)if(++ys2==0)
{
if(z==0)if(l==0)l=1;else l*=2;
else if(l==0)l=128;else l/=2;
P1=l;//端口自行修改
}
}
}