Timer Calculations(TH & TL).

  

                         8051 Crystal Frequency - 11.0592Mhz

Timer frequency  =  Crystal Frequency / 1 machine cycle execution oscillator period.
                            =  11.0592 / 12 
                            = 0.9216 Mhz.

Timer time   = 1 / Timer frequency.
                     = 1/ 0.9216 Mhz.
                     = 1.085 microsec.

Assuming our Timer is selected in Mode 0 
therefore it would be a 13 bit timer ( 8 bit for TH & 5 bits for TL).

Mode 0 : 13 bits.
             : 2^13.
             : 8192.

Max time of timer in Mode 0 =  8192 * 1.085 microsec.
                                              = 8888.32 microsec.
                                              = 8.8 millisec.   

Now lets say we require a delay of 8 millisec.

(1) We can use the timer just once bcoz it has a maximum timer limit of 8.8 millisec.
                                                           or
(2) We can use the same timer 8 times by resetting the timeroverflow flag(TF).



Here we will be moving ahead by using the timer just once.

required delay = 8 millisec.

8 millisec /1.085 microsec   =   7.373 * 10^3  = 7373 .

8192 - 7373  = 819.

So we have to start our timer from 819 to give us a delay of  8 millisec.

Now convert 819 (dec) into binary.

819( Dec ) = 1100110011 ( Binary )

But our timer is of 13 bits so we need to add 3 more bits 

0001100110011  =    00011001     10011 
                                   TH                 TL

TH = 00011001 - 19H.
TL = 10011       -  13H.

Therefore we have to load TH = 0x19;  & TL = 0x13;
to get the required delay of  8 millisec.









Comments