利用开关实现流水灯形式变换功能描述:按下K1时,LED灯从上往下跑一遍;按下K2时,LED灯灯从下往上跑一遍,再从上往下跑一遍;按下K3时,LED灯从上方开始作流水灯形式运行一次,然后再流回来;按下K5时,结束正在进行的程序,LED灯全部熄灭。程序代码:#includereg52.h//头文件,函数声明#includeintrins.h//定义按键所在位sbitK1=P0^0;sbitK2=P0^1;sbitK3=P0^2;sbitK4=P0^3;unsignedcharled;unsignedcharj;voiddelayms(unsignedcharms){while(ms--){for(j=0;j110;j++);}}voidmain(){unsignedinti;while(1){if(K1==0)//按下K1时,LED灯从上往下跑一遍;delayms(10);if(K1==0){led=0xfe;for(i=0;i7;i++){P2=led;delayms(100);led=_crol_(led,1);P2=led;delayms(100);}while(!K1);P2=led;}if(K2==0)//按下K2时,LED灯灯从下往上跑一遍,再从上往下跑一遍;delayms(10);if(K2==0){led=0x7f;for(i=0;i7;i++){P2=led;delayms(100);led=_cror_(led,1);P2=led;delayms(100);}while(!K1);P2=led;delayms(100);for(i=0;i7;i++){led=_crol_(led,1);P2=led;delayms(100);}}if(K3==0)//按下K3时,LED灯从上方开始作流水灯形式运行一次,然后再流回来;delayms(10);if(K3==0){led=0xfe;delayms(200);for(i=0;i7;i++){P2=led;delayms(200);led=led1;//led=_crol_(led,1)即led1||led7,向左循环移动一位;P2=led;delayms(200);if(led==0x00)break;}while(!K1);led=0x7f;P2=led;delayms(200);for(i=0;i7;i++){led=led1;P2=led;delayms(200);}}if(K5==0)//按下K5时,结束正在进行的程序,LED灯全部熄灭。delayms(10);if(K5==0)P2=0xff;}}keil仿真Protues仿真K1功能K2功能K3功能K3功能K4功能