This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Timer in autoload mode

I use Keil sometimes and while using a timer in autoload mode, the TH0 is loaded with the calculated value but TL0 starts incrementing from 00 instead of the calculated value F0.Am I missing something while using or configuring the keil simulator?

Parents
  • The program below is for generating square wave of some delay. I have taken F0 as eg to

    check for small duration. When I run the program in step mode, the TL0 increments directly

    to F3 and then the timer stops in autoload mode.The same set of instructions function in mode 1
    I use keil Uvision 2.

    #include <reg51.h>

    void delay();
    sbit mybit = P1^5;
    main();
    { while(1)
    { mybit = mybit^1;
    delay();
    } }

    void delay()
    { TMOD = 0x02;
    TH0 = 0xF0;
    TL0 = 0xF0;
    TRO = 1
    while(TF0==)
    TR0 = 0;
    TF0 = 0;
    }

Reply
  • The program below is for generating square wave of some delay. I have taken F0 as eg to

    check for small duration. When I run the program in step mode, the TL0 increments directly

    to F3 and then the timer stops in autoload mode.The same set of instructions function in mode 1
    I use keil Uvision 2.

    #include <reg51.h>

    void delay();
    sbit mybit = P1^5;
    main();
    { while(1)
    { mybit = mybit^1;
    delay();
    } }

    void delay()
    { TMOD = 0x02;
    TH0 = 0xF0;
    TL0 = 0xF0;
    TRO = 1
    while(TF0==)
    TR0 = 0;
    TF0 = 0;
    }

Children