User Tag List

Страница 25 из 27 ПерваяПервая ... 21222324252627 ПоследняяПоследняя
Показано с 241 по 250 из 303

Тема: Орион-128: Контроллер PS/2-клавиатуры

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    20.12.2016
    Адрес
    г. Москва
    Сообщений
    388
    Спасибо Благодарностей отдано 
    89
    Спасибо Благодарностей получено 
    34
    Поблагодарили
    22 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от caro Посмотреть сообщение
    В этом случае ATMEGA8 не подойдет.
    А ATmega 16? Там 40 ног, и полные 24 вывода.

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

  3. #2

    Регистрация
    14.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,726
    Спасибо Благодарностей отдано 
    19
    Спасибо Благодарностей получено 
    148
    Поблагодарили
    91 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от surinm Посмотреть сообщение
    А ATmega 16? Там 40 ног, и полные 24 вывода.
    На самом деле там 4 порта по 8 бит, так что этого достаточно с большим запасом.

  4. #3

    Регистрация
    20.12.2016
    Адрес
    г. Москва
    Сообщений
    388
    Спасибо Благодарностей отдано 
    89
    Спасибо Благодарностей получено 
    34
    Поблагодарили
    22 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    caro, какую прошивку лучше взять за исходную для модификации под 16ю атмегу?

  5. #4

    Регистрация
    20.12.2016
    Адрес
    г. Москва
    Сообщений
    388
    Спасибо Благодарностей отдано 
    89
    Спасибо Благодарностей получено 
    34
    Поблагодарили
    22 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от caro Посмотреть сообщение
    Если делать только на одном контроллере, без внешних регистров,
    то надо: 16 линий данных плюс 8 линий адреса и 2 линии сигналов A8 и /CSKB - всего 26 сигналов.
    Вчера повтыкал на разные схемы контроллеров PS/2 для Ориона, Специалиста, спеков, ну и конечно внимательно посмотрел на схему мультиплексоров клавиатуры Корвета. Вопрос - а зачем выводить на контроллер A8 и /CSKB, если нужно всего лишь обеспечить своевременное "замыкание" пар бита адреса и нужного бита ШД? Т.е. достаточно отлавливать сигнал на ША и сразу давать его на ШД. Где я не прав?

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

    Т.е. мультиплексор в самом корвете уже есть, он как раз и управляется сигналами A8 и /CSKB. И все 16 линий данных аппаратно идут на клавиатуру - сама клавиатура все-лишь замыкатель, т.е. не содержит логики.

  6. #5

    Регистрация
    14.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,726
    Спасибо Благодарностей отдано 
    19
    Спасибо Благодарностей получено 
    148
    Поблагодарили
    91 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от surinm Посмотреть сообщение
    Т.е. достаточно отлавливать сигнал на ША и сразу давать его на ШД. Где я не прав?
    Ты прав, но для этого контроллер должен иметь такую функцию - чувствительность к изменению состояния на портах ввода/вывода.
    Например ATMega8 (dip28) и ATMega16 (dip40) не имеют такую функцию, а программно они не смогут вовремя реагировать на опрос клавиатуры.
    Если использовать ATMega48 или ATMega164 можно спокойно заниматься опросом клавиатуры и формированием массива нажатых клавиш,
    но как-только произойдет изменение на шине адреса сканирования, произойдет прерывание работы основной программы, и на шине данных
    будет выдан код соответствующий нажатой клавише. Поэтому в этом случае можно обойтись и без сигналов A8 и /CSKB.

  7. #6

    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,581
    Спасибо Благодарностей отдано 
    64
    Спасибо Благодарностей получено 
    112
    Поблагодарили
    97 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Камиль, рады вас видеть в наших палестинах!
    Получилось ли что-то по теме разработки варианта прошивки для схемы из данной темы, когда матрица 8x8+3 преобразуется в универсальную 8x11, что дало бы прописывать там как матрицу РК-86 (как частный случай), так и матрицу УКНЦ как полные 8x11 (получилось бы впихнуть все 88 кнопок). У нас вышло уже 2 релиза плат для УКНЦ, которые разведены под корпус и клавиатуру УКНЦ, и там сразу разведен контроллер из этой темы (причем с 11 доп. диодами, что в теории дает возможность одновременного использования и механической клавы, и PS2). В теории красиво, а на практике получается что механическая клава УКНЦ, а писишная - РК86, дающая другие нажатия. Хотелось бы уравнять.

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

    Цитата Сообщение от caro Посмотреть сообщение
    Если делать только на одном контроллере, без внешних регистров,
    Линий портов АтМеги48 как раз хватает на универсальный вариант 8х11
    Последний раз редактировалось Error404; 16.04.2018 в 18:36.
    Лучше сделать и жалеть, чем не сделать и жалеть.

    Некоторые из моих поделок тут: https://github.com/serge-404

  8. #7

    Регистрация
    14.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,726
    Спасибо Благодарностей отдано 
    19
    Спасибо Благодарностей получено 
    148
    Поблагодарили
    91 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Error404 Посмотреть сообщение
    Камиль, рады вас видеть в наших палестинах!
    Получилось ли что-то по теме разработки варианта прошивки для схемы из данной темы, когда матрица 8x8+3 преобразуется в универсальную 8x11, что дало бы прописывать там как матрицу РК-86 (как частный случай), так и матрицу УКНЦ как полные 8x11 (получилось бы впихнуть все 88 кнопок). У нас вышло уже 2 релиза плат для УКНЦ, которые разведены под корпус и клавиатуру УКНЦ, и там сразу разведен контроллер из этой темы (причем с 11 доп. диодами, что в теории дает возможность одновременного использования и механической клавы, и PS2). В теории красиво, а на практике получается что механическая клава УКНЦ, а писишная - РК86, дающая другие нажатия. Хотелось бы уравнять.
    Я немного запамятовал, а разве нельзя в контроллере писишной клавы переделать таблицу привязки клавиш, что бы она соответствовала клаве УКНЦ?

  9. #8

    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,581
    Спасибо Благодарностей отдано 
    64
    Спасибо Благодарностей получено 
    112
    Поблагодарили
    97 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от caro Посмотреть сообщение
    Я немного запамятовал, а разве нельзя в контроллере писишной клавы переделать таблицу привязки клавиш, что бы она соответствовала клаве УКНЦ?
    здесь имеется в виду не контроллер внутри клавиатуры PS2, а контроллер на AtMega48. В котором сейчас матрица 8х8 и 3 отдельных кнопки по 3 линиям:

    Скрытый текст


    Код:
    ;--------------------------------------------------------
    ;   Матрица клавиатуры
    ; -----------------------------------
    ;    │ D7  D6  D5  D4  D3  D2  D1  D0
    ; ---+-------------------------------
    ; A7 │SPC  ^   ]   \   [   Z   Y   X
    ; A6 │ W   V   U   T   S   R   Q   P
    ; A5 │ O   N   M   L   K   J   I   H
    ; A4 │ G   F   E   D   C   B   A   @
    ; A3 │ /   .   =   ,   ;   :   9   8
    ; A2 │ 7   6   5   4   3   2   1   0
    ; A1 │ v  ->   ^  <-  ЗАБ ВК  ПС  TAB
    ; A0 │F5  F4  F3  F2  F1  AP2 CTP  \
    ; -----------------------------------
    ; биты данных сканирования (d2..d0) [номер колонки 0..7]
    D0	EQU	000H
    D1	EQU	001H
    D2	EQU	002H
    D3	EQU	003H
    D4	EQU	004H
    D5	EQU	005H
    D6	EQU	006H
    D7	EQU	007H
    ; биты адреса сканирования (d5..d3) [номер строки *8]
    A0	EQU	000H
    A1	EQU	008H
    A2	EQU	010H
    A3	EQU	018H
    A4	EQU	020H
    A5	EQU	028H
    A6	EQU	030H
    A7	EQU	038H
    ; Префиксные биты (d7..d6)
    Ctrl	EQU	080H	;флаг Ctrl   Bit7=1
    Shift	EQU	040H	;флаг Shift  Bit6=1
    AltTb	EQU	0C0H	;флаг доп.таблицы
    [свернуть]


    а хочется полноценную матрицу 8х11. Вот тогда туда можно будет закодировать и 88 клавиш клавиатуры УКНЦ
    Лучше сделать и жалеть, чем не сделать и жалеть.

    Некоторые из моих поделок тут: https://github.com/serge-404

  10. #9

    Регистрация
    14.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,726
    Спасибо Благодарностей отдано 
    19
    Спасибо Благодарностей получено 
    148
    Поблагодарили
    91 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Error404 Посмотреть сообщение
    здесь имеется в виду не контроллер внутри клавиатуры PS2, а контроллер на AtMega48.
    В котором сейчас матрица 8х8 и 3 отдельных кнопки по 3 линиям:
    а хочется полноценную матрицу 8х11. Вот тогда туда можно будет закодировать и 88 клавиш клавиатуры УКНЦ
    Есть вариант контроллера на ATMega48 для YAMAHA YIS503, там матрица как раз 8*11.
    Есть правда условие, что сканирование идет бегущим нулем по 11 адресным линиям.
    Если сканирование клавиатуры УКНЦ идет таким же способом, то прошивку можно
    адаптировать довольно просто, переписав таблицу привязки клавиш.
    Последний раз редактировалось caro; 17.04.2018 в 07:52.

  11. #10

    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,581
    Спасибо Благодарностей отдано 
    64
    Спасибо Благодарностей получено 
    112
    Поблагодарили
    97 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от caro Посмотреть сообщение
    Есть вариант контроллера на ATMega48 для YAMAHA YIS503, там матрица как раз 8*11.
    Есть правда условие, что сканирование идет бегущим нулем по 11 адресным линиям.
    Если сканирование клавиатуры УКНЦ идет таким же способом, то прошивку можно
    адаптировать довольно просто, переписав таблицу привязки клавиш.
    В Орионе даже в базовом ROM-BIOS F800 есть п/п анализа нажатия любой клавиши, там в порт F400 записывается константа 0 и затем c F401 считываются сразу все линии, это примерно одинаково для обоих матриц, для УКНЦ дополнительно читается и F402 (порт где в варианте РК висит только 3 кнопки {ctrl, shift, ruslat}, а у УКНЦ там 3*8 кнопок). И все игры ZX опрашивают клавиатуру произвольно. Т.е. надо чтобы алгоритм был тот же что у прошивки для RK-86, но на 3 бита "шире"
    Лучше сделать и жалеть, чем не сделать и жалеть.

    Некоторые из моих поделок тут: https://github.com/serge-404

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

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

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

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

Похожие темы

  1. Ответов: 34
    Последнее: 24.11.2022, 16:05
  2. Ответов: 146
    Последнее: 31.05.2020, 19:00
  3. БезWaitовый контроллер клавиатуры
    от caro в разделе Устройства ввода
    Ответов: 68
    Последнее: 01.07.2015, 05:42
  4. Куплю контроллер клавиатуры
    от AAA в разделе Барахолка (архив)
    Ответов: 121
    Последнее: 01.02.2008, 18:33
  5. Контроллер клавиатуры для Скорпиона
    от Nikolaj Amosov (500:812/02.26) в разделе Scorpion
    Ответов: 1
    Последнее: 15.11.2005, 23:05

Ваши права

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