按键控制发光二极管.c

来自「用按键去控制发光二极管」· C语言 代码 · 共 47 行

C
47
字号
//为什么当S2按下,最后一次是全亮呢?或是不按规则来呢?其它的OK!
#include"reg51.h"
sbit S1=P3^2;
sbit S2=P3^3;
sbit S3=P3^4;
void Delay(void)
{ unsigned int k;
  for(k=5000;k>0;k--) ;
}
void Delay1(void)
{ unsigned int i;
  for(i=50000;i>0;i--) ;
}
void main(void)
{ unsigned char tab[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
  unsigned char i,j;
while(1)
   { P2=0xff;
     if(S1==0)
       { Delay();
         if(S1==0)
           { while(1)
	      { for(i=0;i<8;i++)
	         { P2=tab[i];
	           Delay1();
	           P2=0xff;
	         }
	      }
 	   }
       }  
     if(S2==0)
       { Delay();
         if(S2==0)  
	   { while(1)
	      { for(j=7;j>=0;j--)
	         { P2=tab[j];
	           Delay1();
	           P2=0xff;
		if(j==0)  {j=8;}//到上面又被减一!
	         }
	      }
	   }
       }
     if(S3==0) P2=0xff;
    }

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?