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

📄 矩阵键盘.asm

📁 单片机矩阵键盘程序 同时进行显示 绝对可用 看过就懂的
💻 ASM
字号:
          ORG 0000H
    START:MOV P0,#00H
          MOV DPTR,#TAB            ;1.进行初始化
     DONE:MOV P2,#0F0H             ;2.先将行键作为输入,找出键码
          MOV A,P2
          CJNE A,#0F0H,NEXT
          AJMP DONE 
     NEXT:ACALL DELAY              ;3.有键按下的情况下,先要进行消除抖动操作
          MOV P2,#0F0H
          MOV A,P2
          CJNE A,#0F0H,NEXT1
          AJMP DONE
    NEXT1:MOV 20H,A                ;行键保存在20H
          MOV P2,#0FH
          MOV A,P2
          MOV 21H,A                ;列键保存在21H
    NEXT2:MOV P2,#0F0H
          MOV A,P2
          CJNE A,#0F0H,NEXT2       ;4.判断键是否松开?
          MOV A,20H
          JNB ACC.4,LP1             ;第一行
          JNB ACC.5,LP2             ;第二行
          JNB ACC.6,LP3             ;第三行
          JNB ACC.7,LP4             ;第四行
          AJMP DONE
      LP1:MOV 22H,#0                ;5.将键码保存在22H
          AJMP LAST    
      LP2:MOV 22H,#4
          AJMP LAST
      LP3:MOV 22H,#8
          AJMP LAST
      LP4:MOV 22H,#12
          AJMP LAST
     LAST:MOV A,21H                
          JNB ACC.0,LD1            ;第一列
          JNB ACC.1,LD2            ;第二列
          JNB ACC.2,LD3            ;第三列
          JNB ACC.3,LD4            ;第四列
          AJMP DONE
      LD1:MOV A,#0
          ADD A,22H
          MOVC A,@A+DPTR
          MOV P0,A
          AJMP DONE
      LD2:MOV A,#1
          ADD A,22H
          MOVC A,@A+DPTR
          MOV P0,A
          AJMP DONE
      LD3:MOV A,#2
          ADD A,22H
          MOVC A,@A+DPTR
          MOV P0,A
          AJMP DONE
      LD4:MOV A,#3
          ADD A,22H
          MOVC A,@A+DPTR
          MOV P0,A
          AJMP DONE
    DELAY:MOV R7,#50
   DELAY1:MOV R6,#100
          DJNZ R6,$
          DJNZ R7,DELAY1
          RET
      TAB:DB        0C0H;0
          DB        0F9H;1
          DB        0A4H;2
          DB        0B0H;3
          DB        099H;4
          DB        092H;5
          DB        082H;6
          DB        0F8H;7
          DB        080H;8
          DB        090H;9
          DB        088H;A
          DB        083H;b
          DB        0C6H;C
          DB        0A1H;d
          DB        086H;E
          DB        08EH;F


          END         
          
                 
          

⌨️ 快捷键说明

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