Вот например:
при инициализации частота переполнения TIM1 100Hz задана стартовым числом (TCNT1H=0xF6; TCNT1L=0xFE;)
по ходу программы необходимо изменить частоту срабатывания TIM1 до 10Hz.
Пробовал следующий прием: if(что-либо) { #asm("cli") TCNT1H=0xA5; TCNT1L=0xFE; #asm("sei") delay_us(100);}
Контроллер отвечал следующим - таймер TIM1 "затыкался" на некоторое время (видимо на время заданное новым стартовым числом + задержка + циклы) и... начинал исправно отсчитывать срабатывания на старой частоте 100Hz

SOS SOS!!!