Дисплей от Nokia 1202/1203/1280 можно подключить к АРМ для изображения клавиатуры 4 ряда по 10 символов ?
Когда IN K&K = 0 нужно на КП11 быстро передать байт из массива размером 256 байтов с индексом, равным старшему байту адреса Z80.
Вид для печати
клавиатура спектрума это 8 строк по 5 кнопок, одновременно можно выбрать хоть все 8 строк, если есть желание побыстрому проверить нажатие кнопки на клавиатуре, что бы это дело корректно отработать, надо в зависимости от старших адресных разрядов, брать значение столбцов для кнопок и по AND их объединять, время реакции, буквально 2,5 такта на частота 3.5мгц проца, либо 2 такта и выставить wait, но это плохой вариант
на avr сделали так, из матрицы 40кнопок (8 рядов 5колонок) делают табличку на 256 байт, где уже все предрасчитанно и фактически обработчик прерывания выглядит так
rdval:
in r31, (portd)
ld r16, z
out (portb), r16
ret
---------- Post added at 18:45 ---------- Previous post was at 18:38 ----------
хочу понять, причем тут dma и event, мож есть какой то хитросделанный фокус покус
---------- Post added at 18:47 ---------- Previous post was at 18:45 ----------
как программе приспичит, так и будет сканировать, это в бейсике по умолчанию висит на прерываниях и там юзается сканбит, в софтах, юзают по несколько выбранных строк одновременно, и вообще не пойму, нафик сканбит, ARM не собирается клаву сканить, он собирается притворятся механической клавиатурой, то есть реагировать на 8 входных сигналов в произвольной комбинации, должен выдать 5 бит, которые бы выдала механическая клавиатура, должен сделать это быстро
Вот бы ее к Фениксу подпаять вместо АТМЕГИ. И имитировать периодическое нажатие одной кнопки. По алгоритму работы поможем. Для начала - прочитать старший байт адреса при прерывании.
Это только в ПЗУ и правильных программах, а в остальных - кто кодгда хочет, даже может быть постоянный опрос.Цитата:
Вот кстати - если не ошибаюсь сканирование клавиатуры происходит в прерывании ? С какой частотой ?
Можно от девборды подпаять пока три провода. Один - сигнал чтения из порта клавиатуры (выв. 12 /INT0), второй - один из 8 битов адреса A8-A15 (A12 Z80), третий один из 5 битов данных на клавиатуру (сразу не сообразишь, куда). Остальное дело программирования - будем нажимать кнопку 0.
ZEK, Поправьте по схеме, если ошибусь.
Нет ли более простого клона, где есть разъем под механическую клавиатуру ?
А что такое event ты знаешь ? :biggrin:
Я спрашиваю потому, что не знаю с чего тебе придется начинать объяснять .:biggrin:
И не факт что сие и задействовать понадобится, я приводил event'ы как механизм мощнее прерываний , не мешающий ядру.
Так уважаемые, оба .
Механическая клава - тупо , на основании скан бита на адресах , выводит
данные на KL0-KLx .
С чего вы панику наводите ? С этим вариантом все получится.
Хотим большего, давайте попросим у caro исходники, чем гадать ...
dosikus, не парься, посчитали уже на 48мгц, если на асме написать обработчик, все успеет, даже может в турбе
zst, В помощь .
The Definitive Guide to the
ARM Cortex-M0
Joseph Yiu
http://caxapa.ru/thumbs/424855/The_D...M_Cortex-M.pdf