1.按下K1,所有灯闪烁
2.按下K2,流水灯从高到低依次点亮
3.按下K3,流水灯从低到高依次点亮
4.按下K4,所有灯交叉闪烁
5.没有按键按下,所有灯熄灭

cpp
#include "reg52.h"
sbit k1=P3^0;//修改为^4之下顺序编号对于提问
sbit k2=P3^1;
sbit k3=P3^2;
sbit k4=P3^3;
void main()
{//缘由https://ask.csdn.net/questions/8019380
unsigned char sy=0,my=0,xd=0,ls=0,qh=0,j=0;
while(1)
{
if(++sy==0)if(++my==0)
{
P0=ls;
if(qh==0)ls=255;
else if(qh==1)if(ls)ls=0;else ls=255;
else if(qh==2)if(j==0){j=1;ls=255-j;}else {j*=2;ls=255-j;}
else if(qh==3)if(j==0){j=128;ls=255-j;}else {j/=2;ls=255-j;}
else if(qh==4)if(ls==85)ls=170;else ls=85;
}
if(k1==0&&++xd==0){qh=1;ls=0;sy=my=255;while(k1==0);}
if(k2==0&&++xd==0){qh=2;j=0;sy=my=255;while(k2==0);}
if(k3==0&&++xd==0){qh=3;sy=my=255;while(k3==0);}
if(k4==0&&++xd==0){qh=4;ls=170;sy=my=255;while(k4==0);}
}
}
具壽善現復白佛言:「云何菩薩修行般若波羅蜜多,為諸惡友所攝
引故,聞說如是甚深般若波羅蜜多,其心有驚有恐有怖?」
佛告善現:「諸菩薩惡友者,謂教厭離般若乃至布施波羅蜜多,作
是言:『善男子!汝等於此不應修學。所以者何?如是六種波羅蜜
多非佛所說,是文頌者虛誑製造,是故,汝等不應聽習、讀誦、受
持、思惟、推究、為他演說。』當知是為菩薩惡友。
「復次,善現!諸菩薩惡友者,若不為說魔事魔過:謂有惡魔作佛
形像,來教菩薩厭離六種波羅蜜多,作是言:『善男子!何用修此
波羅蜜多?』
「復有惡魔作佛形像,來為菩薩宣說開示聲聞、獨覺相應之法,所
謂契經乃至論義,分別顯了令專修學。
「復有惡魔作佛形像至菩薩所,作如是言:『汝非菩薩無菩提心,
不能安住不退轉地,不能證得所求無上正等菩提。』
「復有惡魔作佛形像至菩薩所,作是言:『善男子!色乃至識空、
無我、無我所,眼乃至意空、無我、無我所,色乃至法空、無我、
無我所,眼識乃至意識空、無我、無我所,眼觸乃至意觸空、無
我、無我所,眼觸為緣所生諸受乃至意觸為緣所生諸受空、無我、
無我所,布施乃至般若波羅蜜多空、無我、無我所,四念住乃至十
八佛不共法空、無我、無我所,何用無上正等菩提?』
「復有惡魔作獨覺形像至菩薩所,作是言:『善男子!十方世界諸
佛、菩薩及聲聞眾一切皆空,汝於是事應深信受,勿自勤苦求欲供
養聽聞正法如說修行。』
「復有惡魔作聲聞形像至菩薩所,令深厭離一切智智相應作意,令
勤修學聲聞、獨覺相應作意。
「復有惡魔作親教軌範形像至菩薩所,令深厭離菩薩勝行,所謂六
種波羅蜜多,及令厭離一切智智,所謂無上正等菩提,唯教勤修四
念住等,令速證得二乘菩提,厭離所求無上乘果。
「復有惡魔作父母形像至菩薩所,告言:『子!子!汝當精勤求證
預流、一來、不還、阿羅漢果,足得永離生死大苦,何用無上正等
菩提?求菩提者要經無量無數大劫,輪迴生死教化有情,棄捨身命
斷截手足,徒自勤苦誰荷汝恩?所求菩提或得、或不得。』
「復有惡魔作苾芻形像至菩薩所,以有所得而為方便,說色乃至識
有無常相、苦相、無我相、不淨相、空相、無相相、無願相、寂靜
相、遠離相真實可得,說眼乃至意有無常相乃至遠離相真實可得,
說色乃至法有無常相乃至遠離相真實可得,說眼識乃至意識有無常
相乃至遠離相真實可得,說眼觸乃至意觸有無常相乃至遠離相真實
可得,說眼觸為緣所生諸受乃至意觸為緣所生諸受有無常相乃至遠
離相真實可得;以有所得而為方便,說四念住乃至十八佛不共法真
實可得,令其修學。若不為說如是等事令覺悟者,當知是為菩薩惡
友。
「善現!若諸菩薩修行般若波羅蜜多,為此惡友所攝引者,聞說如
是甚深般若波羅蜜多,其心有驚有恐有怖。是故菩薩修行般若波羅
蜜多,於諸惡友應審觀察方便遠離,勿近彼故退菩提心,捨諸菩薩
摩訶薩行,不證無上正等菩提。」
大般若波羅蜜多經卷第四百八十五