обсуждение вырезано из совершенно другой ветки и оставлено в назидание потомкам
Вообще твой случай - замечательная иллюстрация к тому, что надо юзать языки высокого уровня позволяющие качественно структурировать программу (Си++, Джава) и т.п. А нехватка таймеров и прерываний в них - иллюстрация к необходимости RTOS как минимум в виде очереди задач с диспетчером