达到目的:9999---9998---9997---0
目前状态:9999---9998---9999---9998...只减一次又恢复
int timeCheck;
int main(void)
{
int a=9999;
int aj;
GPIO_Num_Init();
delay_ms(200);
GPIO_SetBits(GPIOA,GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7);//???λ?
while(1)
{
for( TImeCheck = 0; TImeCheck<60; TImeCheck++ )
{
aj=a;
delay_ms(50);
DisPlayNum(aj);
}
TImeCheck=0;
delay_ms(5000);
a--;
GPIO_SetBits(GPIOA,GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7);
}
}
void DisPlayNum(int n)
{
if (n < 10000)
{
int i;
int s;
s=n;
i=0;
for (i=0;i<5;i++)
{
GPIO_SetBits(GPIOB,GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_10|GPIO_Pin_11);
switch (i)
{
case 0:
GPIO_ResetBits(GPIOB,GPIO_Pin_11); //GPIO_Write(GPIOE,table[n % 10]); n=n/10;
break;
case 1:
GPIO_ResetBits(GPIOB,GPIO_Pin_10); //GPIO_Write(GPIOE,table[n % 10]); n=n/10;
break;
case 2:
GPIO_ResetBits(GPIOB,GPIO_Pin_1);
break;
case 3:
GPIO_ResetBits(GPIOB,GPIO_Pin_0); //GPIO_Write(GPIOE,table[n % 10]); n=n/10;
break;
}
switch (s%10)
{
case 0:
GPIO_Write(GPIOA,table[0]);
break;
case 1:
GPIO_Write(GPIOA,table[1]);
break;
case 2:
GPIO_Write(GPIOA,table[2]);
break;
case 3:
GPIO_Write(GPIOA,table[3]);
break;
case 4:
GPIO_Write(GPIOA,table[4]);
break;
case 5:
GPIO_Write(GPIOA,table[5]);
break;
case 6:
GPIO_Write(GPIOA,table[6]);
break;
case 7:
GPIO_Write(GPIOA,table[7]);
break;
case 8:
GPIO_Write(GPIOA,table[8]);
break;
case 9:
GPIO_Write(GPIOA,table[9]);
break;
//default:
//???????IO?????
//break;
}
delay_ms(2000);
s=s/10;
if(s==0) break;
}
}
}
一周热门 更多>