在蓝桥杯实验板上完成如下功能:用定时器0的方式1实现第一个led灯200ms间隔闪烁,用定时器1的1方式实现数码管前两位59s循环计时

#include <REGX52.H>
#define uchar unsigned char
#define uint unsigned int
sbit led1=P0^0;
uchar num=0,num1,num2,shi,ge;
uchar code table[]={0XC0,0XF9,0XA4,0XB0,0x99,0x92,0x82,0xf8,0X80,
 0X90,0x88,0x83,0xc6,0xA1,0x86,0x8E,0xbf,0xff};
void delayms(uint xms);
void HC573(uchar x);
void display(uchar shi,uchar ge);
void init();
void main(){
    init();
    while(1){
        display(shi,ge);
    }
}
void HC573(uchar x){
    switch(x){
        case 4:
            P2=P2&0X1F|0X80;
            break;
        case 5:
            P2=P2&0X1F|0Xa0;
            break;
        case 6:
            P2=P2&0X1F|0Xc0;
            break;
        case 7:
            P2=P2&0X1F|0Xe0;
            break;
    }
}
void delayms(uint t){
    while(t--);//40000´óÔ¼15ms
}
void display(uchar shi,uchar ge){
    HC573(7);
    P0=table[shi];
    P0=0xff;
    HC573(6);
    P0=0xfe;
    delayms(2667);
    
    HC573(7);
    P0=table[ge];
    P0=0xff;
    HC573(6);
    P0=0xfe;
    delayms(2667);
}    
void init(){
    TMOD=0X11;
    TH0=(65536-50000)/256;
    TL0=(65536-50000)%256;
    TH1=(65536-50000)/256;
    TL1=(65536-50000)%256;
    EA=1;
    ET0=1;
    ET1=1;
    TR0=1;
    TR1=1;
}
/***************ÖжÏ*************/
void Timer0() interrupt 1{
    TH0=(65536-50000)/256;
    TL0=(65536-50000)%256;
    num1++;
    if(num1==4){
        num1=0;
        HC573(4);
        led1=~led1;
    }
}

void Timer1() interrupt 3{
    TH1=(65536-50000)/256;
    TL1=(65536-50000)%256;
    num2++;
    if(num2==20){
        num2=0;
        num++;
        if(num==60)
            num=0;
        shi=num/10;
        ge=num%10;
    }
}