这个代码点亮LED灯后,第一次按下按键可以实现正常的延时,第二次就不行了,这是哪里错了呀



```c
void Time_init(void)
{
    TMOD|=0x01; //使用T0方式1定时,16位定时,需重新赋初值
    TH0=0x3C;
    TL0=0xB0;
    EA=1;                  //打开中断的总开关
    ET0=1;                 //打开定时器T0中断开关
}



void X0_isr(void) interrupt 0
{
    TH0=0x3C; //重新赋初值
    TL0=0xB0;
    count++;
    if(count==10)           
    {
        count=0;
        TR0=0;
        TF0 = 0;
    }
}

void main(void)
{    
    Time_init();
    while(1)
 {
    u8 a=1; 
    u8 b=1;
    u8 key=0;
    key=key_matrix_flip_scan();
    while(key!=0)
    {
        LEDDZ_COL_PORT=one_col[key-1];//传送列选数据
        hc595_write_data(one_row[key-1]);//传送行选数据
        TR0=1;
        hc595_write_data(0x00);//消影
        LEDDZ_COL_PORT=0x00;
    }    
    
 }
}

```