Цитата(rezident @ Aug 23 2010, 18:35)

Чудес не бывает. Изучайте тщательнее User's Guide. Мнится мне, что вы при перезагрузке новых значений длительности/периода нарушаете последовательность их или у вас неправильно обработчик прерывания описан или какое-то другое "лишнее" необрабатываемое прерывание вылетает. Поставьте "заглушки" вида for(;;); на все неиспользуемые вектора прерываний.
Косяк в другом оказался, я P4.6 использовал как вход 15 ADC10 и кроме всего прочего выставлял P4SEL 040h (привычка от PICа) и поскольку аналоговый сигнал около 0,2-0,5 Vcc то иногда это приводило "switch all TB0 to TB3 outputs to high impedance"
а я и Вы, таки, на это бит не обратили внимание