Во первых из-за простоты задачи.
Во вторых из-за того, что на Асм'е можно без проблем задать требуемую задержку с точностью до такта процессора. Ну и в третьих - возможность решения задачи на более дешевом МК.
На 'C' IAR это тоже делаеться! Так что нет никакого особого преимущества... (просто учите язык 'C'). :)
Задержки здесь не нужны. Необходимо работать по прерываниям от тайтера соответственно выбрав кварц для расчетной частоты.
Прежде всего большое спасибо откликнувшемся. :)
Боюсь, что прерывания от таймера в данном случае использовать затруднительно, т.к. из диаграммы получается, что минимальный отрезок времени между соседними состояниями = 10 мксек - 8.33 мксек = 1,67 мксек, и на частоте 16 МГц от начала одного прерывания до начала следующего приходится ~26 тактов, попробовал смоделировать в протеусе - нужный промежуток получается больше(BVU, я правильно понял, что в прерывании нужно менять значение счетчика таймера для отсчета следующего отрезка времени ?).
Решил попробовать совет от BVU в реализации от defunct. думаю, что получится достаточно гибкое и точное решение. вот только придется поразбираться с асмом и AVR Studio, а то я только с ICCAVR знаком и вставки на асме не пробовал делать :)