В рамках проекта Аюша-Z80 выкатываю новогодний подарок - адаптер ASCII для клавиатур АТ и PS/2 (и некоторых типов USB-клавиатур). Основа - конструкция Себастиана Кинцля.
Схема ну очень простая:
Используется 14-ножечный контроллер PIC16F684/688 с минимумом обвески. Нагрузочные резисторы могут для большинства PS/2-клавиатур не понадобиться, однако всё решается опытом (для АТ однозначно нужны).
В этой ревизии сделано:
- конвертация первой половины ASCII-таблицы во всех видах (прописные, строчные, с капсом и шифт-капсом);
- конвертация второй половины в кодировке кириллицы СР866 (альтернативная ДОС, прописные, строчные, с капсом и шифт-капсом);
- конвертация всех управляющих символов Ctrl-*** в любой раскладке;
- индикация раскладки (капс или кириллица). Переключение рус/лат осуществлено клавишей ScrollLock;
- подключена цифровая клавиатура (без "стрелок");
- строб негативный.
Далее чистое ИМХО.
Достоинства:
- малые размеры (меньше, чем на ардуине );
- практически отсутствует внешняя обвеска;
- не занимает обработкой основной процессор.
Недостатки:
- чип не относится к ультрадешёвым, хотя в продаже присутствует (UPD: уже есть возможность выбора наличествующего чипа в продаже из двух вариантов);
- некоторый народ к выбранному типу контроллера относится холодно.
Я не считаю себя кульным программером пиков, плохо разбираюсь в сишном коде, посему если кто-то может код поправить/подчистить - не возражаю.
Если кто-то:
- желает изменить кириллическую кодировку,
- использовать иной тип контроллера,
в архиве есть небольшой текстовый файлик, указывающий куда нужно приложить ручки. Основной код насколько возможно откоментил.
К чему применить: к самодельным компьютерам уровня 80-х годов, Apple I/II, возможно к "Ирише", "Океану-240",.. (разумеется, что где-то надо кодировку поменять, где-то строб инвертировать, что не составляет сложности)
Такое же краткое описание выложено на моей страничке, а вы пока тестируйте, проверяйте, выносите жалобы...
UPD от 14.01.2019: оказывается возможным применение некоторых типов USB-клавиатур, которые не содержат внутри USB-хаб и имеют двухстандартный USB-PS/2 чип. Для подключения достаточно пассивного PS/2-USB переходника.
Далее ссылки на прошивки. Если внезапно найден баг, то изменённый архив выкладывается вместо предыдущего.
1. Описанную выше прошивку CP866 и сорцы со справочными данными можно качать тут. (обновлено 19.01.19)
2. Прошивку КОИ-8 и сорцы для компьютера "Ириша" и частичной замены отечественной клавиатуры 15ВВВ-97-005/006 можно качать тут. Схема немного изменена и вложена в архив. (обновлено 19.01.19)
3. (готовится)