⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 key4559n.inc

📁 M34559遥控器发射单元源码
💻 INC
字号:
;**************************************************************;
;       Remote controller for M34559 DEMO                      ;
;       MODULE :   KEY INPUT SUBROUTINE
;       MCU:       M34559G6-xxxFP                              ;
;       VERSION:   1.0                                         ;
;       DESIGNED:  GAO YUAN HONG                               ;
;       DATE:      2006-05-12                                  ;
;       Renesas System Solutions Asia Pte. Ltd	               ;
;       SHANGHAI Representative Office                         ;
;**************************************************************;
;***************************************
; Get code value of the pressed key
; Input A -- value inputted from port
; Return key -- the pressed key code
;***************************************
GET_KEY:
	BML	D0_ON
	BML	D1_ON
	BML	D2_ON
	BML	D15us
	IAP1
	NOP
	SEA	1111b
	BL	SCAN_START
	.SEB	NOKEYF
NO_KEY:
	LXY	KEYDATA
	LA	0fh
	TMA	0
	RTS
SCAN_START:
	RC
	BML	D1_OFF
	BML	D2_OFF
	BML	D0_ON
	BML	D15us
	BML	KEY_COM			
	BL	NO_KEY			; if double key
					;
	BML	D0_OFF
	BML	D1_ON
	BML	D15us
	BML	KEY_COM
	BL	NO_KEY			; if double key
					;
	BML	D1_OFF
	BML	D2_ON
	BML	D15us
	BML	KEY_COM
	BL	NO_KEY			; if double key
	RT
;-------------------------
KEY_TAB:	
	TABE
	TABP	44
	LXY	KEYDATA
	SEAM
	B	KEY_TAB05
	TMA	0
	RT
KEY_TAB05:
	TMA	0
	.SZXYB	NOKEYF
	A	0
	RTS
	.CLB	NOKEYF
	RT
;--------------------------	
KEY_COM:
	TAY
	TBA
KEY_COM10:
        IAP1
        NOP
        LXY     INPUT
        TMA     0
        BML 	D2MS
        BML	D2MS
        BML	D2MS

        BML 	D2MS
        BML	D2MS
        BML	D2MS

        BML 	D2MS
        BML	D2MS
        BML	D2MS

        BML 	D2MS
        BML	D2MS
        BML	D2MS
        IAP1
        NOP
        SEAM
        BL      KEY_COM10               ; Waiting the input is stable
        CMA                             ; Check if the input is valide
        NOP
        SEA     01h
        A       0                       ; Skip
        BL      Load00
        SEA     02h
        A       0
        BL      Load01
        SEA     04h
        A       0
        BL      Load02
        SEA     08h
        BL	Load10
        LA      03h                     
Load02:
        LA      02h
Load01:
        LA      01h
Load00:
        LA      00h
;        
        TEAB
Load05:
	TAB
	TDA
	BML	KEY_TAB
	SZC
	BL	Load08
	SC
	RTS
Load08:
	.CLB	NOKEYF
	RT
;-----------------------------------        
Load10:					; one line double key check
	SEA	0
	A	0
	RTS				; on key input
	SC
	BL	Load08			; double key
;----------------------------------

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -