Я когда на 51-м прогал, делал две вещи: 1) Обработчик от таймера
использовал отдельные банки регистров. Там их 4 было. 2) При чтении
таймера проверял "атомарный" флаг, который взводился в прерывании,
и если он был сброшен, то запрещал прерывания и считывал.