PDA

Просмотр полной версии : контроллер писишной клавиатуры



sevol
18.01.2011, 14:51
http://cs9830.vkontakte.ru/u38437349/115286620/x_44b99917.jpg

прошивку если найду позже сброшу.

ZEK
18.01.2011, 15:03
соц. сети блокируют на предприятиях раз
не все зарегистрированы два

Rindex
18.01.2011, 15:27
соц. сети блокируют на предприятиях раз
не все зарегистрированы два

Вот чего там есть
http://img443.imageshack_.us/img443/4343/x44b99917.jpg

balu_dark
18.01.2011, 16:22
а не проще эту кучу тараканов запихнуть в какую то CPLD?

Alex_NEMO
18.01.2011, 17:09
sevol, в чем "фишка" такого "навороченного" контроллера - кто автор сего творения? Контроллеры, что есть уже на форуме, например Камиля (caro) на порядок проще. Контроллер + 1-3 корпуса мелкой логики. :confused:

vinxru
15.02.2011, 00:02
Это я делал.
Полностью описание тут: http://vinxru.livejournal.com/14915.html

У этой схемы есть два преимущества перед другими схемами на микроконтроллерах.
1) Схема не тормозит процессор Спектрума, так как не используется сигал WAIT.
2) Количество одновременно нажатых клавиш не ограничено.

Первое достигается использованием 8 микросхем ИР23. Те кто хотят жертвовать тактами Спектрума, могут упростить схему на эти 8 микросхем. Эти 8 микросхем можно заменить на одну микосхему "2-х портовое ОЗУ", но найти эту редкость сложно.

Второе достигается использованием 2 микросхем 74HC164. 18 диодов, которые я поставил, скорее всего не нужны. При использовании штатного контроллера клавиатуры и интерфейса PS/2, эти 2 микросхемы то же не нужны. Но при этом, почти наверняка, будет поддерживаться только 3 одновременно нажатые клавиши.

И что бы быть до конца честным скажу, что у этой клавиатуры не было PS/2 интерфейса. Это была беспроводная клава, поэтому я и решил делать прямое считывание с мембраны (+2 микросхемы 74HC164).

Ewgeny7
15.02.2011, 08:39
2) Количество одновременно нажатых клавиш не ограничено.
Разве нет ограничения PS2-клавы на 6 кнопок? Больше она просто "не примет в обработку".

vinxru
16.02.2011, 18:42
> Наверняка в самом контроллере имеется ограничение на число одновременно обрабатываемых клавиш.

В моем контроллере нет ограничений. А контроллер клавиатуры не используется, напрямую подключена мембрана.

vinxru
17.02.2011, 18:04
Кстати.

В контроллере клавиатуры есть макросы. Например ввод команды LOAD "" ENTER

А так же, выход C5 микроконтроллера подключен к сбросу, и сброс производится кнопкой клавиатуры.

sergey2b
17.02.2011, 20:23
vinxru скажите пожалуйста а какую клавиатуру вы взяли за основу и увеличивали ли вы толщину ее корпуса ?

я хотел бы плату ориона-128 разместить внутри клавиатуры но все что у меня есть слишком тонкии для этого

vinxru
18.02.2011, 09:38
Я увеличил высоту клавиатуры сзади на 2 см, спереди на 8 мм. Вырезал из пластмассы дополнительные стенки и дно, всё склеил дихлорэтаном и проклеил термоклеем для надежности.

На фото это все видно.

http://vinxru.livejournal.com/14915.html

---------- Post added at 09:04 ---------- Previous post was at 08:49 ----------

В схеме есть неточность. У микросхемы DD2, вывод С подключен к линии С2, а не С1 как указано на схеме.

Если кто то будет собирать эту схему, то вам придется самому задавать соответствие кнопок мембраны, кнопкам спектрума.

Для упрощения этого процесса, в программе микроконтроллера есть закомментированные строки. Эти строки выводят отладочную информацию на COM порт. COM порт подключается к выводу C5 микроконтроллера, скорость 1200 бод.

В терминал при этом выводятся все нажатые клавиши мембраны в виде X:Y (столбец, строка). Эти числа, надо забить в программу, с строки типа: "KEY(4, 2, LINE_QWERT, 2); // E". Именно эта строка значит, что клавиша 4:2 соответствует клавише спектрума E (это линия LINE_QWERT, строка 2).

В терминал так же выводится псевдографичесское изображение клавиатуры Спектрума с индикацией всех нажатых клавиш. Благодаря этому, контроллер можно настраивать без Спектрума.[COLOR="Silver"]