Кажись придумал. Правда клаву прийдется "крутить" для Апогея/РК. Схема такая:
ставим два регистра Рг0 и Рг1, например ИР23
сигнал РА0 с матрицы клавиатуры подаем на вход записи Рг1 и чтения Рг0, РА1 подаем на вход записи Рг0 и чтения Рг1
сигналы РВ с матрицы клавиатуры подаем на входы регистров, с выходов регистров сигналы подаем на порт РВ; сигналы РВ1 и РВ2 через буфер Бф0, открывающийся по РА0=0, подаем на РВ5 и РВ1, соответственно, порта РВ, а сигналы РВ5 и РВ7, через буфер Бф1 с РА1=0 - на РВ0 и РВ1.
ставим буфер Бф на линии РВ клавиатуры, который будет пропускать на прямую сигналы РВ на порт только при РА0=РА1=1.
Принцип работы:
при работе Апогея сканирование клавиатуры идет через порт РА
клавиатура Апогея отличается от Микроши сканлиниями РА0 и РА1, т.е. кнопки "перетасованы" между этими линиями
когда идет сканирование линии РА0, состояние линий/столбцов РВ клавиатуры пишется в Рг1 и параллельно читается состояние из Рг0, сигналы РВ, не требующие конвертации, подаются через Бф0 вместе с данными Рг0 на порт РВ
аналогично происходит и при сканировании линии РА1
т.о. мы получаем нужные состояния столбцов при соответствующих активных сканлиниях.
- - - Добавлено - - -
Как-то так:
- - - Добавлено - - -
Забыл добавить.
К сигналам РА0 и РА1 обязательно надо подмешать сигнал выбора конфигурации "Апогей/РК".
Последний раз редактировалось Alex_LG; 30.07.2018 в 15:40.
У Апогея и РК клавиатуры идентичные. Проблема с клавой Микроши. И не только с портами А и В. Но и в том, что на строках и столбцах есть не совпадающие символы.
Последний раз редактировалось Vladimir_S; 30.07.2018 в 16:44.
Alex_LG, Все равно не получится. Взять хотя бы линию на которой кнопки 1,2,3,4,5,6,7. На РК она идет на порт А и в эту линию включен диод. В Микроше эта линия подтянута через резистор. Т.е. в РК это столбец, а в Микроше это строка.
Конечно я имею в виду клавиатуру от корпуса Апогея. Может у тебя другая?
А зачем тогда Вы переводили линии А и В!?
Отвечу сам ) Для того, что бы с клавы Микроши сделать клаву Апогея! На АП16 меняем линии местами, а схемой корректировки - ставим кнопки для Апогея на место!
- - - Добавлено - - -
Единственное замечание по схеме клавы - за основу берем схему от Микроши, для Апогея используем схему корректировки, т.к. для него нужно только по двум линиям корректировать (РА0 и РА1). Для Микроши пришлось бы по всем 8-ми.
Забыл про "Пробел"! Надо над ним подумать. Еще не могу сопоставить Апогеевские "ЗБ" и "ТАБ" - чем заменены они в Микроше...
- - - Добавлено - - -
О, я понял о чем Вы! ) Думаю....
По-моему, тут только один вариант - ПЗУ.
1. Чтобы поменять А и В адресные входы ВВ55 и часть битов данных (чтобы скорректировать запись в РУС) пропустить через ПЗУ номер 1, на чтение поставить буфер
2. РА0,РА1 и выходы первой линии кнопок пропустить через ПЗУ номер 2
3. РА0,РА1 и выходы второй линии кнопок пропустить через ПЗУ номер 3
4. выходы ПЗУ номер 2 и ПЗУ номер 3 объеденить через диоды с выходами остальных клавиш
5. один из адресных входов ПЗУ будет конфигурационным битом
6. ну и с пробелом что-нибудь придумать.
- - - Добавлено - - -
Или такой вариант:
1. Чтобы поменять А и В адресные входы ВВ55 и часть битов данных (чтобы скорректировать запись в РУС) пропустить через ПЗУ номер 1, остальные биты данных - через буфер
2. Чтение из ВВ55 тоже пропустить через ПЗУ номер 2, но на адресные входы дополнительно подать РА0,РА1,РА7
Последний раз редактировалось b2m; 31.07.2018 в 13:13.
Ок )))
В общем, крутить ничего не надо! Нужно добавить еще 8 диодов и 24 резистора (16 из них можно заменить на две АП6, кому как удобней;) ). Вся схема основана на схеме Микроши!
Принцип работы.
Режим Микроши.
Шина РВ используется для сканирования (выход), шина РА - для чтения состояния клавиш (вход). Сигнал А/М=0.
Буферы 7.2 и 7.3 закрыты, их выходы "подтянуты" к +5В соответственно регистры 1 и 2, буфер 5 закрыты и находятся в Z состоянии. Буфер 8 так же закрыт.
Буфер 3 открыт, направление передачи от В к А, т.е. сигналы с шины РВ по шине В поступают на диоды 1-8.
При нажатии клавиши, на анод одного из диодов 9-16 подается "0", что закрывает соответствующий диод, коллектор которого подтянут к "земле", что приводит к появлению "0" на одной из линий шины РА.
Режим Апогея.
Шина РА используется для сканирования (выход), шина РВ - для чтения состояния клавиш (вход). Сигнал А/М=1.
Буферы 7.2 и 7.3 открыты. Регистры 1 и 2, буфер 3 и 5, триггер 6 (запись состояния В0 при РА0=0, "Прбел") управляются сигналами РА0 и РА1. Буфер 8 открывается при РА7=0 (для клавиши "Пробел").
У буфера 3 направление передачи от А к В, т.е. сигналы с шины В поступают на шину РВ при РА0=РА1=1.
Т.к. у Апогея отличаются от Микроши первые две линии в матрице клавиатуры, то в регистрах 1 (при РА0=0) и 2 (при РА1=0) запоминается состояние шины В, и одновременно считывается предыдущее состояние из регистра 2 (РА0=0) и 1 (при РА1=0). Линии шины В, которые на "перемешаны" между РА0 и РА1 выводятся напрямую через буфер 5 (с коррекцией положения).
При нажатии клавиши, на анод одного из диодов 1-8 подается "0", что закрывает соответствующий диод, коллектор которого подтянут к "земле", что приводит к появлению "0" на одной из линий шины В, состояние которой выводится через буфер 3 или 8, или запоминается в одном и регистров.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)