要求:
【要求】
首次按压K1可产生“自下向上”的流水灯运动:K1为“启动键’K2 为“停止键”按压K2可终止流水灯的运动;K3和K4为“方向键”,分别产生“自上向下”和“自下向上”运动。
代码
#include <reg51.h>
unsigned char code led[]={0xfe,0xfd,0xfb,0xf7};
//花样亮灯编码
void delay(unsigned int i){
unsigned int j=0;
for(;i>0;i--)
for(;j<125;j++);
}
void main(){
char run=0;//启动标志
char dir=0;//方向标志
char i;
while(1){
switch(P0&0x0f){
case 0x0e:run=1;break;
case 0x0d:run=0,dir=0;break;
case 0x0b:dir=1;break;
case 0x07:dir=0;break;
}
if(run)
if(dir)
for(i=0;i<=3;i++){
P2=led[i];
delay(500);
}
else
for(i=3;i>=0;i--){
P2=led[i];
delay(500);
}
else
P2=0x0f ;
}
}