Starichok51 писал(а): Вт июл 07, 2026 16:04:48
схему изобрази, как это ты представляешь. никто не согласится гадать по этому твоему словесному описанию.
а по твоей схеме могут появится улучшения схемы и другие идеи.
Изобразить я её изобразил, но никакой файл отправить сюда не могу пока.
В любом случае уже макет делают. Получится или не получится, не знаю.
В кратце так:
1) с линий РB0-РВ3 подключены аноды диодов по три штуки к трём кнопкам с каждой линии. Туда же подключены выводы индикатора D4-D7. Катоды диодов, соответственно к кнопкам.
2) с каждых четырёх кнопок, по одной с каждой линии порта В идёт сборная шина к выводам PD0,PD1,PD4, которые являются входами. С каждого входа к "земле" резистор в 100 кОм , для обеспечения открывания диодов. Надеюсь, что 100 кОм не непомерная нагрузка для выходов индикатора.
3) С каждой сборной шина идёт по диоду к входу INT1. Анодом к шине, катодом к входу INT1. С входа на землю 330 ком для обеспечения открывания диодов. Может даже 470 кОм.
После всего, перед переходом в режим SLEEP выставляем на выходах РB0-РВ3 "лог 1" и переходим в режим SLEEP/
Если нажата хоть одна "кнопка" то через диод на одну из сборных шин пойдёт высокий потенциал, а с неё через второй диод на вход запроса прерывания. Надеюсь уровня хватит, или придётся ставить транзистор. По фронту напряжение должно генерироваться прерывание, отключаться режим SLEEP и на выходах РB0-РВ3 выставляется "лог. 0", контролируем отсутствие "1" на входах PD0,PD1,PD4. Если это так, то начинаем опрос, выдавая на РB0-РВ3 по очереди "лог. 1" и контролируя состояние PD0,PD1,PD4.