1. регистр mrak находится в области, для которой команды работы с непосредственными данными не допускаются (см. файл defname_flasher8u.txt )
2. подпрограмма сканера дисплея (он же программный ШИМ) работает автономно в фоновом режиме.
Для загрузки начальных данных, не нарушая общего алгоритма и используется такой вариант - но только на этапе инициализации начального состояния системы. Когда работа просто по переходу достаточно ret, но в рабочем режиме это точка выхода по прерыванию поэтому и стоит reti. Разрешение на запуск тамера дается только после всех процедур загрузки начальных значений данных/режимов работы, а затем уже разрешение прерываний по таймеру, глобальных, сброс предделителя (можно и без него) и запуск таймера.
Флаг OCF0A при начальном запуске равен 0 (см. даташит 8246B–AVR–09/11 стр 87).
Кстати мняв и есть автор.
Engineer_Keen
Чего касательно задержек... всяких... тема отдельных тестов.
В том числе и работа с общими фрагментами только одного (не всех) каналов при остальных с линейным участком (без DR_CALL (оно же com_call kanalN,метка)).
Если подтвердится - харакири для тиньки... Но это опять по свободке.


