查询式键盘设计.asm

来自「基于Proteus的51系列单片机设计与仿真」· 汇编 代码 · 共 50 行

ASM
50
字号
     ORG   00H
     MOV   P3,#0FFH
     MOV   P2,#00H
KEY: MOV   A,P3
     CJNE  A,#0FFH,KK    ;是否有键按下?
     AJMP  KEY
KK:  MOV   A,P3
     CJNE  A,#0FFH,KK1   ;消除按键抖动
     AJMP  KEY
KK1: CJNE  A,#0FEH,KK2
     MOV   P2,#06H
     LCALL DELAY
     AJMP  LP
KK2: CJNE  A,#0FDH,KK3
     MOV   P2,#5BH
     LCALL DELAY
     AJMP  LP
KK3: CJNE  A,#0FBH,KK4
     MOV   P2,#4FH
     LCALL DELAY
     AJMP  LP
KK4: CJNE  A,#0F7H,KK5
     MOV   P2,#66H
     LCALL DELAY
     AJMP  LP
KK5: CJNE  A,#0EFH,KK6
     MOV   P2,#6DH
     LCALL DELAY
     AJMP  LP
KK6: CJNE  A,#0DFH,KK7
     MOV   P2,#7DH
     LCALL DELAY
     AJMP  LP
KK7: CJNE  A,#0BFH,KK8
     MOV   P2,#07H
     LCALL DELAY
     AJMP  LP
KK8: CJNE  A,#7FH,LP
     MOV   P2,#7FH
     LCALL DELAY
LP:  AJMP  KEY
DELAY:MOV  R7,#01H
DELA: MOV  R6,#28H
DEL:  MOV  R5,#5AH
     DJNZ  R5,$
     DJNZ  R6,DEL
     DJNZ  R7,DELA
     RET
     END

⌨️ 快捷键说明

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