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

User Tag List

Страница 5 из 7 ПерваяПервая 1234567 ПоследняяПоследняя
Показано с 41 по 50 из 69

Тема: БезWaitовый контроллер клавиатуры

  1. #41
    Master
    Регистрация
    05.09.2010
    Адрес
    г. Рязань
    Сообщений
    698
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    28
    Поблагодарили
    7 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Только там по-моему не sbis, а sbic. Вот что у меня получается:
    .ORG 0X01

    IN ZL,PINB ; 1 READ HIGH BYTE OF PORT ADDRESS 5
    IN TMPSR,SREG ; 1 SAVE STATUS REGISTER 6
    MOV TMPI,ZL ; 1 COPY SCAN CODE TO TMPI 7
    ANDI ZL,0B00111111 ; 2 PREPARING 8
    ADD ZL,CONST5F ; 2 INTERNAL RAM 9
    ADC ZH,ZERO ; 2 ADDRESS 10
    LD BUFI,Z ; 3 LOAD CURRENT PORT DATA 12
    SBRC TMPI,7 ; 4 *
    AND BUFI,COLOMN7 ; 4 DATA * 14
    SBRC TMPI,6 ; 4 CORRECTION -
    AND BUFI,COLOMN6 ; 4 - 16
    OUT PORTD,BUFI ; 5 OUT CURRENT 17 ;10
    OUT DDRD,CONSTFF ; 5 PORT DATA 18 ;11
    NOP ; 5 NOP1 19 ;12
    OUT PORTD,ZERO ; 6 RETURN PORTD DATA 20 ;13
    OUT DDRD,DIRD ; 6 AND MAIN DIRECTION PORTD 21 ;14
    CLR ZH ; 7 RESET ZH 22
    OUT SREG,TMPSR ; 7 RETURN STATUS 23
    RETI ; 8 RETURN 24

    В железе пока не пробовал.

  2. #42
    ZEK
    Гость

    По умолчанию

    SBIS выбор сроки происходит логическим 0

  3. #43
    Guru Аватар для Vadim
    Регистрация
    24.07.2008
    Адрес
    г. Курган
    Сообщений
    2,062
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    17
    Поблагодарили
    17 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Всё таки ответьте. Есть ли сабж? Кто либо сделал? Т.е. что бы спектрум не видел бы разницы между механической и эмулируемой клавой от АТ?

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

    Profi 5.06 1024K 12Mhz (кварц на 24), палитра, COM-порт, часы, hdd, covox, программатор
    ZX-Spectrum +3, ZX-Spectrum +2B, ZX-Spectrum +2, ZX Spectrum 48, ZX Spectrum 48+
    ZX Evolution Rev B.
    Color 48 + Beta Disk Interface +FDD+YM2149F
    Орель-08БК
    Pentagon-48 (недоссобранный кем-то)
    Pentagon-128 (полуубитый)
    Кворум-128 (в ремонте)
    Магик-05 (в ремонте)
    Robotron 1715
    Корвет ПК8020 и ПК8010
    Amstrad CPC 464
    Amstrad CPC 6128
    [свернуть]

  4. #44
    Guru Аватар для caro
    Регистрация
    14.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,721
    Спасибо Благодарностей отдано 
    16
    Спасибо Благодарностей получено 
    134
    Поблагодарили
    87 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vadim
    Всё таки ответьте. Есть ли сабж?
    Есть.
    Цитата Сообщение от Vadim
    Кто либо сделал?
    Я сделал, пока на макетке.
    Схема этого контроллера включена в новый вариант платы KAY-1024 (см. соответствующую тему).
    Цитата Сообщение от Vadim
    Т.е. что бы спектрум не видел бы разницы между механической и эмулируемой клавой от АТ?
    Нет никакой разницы.
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	kbd_nwm.jpg 
Просмотров:	836 
Размер:	60.3 Кб 
ID:	20633  

  5. #45
    Guru Аватар для caro
    Регистрация
    14.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,721
    Спасибо Благодарностей отдано 
    16
    Спасибо Благодарностей получено 
    134
    Поблагодарили
    87 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Код:
    	.ORG 0X01
    ;				; 4 такта на переход в прерывание
    	IN	ZL,PINB		; 1 READ HIGH BYTE OF PORT ADDRESS 5
    	IN	TMPSR,SREG	; 1 SAVE STATUS REGISTER 6
    ;	MOV	TMPI,ZL		; 1 COPY SCAN CODE TO TMPI 7
    ; Нет необходимости вводить переменную TMPI
    	ANDI	ZL,0B00111111	; 2 PREPARING 8
    ;	ADD	ZL,CONST5F	; 2 INTERNAL RAM 9
    ;	ADC	ZH,ZERO		; 2 ADDRESS 10
    ; Поскольку ZL после маскировки старших битов < 64,
    ; то переноса быть не может, только ZH надо всегда иметь = 0
    ; Лучше написать так:
    	SUBI	ZL,-0x60	; Буфер скан-кодов с адреса 0x60
    	LD	BUFI,Z		; 3 LOAD CURRENT PORT DATA 12
    ;	SBRC	TMPI,7		; 4 *
    	SBIS	PINB,7
    	AND	BUFI,COLOMN7	; 4 DATA * 14
    ;	SBRC	TMPI,6		; 4 CORRECTION -
    	SBIS	PINB,6
    	AND	BUFI,COLOMN6	; 4 - 			16
    	OUT	PORTD,BUFI	; 5 OUT CURRENT		17 ;10
    	OUT	DDRD,CONSTFF	; 5 PORT DATA		18 ;11
    ; Сейчас на шине данных выставлен байт данных от порта клавиатуры
    	NOP			; 5 NOP1		19 ;12
    ; Надо бы подсчитать время, что бы быть уверенным, что цикл
    ; чтения порта клавиатуры уже закончен
    	OUT	PORTD,ZERO	; 6 RETURN PORTD DATA	20 ;13
    ; Порт данных переведен в режим чтения
    ; Не слишком ли короткий получается период выдачи данных
    ; порта клавиатуры?
    ; 2 такта при 42 МГц это порядка 48 нсек :)
    	OUT	DDRD,DIRD	; 6 AND MAIN DIRECTION PORTD 21 ;14
    ;	CLR	ZH 		; 7 RESET ZH		22
    ; Обнулить ZH надо при инициализации программы
    	OUT	SREG,TMPSR	; 7 RETURN STATUS	23
    	RETI			; 8 RETURN		24

  6. #46
    Guru Аватар для Vadim
    Регистрация
    24.07.2008
    Адрес
    г. Курган
    Сообщений
    2,062
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    17
    Поблагодарили
    17 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    На каком контроллере? Не вижу надпись на фотке. 2313?

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

    Profi 5.06 1024K 12Mhz (кварц на 24), палитра, COM-порт, часы, hdd, covox, программатор
    ZX-Spectrum +3, ZX-Spectrum +2B, ZX-Spectrum +2, ZX Spectrum 48, ZX Spectrum 48+
    ZX Evolution Rev B.
    Color 48 + Beta Disk Interface +FDD+YM2149F
    Орель-08БК
    Pentagon-48 (недоссобранный кем-то)
    Pentagon-128 (полуубитый)
    Кворум-128 (в ремонте)
    Магик-05 (в ремонте)
    Robotron 1715
    Корвет ПК8020 и ПК8010
    Amstrad CPC 464
    Amstrad CPC 6128
    [свернуть]

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

  8. #47
    Guru Аватар для caro
    Регистрация
    14.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,721
    Спасибо Благодарностей отдано 
    16
    Спасибо Благодарностей получено 
    134
    Поблагодарили
    87 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vadim Посмотреть сообщение
    На каком контроллере? Не вижу надпись на фотке. 2313?
    28-выводной чип ATMega48 (можно ATMega88 или ATmega168).

  9. #48
    Master
    Регистрация
    05.09.2010
    Адрес
    г. Рязань
    Сообщений
    698
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    28
    Поблагодарили
    7 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ZEK Посмотреть сообщение
    SBIS выбор сроки происходит логическим 0
    Ой !!!

    ---------- Post added at 18:00 ---------- Previous post was at 17:57 ----------

    Цитата Сообщение от Vadim Посмотреть сообщение
    Всё таки ответьте. Есть ли сабж? Кто либо сделал? Т.е. что бы спектрум не видел бы разницы между механической и эмулируемой клавой от АТ?
    .я ещё пока не сделал. Но надеюсь сделать. Это технически реально.

    ---------- Post added at 18:06 ---------- Previous post was at 18:00 ----------

    Цитата Сообщение от caro Посмотреть сообщение
    Код:
    	.ORG 0X01
    ;				; 4 такта на переход в прерывание
    	IN	ZL,PINB		; 1 READ HIGH BYTE OF PORT ADDRESS 5
    	IN	TMPSR,SREG	; 1 SAVE STATUS REGISTER 6
    ;	MOV	TMPI,ZL		; 1 COPY SCAN CODE TO TMPI 7
    ; Нет необходимости вводить переменную TMPI
    	ANDI	ZL,0B00111111	; 2 PREPARING 8
    ;	ADD	ZL,CONST5F	; 2 INTERNAL RAM 9
    ;	ADC	ZH,ZERO		; 2 ADDRESS 10
    ; Поскольку ZL после маскировки старших битов < 64,
    ; то переноса быть не может, только ZH надо всегда иметь = 0
    ; Лучше написать так:
    	SUBI	ZL,-0x60	; Буфер скан-кодов с адреса 0x60
    	LD	BUFI,Z		; 3 LOAD CURRENT PORT DATA 12
    ;	SBRC	TMPI,7		; 4 *
    	SBIS	PINB,7
    	AND	BUFI,COLOMN7	; 4 DATA * 14
    ;	SBRC	TMPI,6		; 4 CORRECTION -
    	SBIS	PINB,6
    	AND	BUFI,COLOMN6	; 4 - 			16
    	OUT	PORTD,BUFI	; 5 OUT CURRENT		17 ;10
    	OUT	DDRD,CONSTFF	; 5 PORT DATA		18 ;11
    ; Сейчас на шине данных выставлен байт данных от порта клавиатуры
    	NOP			; 5 NOP1		19 ;12
    ; Надо бы подсчитать время, что бы быть уверенным, что цикл
    ; чтения порта клавиатуры уже закончен
    	OUT	PORTD,ZERO	; 6 RETURN PORTD DATA	20 ;13
    ; Порт данных переведен в режим чтения
    ; Не слишком ли короткий получается период выдачи данных
    ; порта клавиатуры?
    ; 2 такта при 42 МГц это порядка 48 нсек :)
    	OUT	DDRD,DIRD	; 6 AND MAIN DIRECTION PORTD 21 ;14
    ;	CLR	ZH 		; 7 RESET ZH		22
    ; Обнулить ZH надо при инициализации программы
    	OUT	SREG,TMPSR	; 7 RETURN STATUS	23
    	RETI			; 8 RETURN		24



    Спасибо !!! Единственное: я не могу долго держать скан-код на шине адреса в связи с особенностями проекта: у меня к ней довольно часто обращается видеопроцессор. Я это делаю чтобы не мешатьт ему. Да и РОН-ов мне пока хватает ... Спасибо за участие в проекте.

    ---------- Post added at 18:07 ---------- Previous post was at 18:06 ----------

    Цитата Сообщение от caro Посмотреть сообщение
    Код:
    	.ORG 0X01
    ;				; 4 такта на переход в прерывание
    	IN	ZL,PINB		; 1 READ HIGH BYTE OF PORT ADDRESS 5
    	IN	TMPSR,SREG	; 1 SAVE STATUS REGISTER 6
    ;	MOV	TMPI,ZL		; 1 COPY SCAN CODE TO TMPI 7
    ; Нет необходимости вводить переменную TMPI
    	ANDI	ZL,0B00111111	; 2 PREPARING 8
    ;	ADD	ZL,CONST5F	; 2 INTERNAL RAM 9
    ;	ADC	ZH,ZERO		; 2 ADDRESS 10
    ; Поскольку ZL после маскировки старших битов < 64,
    ; то переноса быть не может, только ZH надо всегда иметь = 0
    ; Лучше написать так:
    	SUBI	ZL,-0x60	; Буфер скан-кодов с адреса 0x60
    	LD	BUFI,Z		; 3 LOAD CURRENT PORT DATA 12
    ;	SBRC	TMPI,7		; 4 *
    	SBIS	PINB,7
    	AND	BUFI,COLOMN7	; 4 DATA * 14
    ;	SBRC	TMPI,6		; 4 CORRECTION -
    	SBIS	PINB,6
    	AND	BUFI,COLOMN6	; 4 - 			16
    	OUT	PORTD,BUFI	; 5 OUT CURRENT		17 ;10
    	OUT	DDRD,CONSTFF	; 5 PORT DATA		18 ;11
    ; Сейчас на шине данных выставлен байт данных от порта клавиатуры
    	NOP			; 5 NOP1		19 ;12
    ; Надо бы подсчитать время, что бы быть уверенным, что цикл
    ; чтения порта клавиатуры уже закончен
    	OUT	PORTD,ZERO	; 6 RETURN PORTD DATA	20 ;13
    ; Порт данных переведен в режим чтения
    ; Не слишком ли короткий получается период выдачи данных
    ; порта клавиатуры?
    ; 2 такта при 42 МГц это порядка 48 нсек :)
    	OUT	DDRD,DIRD	; 6 AND MAIN DIRECTION PORTD 21 ;14
    ;	CLR	ZH 		; 7 RESET ZH		22
    ; Обнулить ZH надо при инициализации программы
    	OUT	SREG,TMPSR	; 7 RETURN STATUS	23
    	RETI			; 8 RETURN		24



    Спасибо !!! Единственное: я не могу долго держать скан-код на шине адреса в связи с особенностями проекта: у меня к ней довольно часто обращается видеопроцессор. Я это делаю чтобы не мешатьт ему. Да и РОН-ов мне пока хватает ... Спасибо за участие в проекте.

  10. #49
    Master
    Регистрация
    05.09.2010
    Адрес
    г. Рязань
    Сообщений
    698
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    28
    Поблагодарили
    7 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Кажись всё написал. Ещё актуально?

  11. #50
    Activist
    Регистрация
    14.11.2006
    Адрес
    Москва
    Сообщений
    227
    Спасибо Благодарностей отдано 
    4
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Актуально, актуально. Дайте два ! (с)
    Неспровоцированная агрессия не катит. Мы скорбящие, но мы не лохи.

Страница 5 из 7 ПерваяПервая 1234567 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ответов: 34
    Последнее: 24.11.2022, 16:05
  2. Корпуса и клавиатуры
    от Sonic в разделе Устройства ввода
    Ответов: 110
    Последнее: 07.10.2010, 22:27
  3. Ответов: 5
    Последнее: 10.03.2006, 22:04
  4. Контроллер клавиатуры для Скорпиона
    от Nikolaj Amosov (500:812/02.26) в разделе Scorpion
    Ответов: 1
    Последнее: 15.11.2005, 23:05
  5. Куплю контроллер ibm клавиатуры для скорпа!
    от sp0t в разделе Барахолка (архив)
    Ответов: 3
    Последнее: 29.03.2005, 16:37

Ваши права

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