Важная информация

User Tag List

Страница 25 из 26 ПерваяПервая ... 212223242526 ПоследняяПоследняя
Показано с 241 по 250 из 259

Тема: Универсальный контроллер PS/2 клавиатуры для компьютеров с матричными клавиатурами.

  1. #241
    Master Аватар для Rio444
    Регистрация
    23.11.2015
    Адрес
    г. Ростов-на-Дону
    Сообщений
    529
    Спасибо Благодарностей отдано 
    164
    Спасибо Благодарностей получено 
    153
    Поблагодарили
    106 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Xrust Посмотреть сообщение
    При автоповторе не передаётся префикс отпускания клавиши.
    Спасибо! Совсем забыл про это.

  2. #241
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #242
    Member
    Регистрация
    09.09.2021
    Адрес
    г. Климовск
    Сообщений
    159
    Спасибо Благодарностей отдано 
    7
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Доброго дня.
    Ни у кого случаем нет прошивки для Специалиста?

  4. #243
    Master Аватар для Xrust
    Регистрация
    12.04.2017
    Адрес
    г. Тольятти
    Сообщений
    906
    Спасибо Благодарностей отдано 
    204
    Спасибо Благодарностей получено 
    145
    Поблагодарили
    68 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от otrazhenie Посмотреть сообщение
    Доброго дня.
    Ни у кого случаем нет прошивки для Специалиста?
    У меня такой прошивки нет. Насколько я понимаю, там матрица клавиш 12х6. Можно переделать прошивку от Спектрума (первую). Надо только определить соответствие между скан кодом AT клавиатуры и координатой замыкаемого ключа.

  5. #244
    Member
    Регистрация
    09.09.2021
    Адрес
    г. Климовск
    Сообщений
    159
    Спасибо Благодарностей отдано 
    7
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    а не лучше править корветовскую прошивку....там вроде 16 на 8

    Индекс массива соответствует скан коду клавиатуры. Элементы массива кодируют контакты матрицы. Как именно происходит кодирование, видно из этого участка кода:
    Код:

    void SetAddr(uint8_t addr) {
    digitalWrite(AX0,bitRead(addr,0));
    digitalWrite(AX1,bitRead(addr,1));
    digitalWrite(AX2,bitRead(addr,2));
    digitalWrite(AX3,bitRead(addr,3));
    digitalWrite(AY0,bitRead(addr,4));
    digitalWrite(AY1,bitRead(addr,5));
    digitalWrite(AY2,bitRead(addr,6));
    }

    Матрица имеет размерность 16 столбцов и 8 строк. 4 бита AX0...AX3 кодируют столбцы, 3 бита AY0..AY2 кодируют строки. AX0 - самый младший бит, AY2 - самый старший.
    Для удобства я применяю такую заготовку: Заготовка.txt
    программист из меня еще тот...ткните где править соответствие кодов клавы и координатой

  6. #245
    Master Аватар для Xrust
    Регистрация
    12.04.2017
    Адрес
    г. Тольятти
    Сообщений
    906
    Спасибо Благодарностей отдано 
    204
    Спасибо Благодарностей получено 
    145
    Поблагодарили
    68 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от otrazhenie Посмотреть сообщение
    программист из меня еще тот...ткните где править соответствие кодов клавы и координатой
    Править нужно массив. Он состоит из 128 значений. Порядковый номер элемента массива - это сканкод, приходящий с клавиатуры. Сканкодов на самом деле больше, но мы упрощаем в данном случае и используем только префикс F0- отпускание клавиши. Остальные префиксы пропускаем. Значение элемента массива - это закодированный адрес матрицы. Матрица у нас 16 столбцов на 8 строк. 16 мы можем закодировать 4 битами (в данном случае младшие значащие биты элемента массива). А 8 строк можно закодировать 3 битами (здесь это старшие биты). В результате у нас будет число со значением от 0 (нулевая строка, нулевой столбец) до 127 (8 строка, 15 столбец). Т.к. ключ с этим адресом в клавиатуре Корвета не используется, с чистым сердцем присваиваем это значение всем неиспользуемым сканкодам. И так для каждого сканкода. Определяем, будет ли данный сканкод использоваться в нашем компьютере. Если да, то какой клавише (ключу на матрице) будет соответствовать. Пересчитываем адрес матрицы (а он будет завесить от того, как мы подключим матрицу) в код и вносим значение в массив.

    - - - Добавлено - - -

    Скан коды очень наглядно тут можно посмотреть:
    https://radiokot.ru/circuit/digital/pcmod/23/

    - - - Добавлено - - -

    А так можно визуализировать адресацию матрицы:

    0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
    0
    16
    32
    48
    64
    80
    96
    112

    Сложите значение столбца и строки, получится адрес.

  7. #246
    1N4148
    Гость

    По умолчанию

    Уважаемые единочаятели, а не развел ли кто-нибудь данную схему под ЛУТ?

  8. #247
    Master Аватар для Xrust
    Регистрация
    12.04.2017
    Адрес
    г. Тольятти
    Сообщений
    906
    Спасибо Благодарностей отдано 
    204
    Спасибо Благодарностей получено 
    145
    Поблагодарили
    68 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от 1N4148 Посмотреть сообщение
    Уважаемые единочаятели, а не развел ли кто-нибудь данную схему под ЛУТ?
    Да там вполне можно без ЛУТа, МГТФом и макеткой обойтись.

  9. #248
    1N4148
    Гость

    По умолчанию

    Цитата Сообщение от Xrust Посмотреть сообщение
    Да там вполне можно без ЛУТа, МГТФом и макеткой обойтись.
    Ну так-то да, но хочется ведь эстетики.

  10. #249
    Master Аватар для Xrust
    Регистрация
    12.04.2017
    Адрес
    г. Тольятти
    Сообщений
    906
    Спасибо Благодарностей отдано 
    204
    Спасибо Благодарностей получено 
    145
    Поблагодарили
    68 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от 1N4148 Посмотреть сообщение
    Ну так-то да, но хочется ведь эстетики.
    Для эстетов есть платы заводского производства

  11. #250
    Member
    Регистрация
    19.10.2022
    Адрес
    г. Смоленск
    Сообщений
    30
    Спасибо Благодарностей отдано 
    11
    Спасибо Благодарностей получено 
    6
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Спасибо уважаемому Xrusty за контроллер. Посидел в Layoute и сделал под Лут для Спектрума плату на Plcc MT8816. Выкладываю файлы платы и файлы прошивок под atmega8 c фьюзами. Забыл сказать . Прилепил на плату два светодиода с двумя резисторами. Один на питание . Второй на 25 ногу Атмеги , индицирует нажатие любой кнопки на клавиатуре. Хотелось бы попросить уважаемого Xrusta доработать программу и вывести на свободные ноги Атмеги импульс сброса по ctrl alt del , nmi по нажатию какой то функциональной клавиши.
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	IMG_20231209_084630.jpg 
Просмотров:	84 
Размер:	30.5 Кб 
ID:	79881   Нажмите на изображение для увеличения. 

Название:	IMG_20231209_084713.jpg 
Просмотров:	76 
Размер:	46.5 Кб 
ID:	79882   Нажмите на изображение для увеличения. 

Название:	IMG_20231209_084925.jpg 
Просмотров:	66 
Размер:	50.5 Кб 
ID:	79883  
    Вложения Вложения
    Последний раз редактировалось solonoid; 09.12.2023 в 09:06.

  12. Этот пользователь поблагодарил solonoid за это полезное сообщение:

    Xrust (09.12.2023)

Страница 25 из 26 ПерваяПервая ... 212223242526 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 34
    Последнее: 24.11.2022, 16:05
  2. Ответов: 40
    Последнее: 27.06.2021, 15:41
  3. Ответов: 146
    Последнее: 31.05.2020, 19:00
  4. Ответов: 29
    Последнее: 24.03.2019, 18:11

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •