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

📄 4x4键盘.asm

📁 自己没事编的一个键盘扫描程序
💻 ASM
字号:
KEYBUF  EQU  70H
ORG   0000H
LJMP  MAIN


ORG   0100H
MAIN:   MOV  SP,#40H
        LCALL    HH
        MOV     R1,#00H    ;计数初值
	    
 HH:    MOV     P2,#0FH    ;P2口作输入口
		MOV 	A,P2     
		ANL 	A,#0FH       
		CJNE	A,#0FH,HKEY
		SJMP	HH
HKEY:	LCALL   DELAY10
		MOV     A,P2
		ANL		a,#0FH
		CJNE	A,#0FH,WKEY
		SJMP	HH
WKEY:
		MOV		P2,#11101111B
		MOV     A,P2
		ANL		A,#0FH
		CJNE	A,#0FH,PKEY1
		MOV 	P2,#11011111B
		MOV 	A,P2
		ANL 	A,#0FH
		CJNE 	A,#0FH,PKEY2
		MOV 	P2,#10111111B
		MOV 	A,P2
		ANL 	A,#0FH
		CJNE 	A,#0FH,PKEY3
		MOV 	P2,#01111111B
		MOV 	A,P2
		ANL 	A,#0FH
		CJNE 	A,#0FH,PKEY4
		LJMP 	HH
PKEY1:   CJNE A,#0EH,NK2
            MOV KEYBUF,#1
            
            LJMP DK1
NK2:        CJNE A,#0DH,NK3
            MOV KEYBUF,#2
            
            LJMP DK1
NK3:        CJNE A,#0BH,NK4
            MOV KEYBUF,#4
            
            LJMP DK1
NK4:        CJNE A,#07H,HH
            MOV KEYBUF,#3
          
            LJMP DK1            	
PKEY2:   CJNE A,#0EH,NK12
            MOV KEYBUF,#5
          
            LJMP DK1
NK12:        CJNE A,#0DH,NK13
            MOV KEYBUF,#6
            
            LJMP DK1
NK13:        CJNE A,#0BH,NK5
            MOV KEYBUF,#8

            LJMP DK1
NK5:    ;    CJNE A,#07H,HH
            MOV KEYBUF,#7
   
            
            LJMP DK1
PKEY3:   CJNE A,#0EH,NK22
            MOV KEYBUF,#9
          
            LJMP DK1
NK22:        CJNE A,#0DH,NK23
            MOV KEYBUF,#10
            LJMP DK1
NK23:        CJNE A,#0BH,NK24
 			DEC  KEYBUF         
           ; MOV KEYBUF,#11
            LJMP DK1
NK24:   ;     CJNE A,#07H,HH
            MOV KEYBUF,#12
            LJMP DK1             
PKEY4:   CJNE A,#0EH,NK32
          ; MOV   A,20H
           MOV   KEYBUF,@R1
          ;  MOV KEYBUF,#1
            LJMP DK1
NK32:        CJNE A,#0DH,NK33
            MOV KEYBUF,#14
            LJMP DK1
NK33:        CJNE A,#0BH,NK34
           INC KEYBUF
            ;MOV KEYBUF,#15
            LJMP DK1
NK34:    ;  CJNE A,#07H,HH
                      
            MOV KEYBUF,#10
            LJMP DK1            
            
               		
DK1:        MOV A,KEYBUF
            MOV DPTR,#TABLE
            MOVC A,@A+DPTR
            MOV P1,A 
            LCALL  DELAY1 
            LJMP  HH		
  				
DELAY10:MOV  R7,#100
  AA:   MOV  R6,#100
  BB:   DJNZ R6,BB
        DJNZ R7,AA
        RET	
DELAY1:MOV  R7,#255
  AA1:   MOV  R6,#254
  BB1:   DJNZ R6,BB1
        DJNZ R7,AA1
        RET	        
TABLE:      DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH
            DB 6FH,3FH,7CH,80H,5EH,79H,71H
            END        	

⌨️ 快捷键说明

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