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

📄 矩阵式键盘实验.asm

📁 矩阵式键盘的实验汇编程序
💻 ASM
字号:
JIANZHI  EQU  30H
ORG	0000H
LJMP  START
ORG	0030H
START:  MOV	JIANZHI,#00H
		CLR P2.0
		MOV P0,#00
MAIN:	MOV	P3,#0FFH
		CLR	P3.4
		MOV A,P3
		ANL A,#0FH
		CPL	A
		ANL A,#0FH
		JZ  NEXT1		;A=0,,没有键按下,则扫描下一个行
		LCALL DELAY
		MOV A,P3
		ANL A,#0FH
		XRL	A,#0FH
		JZ	NEXT1
		MOV	A,P3
		CJNE A,#0EH,LOOP1
		MOV JIANZHI,#00H
		MOV A,JIANZHI	
		MOV DPTR,#TABLE
		MOVC A,@A+DPTR
		MOV P0,A
		LJMP	MAIN
		
LOOP1:  CJNE A,#0DH,LOOP2
		MOV JIANZHI,#01H
		MOV A,JIANZHI
		MOV DPTR,#TABLE
		MOVC A,@A+DPTR
		MOV P0,A
		LJMP	MAIN

LOOP2:  CJNE A,#0BH,LOOP3
		MOV JIANZHI,#02H
		MOV A,JIANZHI
		MOV DPTR,#TABLE
		MOVC A,@A+DPTR
		MOV P0,A
		LJMP	MAIN
		
LOOP3:  CJNE A,#07H,LOOP4
		MOV JIANZHI,#03H
		MOV A,JIANZHI
		MOV DPTR,#TABLE
		MOVC A,@A+DPTR
		MOV P0,A
		LJMP	NEXT1
		
// LOOP4: NOP                ;第一列判断完

NEXT1:  MOV P3,#0FFH		  ;扫描第二行
		CLR P3.5
		MOV A,P3
		ANL A,#0FFH
		XRL A,#0FFH
		JZ  NEXT2
		CJNE A,#0EH,LOOP4
		MOV JIANZHI,#04H
		MOV A,JIANZHI
		MOV DPTR,#TABLE
		MOVC A,@A+DPTR
		MOV P0,A
		LJMP MAIN
		
LOOP4:  CJNE A,#0DH,LOOP5
		MOV JIANZHI,#05H
		MOV DPTR,#TABLE
		MOVC A,@A+DPTR
		MOV P0,A
		LJMP	MAIN
		
LOOP5:  CJNE A,#0BH,LOOP6
		MOV JIANZHI,#06H
		MOV DPTR,#TABLE
		MOVC A,@A+DPTR
		MOV P0,A
		LJMP	MAIN
		
LOOP6:  CJNE A,#07H,LOOP7
		MOV JIANZHI,#07H
		MOV A,JIANZHI
		MOV DPTR,#TABLE
		MOVC A,@A+DPTR
		MOV P0,A
		LJMP	NEXT2

NEXT2:  MOV P3,#0FFH		  ;扫描第三行
		CLR P3.6
		MOV A,P3
		ANL A,#0FFH
		XRL A,#0FFH
		JZ  NEXT3
		CJNE A,#0EH,LOOP7
		MOV JIANZHI,#08H
		MOV A,JIANZHI
		MOV DPTR,#TABLE
		MOVC A,@A+DPTR
		MOV P0,A
		LJMP MAIN
		
LOOP7:  CJNE A,#0DH,LOOP8
		MOV JIANZHI,#09H
		MOV A,JIANZHI
		MOV DPTR,#TABLE
		MOVC A,@A+DPTR
		MOV P0,A
		LJMP	MAIN

LOOP8:  CJNE A,#0DH,LOOP9
		MOV JIANZHI,#10
		MOV A,JIANZHI
		MOV DPTR,#TABLE
		MOVC A,@A+DPTR
		MOV P0,A
		LJMP	MAIN

LOOP9:  CJNE A,#0DH,NEXT3
		MOV JIANZHI,#11
		MOV A,JIANZHI
		MOV DPTR,#TABLE
		MOVC A,@A+DPTR
		MOV P0,A
		LJMP	NEXT3

NEXT3:  MOV P3,#0FFH		  ;扫描第四行
		CLR P3.7
		MOV A,P3
		ANL A,#0FFH
		XRL A,#0FFH
		JZ NEXT4
		CJNE A,#0EH,LOOP10
		MOV JIANZHI,#12
		MOV A,JIANZHI
		MOV DPTR,#TABLE
		MOVC A,@A+DPTR
		MOV P0,A
		LJMP MAIN

LOOP10: CJNE A,#0DH,LOOP11
		MOV JIANZHI,#13
		MOV A,JIANZHI
		MOV DPTR,#TABLE
		MOVC A,@A+DPTR
		MOV P0,A
		LJMP	MAIN
		
LOOP11: CJNE A,#0BH,LOOP12
		MOV JIANZHI,#14
		MOV A,JIANZHI
		MOV DPTR,#TABLE
		MOVC A,@A+DPTR
		MOV P0,A
		LJMP	MAIN
		
LOOP12:CJNE A,#07,NEXT4
		MOV JIANZHI,#15
		MOV A,JIANZHI
		MOV DPTR,#TABLE
		MOVC A,@A+DPTR
		MOV P0,A
		LJMP	MAIN

NEXT4:  NOP


DELAY:
            MOV R6,#10
D1:         MOV R7,#248
            DJNZ R7,$
            DJNZ R6,D1
            RET
TABLE:  DB 0E5H,85H,61H,71H
	DB 01H,09H,11H,0C1H
	DB 99H,49H,41H,1FH
	DB 03H,9FH,25H,0DH
END


						
		
				

⌨️ 快捷键说明

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