TH0 i TL0 to rejestry 8-bitowe - przy czym TH0 to starszy, a TL0 młodszy bajt licznika T0... zatem, aby prawidłowo wpisać je do zmiennej typu unsigned int, należy najpierw TH0 przesunąć o 8 bitów w lewo, a następnie operacją bitową (OR) dodać młodszą część licznika.
Załóżmy, że:
(odstępy zrobiłem dla lepszej czytelności)
TH0 = 0b 1000 1000
TL0 = 0b 0001 0001
Krok 1:
unsigned int zmienna = TH0 << 8;
... w "zmiennej" będzie: 0b 1000 1000 0000 0000
Krok 2:
zmienna = zmienna | TL0;
lub skrótowo: zmienna |= TL0;
... w "zmiennej" będzie: 0b 1000 1000 0001 0001
Oto cała filozofia
Polecam Ci zapoznać się z opisem wszystkich operatorów przedstawionych w linku powyżej.
Pozdrawiam.