I have some questions.
1. Why Do You set TL1,TH1 in infinite loop.
If you intend to set initial value of TL1,TL2 , You must set values only one time.
TL1,TL2 can be overwriten by 0x33, 0xEE before interrupt occurs.
2. Do you intend to operate in timer 1 mode 1 [16-bit Timer/counter ‘THx’ and ‘TLx' are cascaded;
there is no prescaler]
in datesheet Fig 9.[Timer/counter 0 or 1 in mode 1 (16-bit counter)] ?
If so , why don't you set TL1 and TH1 to next values in interrupt rootine TIMER1_ISR.
3.in your sample code, there are 3 {s and 4 }s. Is A } after TR1=1; not needed?
I didn't understand your intention in your sample code.
regards, Mucter.