朋友么,帮改一下。单片机程序简化为2个按键,其中一个键为“方向向下键”,另一个为“方向向上键”,系统总共有两种流水状态,在两个按键的作用下可以切换,系统初始时为方向向下流水状态。

  • #include"reg51.h"
    unsigned char led [] ={0xfe,0xfd,0xfb,0xf7};
    void delay(unsigned char time){
    unsigned int j=15000;
    for(;time>0;time--)
    for(;j>0;j--);
    
    }
    void main(){
    bit dir=0,run=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(200);
       }
      else
    
  • for(i=3;i>=0;i--){
            P2=led[i];
            delay(200);
       }
    
    else P2=0xff;
    }}

    img

img

img