User Tag List

Показано с 1 по 9 из 9

Тема: Процедура опроса клавиатуры

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

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

    Регистрация
    23.01.2005
    Сообщений
    1,113
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от aprisobal
    Подскажите плз короткую и быструю процедуру опроса клавишх
    Медленная и здоровая, зато с подавление дребезга и ещё с кое-чем.

    0ой бит - кнопка нажата-не нажата
    7ой - ставится сразу после нажатия на 1 промежуток между опросами, потом снова 0.

    Код:
    KEYS	;YIELDING KEYS
    
    
    KMSK	EQU	3
    
    
    	LD	HL,KEYAD
    
    
    	LD	BC,#7FFE ;SPACE
    	IN	D,(C)
    	CALL	ANTID
    
    
    	LD	B,#BF	;ENTER
    	IN	D,(C)
    	CALL	ANTID
    
    	LD	B,#F7
    	IN	D,(C)
    
    	CALL	ANTID	;1
    	CALL	ANTID
    	CALL	ANTID
    	CALL	ANTID
            CALL	ANTID	;5
            RET
    
    
    ANTID
    	XOR	A
    	RRC	D
    	RRA
    
    	XOR	(HL)
    	JP	P,NONEWKEY
    
    
    	;STATE CHANGED
    
    	XOR	(HL)
    	AND	#80
    	JR	KEYDONE
    
    NONEWKEY
    
    	INC	A
    	AND	KMSK
    	JR	NZ,NOKEY ;CTR INCREMENTS
    
    	;HERE CTR FINISHED, NEWKEY!
    
    	BIT	7,(HL)
    	INC	HL
    	JR	Z,PRESSED
    
    ;NOT PRESSED - CLR KEY
    
    CLRKEY
    	LD	(HL),0
    
    	JR	ENDKEY
    
    
    PRESSED
    	BIT	0,(HL)
    	JR	NZ,PRSD_ALR
    
    	;FIRST PRESSED
    
    	LD	(HL),#81
    	JR	ENDKEY
    
    PRSD_ALR
    	RES	7,(HL)
    
    
    ENDKEY
    	DEC	HL
    	LD	A,KMSK
    
    NOKEY
    	XOR	(HL)
    	AND	KMSK
    	XOR	(HL)
    KEYDONE
    	LD	(HL),A
    
    	INC	HL
    	INC	HL
    
    	RET
    
    
    
    
    
    
    KEYAD
    	db	 0
    KSPC	db	 0
    
    	db	 0
    KENT	db	 0
    
    	db	 0
    K1	db	 0
    
    	db	 0
    K2	db	 0
    
    	db	 0
    K3	db	 0
    
    	db	 0
    K4	db	 0
    
    	db	 0
    K5	db	 0
    Последний раз редактировалось lvd; 16.02.2005 в 12:21.

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

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

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

Ваши права

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