缘由https://ask.csdn.net/questions/7963270/54236306

单片机程序。如何在这个的基础上加两个按键。按下按键1,实现双向跑马灯;按下按键2,跑马灯全灭。
跟我学就是教外别传(教课外的学习)不陷入门级别的困境,不拘泥按理整合按逻辑写契合实践.
cpp
#include <reg52.h>
sbit k1=P3^2;
sbit k2=P3^3;
void main()
{//缘由https://ask.csdn.net/questions/7963270/54236306
unsigned char xd=0,ys=0,sy=0,ls=0;
bit k=0,x=0;
while(1)
{
P2=255-ls;
if(k2==0&&++xd==0){k=1;ls=0;while(k2==0);}
if(k1==0&&++xd==0){k=0;ls=0;while(k1==0);}
if(k)if(++ys==0)if(++sy==0)
{
if(ls==0)ls=(x?128:1);
else if(x)ls/=2;
else ls*=2;
if(ls==0)x=~x;
}
}
}
