Цитата(sazh @ Jan 25 2008, 13:24)

А если таких кнопок - за 100 будет?
А если кнопок будет много, то их собирают в матрицу и матрицу сканируют. Память, счетчик и сумматор-вычитатель (аккумулятор)...
Делают 100 ячеек памяти для промежуточного результата. На нужном такте читают память и делают инкремент или декремент и результат пишут обратно в память.
Ресурсы:
100 ячеек памяти, счетчик адресов, сумматор-вычитатель, регистр, автомат на несколько состояний...
Как видите, абсолютно ничего сложного....
А простейший фильтр - это сдвиговый регистр, с него все выходы и вход подаются на И, оттуда на S-вход триггера. Также все сигеалы подаются на ИЛИ-НЕ, оттуда на вход К триггера. При всех "1" в сдвиговом регистре, триггер переключится в 1, при всех нулях - в "0"...
Реверсивный счетчик с двумя уровнями - это понятно.
Ну а микроконтроллер - это если он уже есть в проекте. Обработка кнопки программная, как обычно. Просто я всегда представлял, что проект делается не только для обработки одной кнопки...