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

📄 key_work.asm

📁 实用的单片机的键盘小程序用汇编语言编写的
💻 ASM
字号:
   KEYWORD   EQU    30H
	ORG  0000H
	AJMP MAIN
MAIN:
        MOV   P1,#00H
LOOP:	LCALL KEYWORK
	AJMP  LOOP
KEYWORK:
	MOV  P0,#0FFH
	CLR  P0.0
	MOV  A,P0
	ANL  A,#0F0H
	CJNE A,#0F0H,KEYCON
	SETB P0.0
	CLR  P0.1
	MOV  A,P0
	ANL  A,#0F0H
	CJNE A,#0F0H,KEYCON
	SETB P0.1
	CLR  P0.2
	MOV  A,P0
	ANL  A,#0F0H
	CJNE A,#0F0H,KEYCON
	SETB P0.2
	CLR  P0.3
	MOV  A,P0
	ANL  A,#0F0H
	CJNE A,#0F0H,KEYCON
	SETB P0.3
	RET
KEYCON:
	LCALL DL10MS
	MOV  A,P0
	ANL  A,#0F0H
	CJNE A,#0F0H,KEYCHE
KEYOUT: RET
KEYCHE:
	MOV A,P0
	MOV KEYWORD,A
CJLOOP:
	;LCALL DISPLAY
	MOV  A,P0
	ANL  A,#0F0H
	CJNE A,#0F0H,CJLOOP
	MOV  R7,#00H
	MOV  DPTR,#KEYTAB
CHEKEYLOOP:
	MOV  A,R7
	MOVC A,@A+DPTR
	XRL  A,KEYWORD
	JZ   KEYOK
	INC  R7
	CJNE R7,#10H,CHEKEYLOOP
	RET
;;;^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
KEYOK:
	MOV  A,R7
	MOV  B,A
	RL   A
	ADD  A,B
	MOV  DPTR,#KEYFUNTAB
	JMP  @A+DPTR
KEYFUNTAB:
	LJMP	KEYFUN00
	LJMP	KEYFUN01
	LJMP	KEYFUN02
	LJMP	KEYFUN03
	LJMP	KEYFUN04
	LJMP	KEYFUN05
	LJMP	KEYFUN06
	LJMP	KEYFUN07
	LJMP	KEYFUN08
	LJMP	KEYFUN09
	LJMP	KEYFUN10
	LJMP	KEYFUN11
	LJMP	KEYFUN12
	LJMP	KEYFUN13
	LJMP	KEYFUN14
	LJMP	KEYFUN15
	RET
;;;;
KEYTAB:	DB   0EEH,0DEH,0BEH,07EH,0EDH,0DDH,0BDH,07DH
	DB   0EBH,0DBH,0BBH,07BH,0E7H,0D7H,0B7H,077H,0FFH,0FFH
KEYFUN00:
	MOV   P1,#00
	RET
KEYFUN01:
	MOV   P1,#01
	RET
KEYFUN02:
	MOV   P1,#02
	RET
KEYFUN03:
	MOV   P1,#03
	RET
KEYFUN04:
	MOV   P1,#04
	RET
KEYFUN05:
	MOV   P1,#05
	RET
KEYFUN06:
	MOV   P1,#06
	RET
KEYFUN07:
	MOV   P1,#07
	RET
KEYFUN08:
	MOV   P1,#08
	RET
KEYFUN09:
	MOV   P1,#09
	RET
KEYFUN10:
	MOV   P1,#10
	RET
KEYFUN11:
	MOV   P1,#11
	RET
KEYFUN12:
	MOV   P1,#12
	RET
KEYFUN13:
	MOV   P1,#13
	RET
KEYFUN14:
	MOV   P1,#14
	RET
KEYFUN15:
	MOV   P1,#15
	RET
;;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
DL10MS:
	MOV  R6,#020
DL10MS1:MOV  R3,#0FFH
	DJNZ R3,$
	DJNZ R6,DL10MS1
	RET

⌨️ 快捷键说明

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