радиолюбителям сюда можно заглянуть - http://svetlana-06-89.mylivepage.ru/
------------ Дoбавленo:
Собрал утилитку что бы ассемблер было полегче учить (памяти вобще нет а от монитора в книгу от книги к монитору задолбало блин нырять), но в принципе таким образом можно и для других языков сделать подобный (если у кого есть полное описание флагов в (*.тхт) по всей линейке МК скинте куда нибудь пожалуйста) пожалуй и флаги надо будет включить.
код для проверки
#pas
main:
clr count ; Обнуление счетчика опроса клавиш
in temp, PIND ; Чтение порта D
m2: lsr temp ; Сдвигаем входной байт
brcc m3 ; Если текущий разряд был равен 0
inc count ; Увеличиваем показание счетчика
cpi count, 7 ; Сравнение (7 - конец сканирования)
brne m2 ; Если не конец, продолжить
rjmp m1 ; Если не одна клавиша не нажата