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

📄 keyboard.asm

📁 键盘扫描程序
💻 ASM
字号:
;exec减速,next加速,here左移,last右移,ret返回初始状态
             MOV R0,#20H     ;R0为显示列码
             MOV R1,#80H     ;R1为显示缓冲,初始化LED输出字型8
             MOV R3,#08H     ;初始化显示速度
             CLR 21H.0       ;21H.0为显示方向判据,缺省显示方向为左

START:       ACALL ROLL
             ACALL DISPLAY
             ACALL DELAY
             SJMP START

DELAY:       MOV A,R3           ;循环速度送A
             MOV R5,A           ;保存于R5
WAIT3:       MOV 23H,#0FFH
WAIT2:       ACALL KEY_SCAN
             ACALL DISPLAY
             CJNE A,#0,GETKEY     ;a不为零,代表有键按下
             SJMP DLT
GETKEY:      ACALL K_G
             CJNE A,#0FFH,NEXT    ;无键按下则显示原来内容,有键按下则跳Next
             SJMP DLT
NEXT:        ACALL VALUE
             ACALL DISPLAY
DLT:         MOV 22H,#0FH
WAIT1:       DJNZ 22H,WAIT1       ;22H,23H用于计数
             DJNZ 23H,WAIT2
             DJNZ R5,WAIT3        ;R3延时计数
             RET

VALUE:       MOV A,R7           ;R7为键码
             JB ACC.4,KP        ;键值不是0-F就转移到KP
             MOV DPTR,#TABLE
             MOVC A,@A+DPTR
             MOV R1,A
             MOV P1,A
             RET
KP:          CJNE A,#15H,CHECK1   ;A为键值为15(LAST)时

⌨️ 快捷键说明

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