局部程序,酌情删改。
uchar count=0; //定义一个计数变量
void delay1ms(uint k) //1ms延时子程序
{
uint i,j;
for(i=k;i>0;i--)
for(j=124;j>0;j--); //1ms延时
}
void keyscan() //按键识别子程序
{
if(key1==0) //检测按键如果为0
{
delay1ms(20); //延时防抖
if(key1==0) //再次检测按键如果为0
{
if(count<10)
count++;
while(!key1); //等待释放
}
}
if(key2==0) //检测按键如果为0
{
delay1ms(20); //延时防抖
if(key2==0) //再次检测按键如果为0
{
if(count>0)
count--;
while(!key2); //等待释放
}
}
}
void xianshi() //显示程序
{
switch(count)
{
case 0: LED1=LED2=LED3=LED4=LED5=LED6=LED7=LED8=LED9=LED10=1;//全灭
break;
case 1: LED1=0;//亮
LED2=LED3=LED4=LED5=LED6=LED7=LED8=LED9=LED10=1;//灭
break;
case 2: LED2=0;//亮
LED1=LED3=LED4=LED5=LED6=LED7=LED8=LED9=LED10=1;//灭
break;
case 3: LED3=0;//亮
LED1=LED2=LED4=LED5=LED6=LED7=LED8=LED9=LED10=1;//灭
break;
case 4: LED4=0;//亮
LED1=LED2=LED3=LED5=LED6=LED7=LED8=LED9=LED10=1;//灭
break;
case 5: LED5=0;//亮
LED1=LED2=LED3=LED4=LED6=LED7=LED8=LED9=LED10=1;//灭
break;
case 6: LED6=0;//亮
LED1=LED2=LED3=LED4=LED5=LED7=LED8=LED9=LED10=1;//灭
break;
case 7: LED7=0;//亮
LED1=LED2=LED3=LED4=LED5=LED6=LED8=LED9=LED10=1;//灭
break;
case 8: LED8=0;//亮
LED1=LED2=LED3=LED4=LED5=LED6=LED7=LED9=LED10=1;//灭
break;
case 9: LED9=0;//亮
LED1=LED2=LED3=LED4=LED5=LED6=LED7=LED8=LED10=1;//灭
break;
case 10:LED10=0;//亮
LED1=LED2=LED3=LED4=LED5=LED6=LED7=LED8=LED9=1;//灭
break;
}
}