Сегодня закончил ПО для подключения клавиатуры PS/2 к РАДИО-86РК с использованием этого контроллера.
Выложил сюда. https://disk.yandex.ru/d/628eTBNh7pVRIQ
ПО для подключения PS/2 клавиатуры к компьютеру Радио-86РК с использованием "Универсального контроллера
PS/2 клавиатуры для компьютеров с матричными клавиатурами", купленного мной у Xrust по адресу:
https://zx-pk.com/forum/viewtopic.php?f=7&t=18766
(далее Контроллер).
Схема подключения Контроллера в архиве.
1. Символы соответствуют клавишам на стандартной клавиатуре (101 клавиша);
2. Клавиши Shift (правый и левый) соответствуют клавише СС клавиатуры Радио-86РК;
3. Клавиши Ctrl (правый и левый) соответствуют клавише УС клавиатуры Радио-86РК;
4. Клавиши Alt (правый и левый) соответствуют клавише Рус/Лат клавиатуры Радио-86РК. Состояние светодиода
Рус/Лат отображается светодиодом ScrolLock. Эмуляция светодиода клавиатуры не полная - переключение его
состояния происходит только после нажатия какой-либо клавиши (мигание при вводе с ленты видно не будет);
5. Клавиши "~" на основной клавиатуре и "Inset" на дополнительной соответствуют клавише СТР клавиатуры Радио-86РК;
6. Клавиши "Home" на дополнительной и "7/Home" на цифровой клавиатуре соответствуют стрелке вверх и влево клавиатуры Радио-86РК;
7. Клавишей "NumLock" осуществляется переключение состояния ввода на цифровой клавиатуре - либо цифры (NumLock = on),
либо управляющие коды стрелок. Состояние NumLock запоминается в энергонезависимой памяти и отображается соответствующим
светодиодом на клавиатуре.
8. Клавишей "CapsLock" осуществляется фиксация нажатия Shift и отображается соответствующим светодиодом на клавиатуре.
9. Клавиша "Esc" соответствуют клавише АР2 клавиатуры Радио-86РК.
При написании кода использовались 3 библиотеки, которые возможно использовать и не для эмуляции клавиатуры Радио-86РК:
1. Библиотека Timers.h - таймеры на мили и микросекунды
2. Библиотека ps2kbdraw.h - библиотека низкоуровневой работы с клавиатурой ps/2;
3. Библиотека cps2kbd.h - библиотека высокоуровневой работы с клавиатурой ps/2;
Для того, чтобы контроллер перезагружался одновременно с компьютером на его вход #RESET - 5 нога разъёма J1 должен быть подан 0.
Если происходят ошибки при работе с клавиатурой (рассинхронизация или её извлечение из разъёма) происходит перезагрузка Контроллера.
С уважением.
Нечитайлов Евгений.


Ответить с цитированием


