Ага, после этого у МК все ресурсы уходят на обмен с регистрами или подсчет задержек.
Это решение "мы изобрели велосипед":
Если нужно подключить 1-16 кнопок на 4 линии, самый простой способ - пара каскадно включеннных шифратора приоритетов 8-3 (например 74НС14
![Горд собой](images/smilies/icon_dovl.gif)
, и на своих 4-х линиях вы имеете код нажатой клавиши
![Прикольно](images/smilies/icon_wink3.gif)
Но есть и ограничение - при двух нажатых клавишах код будет той, у которой больший приоритет. Впрочем, обычно две нажатые клавиши обрабатывать и не надо.
Ну а это цивилизованное решение, никакой мороки с трафиком и дребезгом
![Подмигивание](images/smilies/icon_wink.gif)
на 16-20 кнопок и выглядит так:
http://www.fairchildsemi.com/ds/MM%2FMM74C922.pdf
Для 16 и более кнопок нам прийдется качать код через регистр со сдвигом, а вот для 15-ти кнопок можно обойтесь и без него. Кстати, кто догадается как?