单片机c语言定时器的问题

不知道为什么无法实现定时器5s 就是把程序改成用定时器来完成就无法实现 定时设置成5ms一周期 然后实现1000次后跳转 我按单片机课本上的来写 就是一直感觉无法跳转到定时器的中断函数 是不能这样写嘛 感觉这样写挺有道理的 😭
代码如下

unsigned char j=0;
void main()
{

TMOD=0X01;
TH0=0XEE;
TL0=0X00;
EA=1;
ET0=1;
while(1)
{
    
    int i;
    P0=0xff;
for(i=0;i<7;i++)
{    
    
    if(P3==0xfe)
    {
        i=0;
    }
    else if(P3==0xfd)
    {
         i=6;
    }
    else if(i==6)
    {
        P0=0xfe;
    }
    P1=s[i];
    P2=k[i];
    TR0=1;


}
}

}
void it0(void) interrupt 1
{

TR0=0;
TH0=0XEE;
TL0=0X00;
j++;
if(j==1000)
{
    
    j=0;

}
else
    TR0=1;    

}

j为char型,只能加到255,怎么也加不到1000