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

📄 键盘与显示.txt

📁 1、本实验键盘结构为4×4键盘
💻 TXT
字号:
   键盘与显示
ORG    0000H
        AJMP    MAIN
MAIN:  MOV     DPTR,#8001H     ;7424列清0
        MOV     A,#00H
        MOVX    @DPTR,A
MOV     DPTR,#8002H     ;74374行清0
        MOV     A,#00H
        MOVX    @DPTR,A
MOV     DPTR,#8002H     ;74374段选清0
        MOV     A,#00H
        MOVX    @DPTR,A
        MOV     R3,#00H
        MOV     R4,#00H
        MOV     R2,#11011111B    ;R2列扫描字
KEY0:  ACALL   KEXAM
        JZ      KEY0
        ACALL   DL10mS
        ACALL   KEXAM
        JZ      KEY0       
KEY1:  MOV     DPTR,#8002H     ;列地址
        MOV     A,R2
        MOVX    @DPTR,A
        MOV     DPTR, #8001H    ;行地址
        MOVX     A,@DPTR
        CPL     A
        ANL     A,#0FH
        JNZ     KEY2            ;有健按下,求行值
KEY11:  MOV     A,R3
        ADD     A,#04H          ;无健按下,行加4
        MOV     R3,A
        MOV     A,R2            ;扫描下一列
        RR      A
        MOV     R2,A       
        JB      ACC.0,KEY1      ;判断是否扫描完4列?
        AJMP    MAIN
KEY2:  CPL     A               ;计算行值
KEY3:  INC     R4
        RRC     A
        JC      KEY3
KEY4:  ACALL   DL10mS
        ACALL   KEXAM           ;等待健释放
        JNZ     KEY4
        MOV     A,R4
        ADD     A,R3            ;计算健值
        MOV     30H,A           ;保存健值
KEY5:  ACALL   DISPLAY
        ACALL   DL10mS
        ACALL   KEXAM
        JZ      KEY5            ;无健按下继续显示
        ACALL   DL10mS
        ACALL   KEXAM
        JZ      KEY5 
        AJMP   KEY11
DL10mS: MOV     R5,#08H           ;按键延时子程序
DL:     MOV     R6,#0FFH
DL0:    DJNZ    R6,DL0
        DJNZ    R5,DL
        RET
KEXAM: MOV     DPTR,#8002H     ; 列地址
        MOV     A,#00H
        MOVX    @DPTR,A
        MOV     DPTR,#8001H     ; 行地址
        MOVX    A,@DPTR
        CPL     A
        ANL     A,#0FH
        RET
DISPLAY: MOV DPTR,#TAB
		 MOV A,30H
		 MOVC A,@A+DPTR
		 MOV DPTR,#8004H
		 MOVX @DPTR,A
    	 MOV DPTR,#8002H        ; 位选
        MOV A,#20H
        MOVX @DPTR,A
		 RET
TAB:    ;DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,
        ;DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H,
        DB 0FFH,3FH,06H,66H,07H,71H,5BH,6DH,7FH,
        DB 79H,4FH,7DH,6FH,5EH,39H,7CH,77H,
        END

⌨️ 快捷键说明

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