User Tag List

Показано с 1 по 10 из 303

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

Древовидный режим

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

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

    По умолчанию

    Код:
    ;==========================================================
    ; На линиях PORTD фиксируются изменения состояния адресов
    				;4 PCINT2 PORTD 
    	in	YL,PIND		;+1 адрес сканирования
    	ld	scanFF,Y	;+2 скан код из текущего буфера
    	out	PORTB,scanFF	;+1 выдать в порт данных
    				;=8 тактов => 1 Мксек при 8 МГц
    ; Регистровая пара Y по умолчанию указывает на 256 байтный буфер,
    ; в котором сформирована таблица с кодами нажатых клавиш
    ; Это в случае матрицы 8*8
    ; ----
    ; Для дополнительных 3 бит нужно будет сформировать еще один буфер на 256 байт
    ; Для ускорения работы сделаем его со старшим байтом адреса, отличающимся
    ; на 1 бит от первого буфера, например 0200h и 0300h
    	sbr	YH,1<<0		;+1 -> Y=03xx
    ; теперь прочитаем код нажатых клавиш из нового буфера
    	ld	scanFF,Y            ;+2
    ; а вот теперь надо обязательно запомнить регистр статуса МК
    	in	tempS,SREG	;+1 сохранить СТАТУС
            in      port_C,PINC        ;+1 текущее состояние порта C
            andi   port_C,0xF8        ;+1 обнулить 3 мл. бита
    	or	scanFF,port_C	;+1 добавим 3 бита из буфера клавиш 		
    	out	PORTC,scanFF	;+1
    				;= 16 тактов => 2 мксек
    ; завершили выдачу во второй порт клавиатуры
    	cbr	YH,1<<0		; Y=02xxh 
    	out	SREG,tempS	; восстановить СТАТУС
    	reti			;+4 возврат
    ;**********************************************************
    Получилось 2 мксек.
    Посмотри, если есть возможность, сколько времени в ОРИОНЕ занимает чтение порта клавиатуры.
    Если больше 2 мксек до момента фиксации данных, то может и пройдет.
    На спектруме, при тактовой частоте 3.5 Мгц реакция должна быть не более 0.7 мксек.
    А у Ориона по моему тактовая = 2 МГц если я не ошибаюсь?
    Последний раз редактировалось caro; 18.04.2018 в 21:19.

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

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

Эту тему просматривают: 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

Ваши права

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