С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Правильно понимаешь.
Дело в том, что код на шине чтения порта клавиатуры зависит от двух событий:
1) От кода сканирования матрицы клавиатуры;
2) От состояния клавиш клавиатуры, подключенной к контроллеру.
Пока код сканирования неизменен, микропроцессору надо только, в соответствии с этим
кодом, изменять данные в порту чтения, отслеживая состояние клавиш клавиатуры.
Причем делать это можно не торопясь.
Но когда код сканирования изменился, реагировать надо незамедлительно,
поскольку сразу после смены линии сканирования идет чтение данных, и
если запоздать, то прочитается ложный код, от предыдущего состояния данных.
Для этого и надо использовать прерывание по смене состояния линий сканирования.
Последний раз редактировалось caro; 11.11.2008 в 20:10.
Лучше сделать и жалеть, чем не сделать и жалеть.
Некоторые из моих поделок тут: https://github.com/serge-404
Думаю, нужно делать вариант клавиатуры от РК-86. Там матрица попроще - 8х8 плюс 3 линии для выделенных кнопок (ctrl, shift, rus/lat) - итого 8х11 (или 11х8 - смотря как считать). Соответственно, эту клавиатуру можно будет и к РК-86 подключать, не только к Ориону.
Клавиатура МC7007 сложнее - там все 11 линий включены в общую матрицу, и существует 2 схемы включения (в одной схеме 11 линий порта ВВ55 работают на ввод - это считается ленинградским вариантом "совместимым по порту с РК-86", а в другой [авторской] - на вывод).
Последний раз редактировалось Error404; 12.11.2008 в 09:28.
Лучше сделать и жалеть, чем не сделать и жалеть.
Некоторые из моих поделок тут: https://github.com/serge-404
Вариант универсального контроллера клавиатуры для Ориона, РК86, Вектора, ПК8000 и т.д. с матрицей до 8*11.
В ZIPe схема в высоком разрешении.
Последний раз редактировалось caro; 12.11.2008 в 10:38.
Лучше сделать и жалеть, чем не сделать и жалеть.
Некоторые из моих поделок тут: https://github.com/serge-404
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)