Цитата(SS-Sasha @ Dec 15 2007, 23:59)

Так правильно?
Диоды нужно поставить наоборот. Микросхема 74HC138 выдает логический 0 по одному из выходов и логическую 1 по всем остальным. При одновременном нажатии двух кнопок на одной линии чтения получим проводное "или". Линия будет постоянно в состоянии логической 1 и невозможно определить положение нажатых кнопок.
И pull-up резисторы на линиях чтения лучше иметь явные (не полагаться на входные pull-up микросхемы). Так будеть надежнее.
Цитата(pkuz @ Dec 16 2007, 01:34)

ААААА зачем так много диодов?

Достаточно одного на линейку!,кз между рядов прогр. проверять или чго-то не понял

Если иметь по одному диоду на каждую кнопку, то гарантировано можно определить все нажатые кнопки независимо от количества нажатых.
Если иметь только 8 диодов (по одному на каждую линию сканирования), то есть ситуации, когда при одновременном нажатии 3-х кнопок получим замыкание двух линий сканирования с двумя линиями возврата. Таким образом система будет считать, что нажато 4 кнопки. Если нажато больше кнопок, то становится ещё хуже.