image.png
    我定时器按照这个题目做了一份
    基本上到达要求


    #include
    #define u8 unsigned char
    #define s8 char
    #define u16 unsigned int
    #define s16 int

    sbit led1=P0^0;
    sbit led8=P0^7;
    void cls_buzz(void)
    {
    P2 = (P2&0x1F|0xA0);
    P0 = 0x00;
    P2 &= 0x1F;
    }
    void htc573()
    {
    P2 = ( P2&0x1f)|0x80;
    }
    //=====================
    void InitTimer0()
    {
    TMOD =0X01;//¸³Öµ¶¨Ê±Æ÷
    TH0=(65535 - 50000)/256;
    TL0=(65535 - 50000)%256;

    1. ET0=1;
    2. EA=1;
    3. TR0=1;

    }
    u8 count=0;
    u8 count1=0;
    void zhongduanTimer0() interrupt 1
    {

    TH0=(65535-50000)/256;
    TL0=(65535-50000)%256;
    count++;
    count1++;
    if(count == 10)
    {
    led1 = ~led1;
    count = 0;
    }
    if(count1 == 500)
    {
    led8 = ~led8;
    count1 = 0;
    }
    }
    //=====================
    void main()
    {
    cls_buzz();
    htc573();
    InitTimer0();
    while(1)
    {
    }

    }