Timers Theory .

 

                               Timer registers : TH,TL,TMOD,TCON.

TMOD register : ( 8 bit register )
 
                                         | Gate |  C/T  |  M1 |  M0 | Gate |  C/T  |  M1 |  M0 |
                                               TIMER1                             TIMER0               

Mode 0 - 13 bit timer ( 8 bits for TH & 5 bits for TL ).  --- (00)

Mode 1 - 16 bit timer ( 8 bits for TH & 8 bits for TL ).  --- (01)
Mode 2 - Auto reload TH load TL increment.                 --- (10)
Mode 3 - Split timer.                                                        --- (11)

If you want timer 1 in mode 1 :  0001 0000 ( Binary ) 
                                                       1      0     ( Hex )
 therefore  TMOD = 0x10;

Similarly if you want timer 0 in mode 2 :  0000 0010 ( Binary ) 
                                                                       0      2     ( Hex )
 therefore  TMOD = 0x02;


TMOD table :
      

 


TCON register : ( 8 bit register )
 
                                         | TFO |  TR0  |  TF1 |  TR1 | int |  int  |  int |  int |
                                               TIMER1      TIMER0         Interrupts

TF0 - Timer 0  overflow flag.
TR0 - Timer 0  run start flag.
TF1 - Timer 1  overflow flag.
TR1 - Timer 1  run start flag.
Int - Interrupts.

Comments