Нужно считать по очереди 3 выдержки времени параллельно по 6 каналам. Еслиб было наоборот - 6 выдержек одна за одной по 3-м каналам (вывод на порт), то вопросов не возникло-бы. Но тут... Мучаю мегу2560. В распоряжении 4 16-битных и 2 8-битных счетчика. Требуется организовать параллельный подсчет времени по 6-ю каналам (с выводом конечной информации на 24 реле т.е. 6 каналов по 4 реле, все каналы работаю независимо друг от друга). Диапазон задержек составляет от 0,1 до 40 секунд. Потому как я понял (а верно-ли я понял????) использование в этих целях 8-битных таймеров не выйдет и 16 битных явно мало для реализации этой задачи аппаратными методами. Как лучше выполнить данную задачу? У кого какие мысли-идеи на этот счет? Сам склоняюсь к подсчету интервалов 0,1 секунда в таймере и организации шести программных счетчиков до требуемых величин выдержек, работающих одновременно при поступлении прерывания с таймера на 0,1 сек. Основной цикл программы хочу закольцевать на опросе кнопок ввода данных с клавиатуры. Выполнение действия по результату нажатия кнопок или достижения программными таймерами своих установленных величин хочу выполнить в подпрограммах по прерываниям.
Извините, если объяснил расплывчато.... Первый самостоятельный проект на МК. 13 лет назад писал проги под Z80, но тут совсем другая история!
P.S. Ах,да, совсем забыл! Еще требуется пара счетчиков на выдержку для устранения дребезга кнопок и выдержка на мигание 7-сегментным светодиодным табло. Потому имеющиеся 2+4 аппаратных счетчика для поставленной задачи считаю недостаточно.


