Цитата:
Порт A
левые 8 горизонтальных линий из 12 матрицы клавиатуры (ввод/вывод)
Порт B
биты D2..D7: 6 вертикальных линий матрицы клавиатуры (ввод/вывод)
бит D1: клавиша <НР> (0 если нажата)
бит D0: ввод с магнитофона
Порт C
биты D0..D3: правые 4 горизонтальные линии из 12 матрицы клавиатуры
бит D4: триггер НП (начальный пуск). По сбросу =0 и всё адресное пространство ПЗУ
бит 5: выход звука
бит 6: без цвета не используется (бит регистра цвета при цветном адаптере)
бит 7: выход на магнитофон (бит регистра цвета при цветном адаптере)
Теоретически для опроса клавиатуры может использоваться один из трех методов:
Порты A, младшая половина C и B программируются на ввод. Нажатая клавиша определяется по положению нулей в обоих портах. Нажатая клавиша располагается на пересечении положения нулей.
Порт A и младшая половина C программируются на вывод, порт B — на ввод. Осуществляется сканирование методом бегущего «0» путем записи в порты A и C и анализа порта B.
Порт A и младшая половина C программируются на ввод, порт B — на вsвод. Осуществляется сканирование методом бегущего «0» путем записи в порт B и анализа портов A и C.
Обычно в программах используется только первый вариант. Два других варианта со сканированием бегущим нулём из-за отсутствия диодов (что есть в матрице РК86) чреваты выходом из строя ППА ВВ55, т.к создают КЗ выходов ППА, к тому же на порядок более медленные и даже, если ППА не выйдет из строя могут давать непредсказуемый результат.