Цитата(rv3dll(lex) @ Mar 31 2008, 11:16)

если таймер без автоперезапуска это когда все 16 бит используются и идёт загрузка с помощью команд в векторе прерывания то
переход на вектор прерывания происходит не сиюсекундно а только после завершения текущей команды
Так
Цитата
так как длина команд различна, то задержка будет тоже различна и никакому подсчёту и коррекции не поддаётся.
Не так, исходный таймер продолжает считать, так что его значение вполне можно использовать для учета той самой задержки. Обычно это делается просто путем прибавления константы к регистру таймера внутри прерывания.
Цитата
кварц который на контроллере кривой и генерит выше
Это бред. В контролере кварца вообще нет, кварц внешний. Точность этого внешнего кварца (какой бы кривой генератор не был в контролере) будет в несколько раз выше, чем у часового кварца (да еще вкупе с 176 серией)
Цитата
поэтому в нормальных контроллерах всегда есть ещё и часовой кварц
Есть, но для других целей. Он вешается на отдельный генератор и счетчик, которые будут продолжать считать, пока основной процессор находится в режиме SLEEP, прерывания от часового счетчика будут его будить. Делается это все для обеспечения режима низкого энергопотребления на фоне работающих часов (например при работе от батареек)
Цитата
но лучше поставить внешний генератор делитель на микросхеме для часов в 176 серии или 4000 аналоге такая есть.
Ага, и микроконтролер выкинуть (они иногда подвесают) и собрать все на 155 серии - 100% надежность