?? text1.asm
字號:
ORG 30H
START: MOV R0,#00H
MOV R1,#04H
MOV R2,#0EFH ;掃描碼初值 低電平掃描
GO: MOV A,R2
MOV P1,A
;==================查第一行=============================
JNB P1.0,KEYIN ;若被按下就跳轉
INC R0 ;下一鍵
;==================查第二行==============================
JNB P1.1,KEYIN
INC R0
;==================查第三行=============================
JNB P1.2,KEYIN
INC R0
;==================查第四行===============================
JNB P1.3,KEYIN
INC R0
;==================下一列==============================
MOV A,R2
RL A
MOV R2,A
DJNZ R1,GO
JMP START
;==================鍵被按的處理程序========================
KEYIN: CALL WAIT ;調用防抖動延時
MOV A,R0 ;取按鍵值
MOV P2,#0FFH ;清理數碼管
MOV P2,A
MOV P0,#0FEH
JMP START ;重新掃描
;================防抖動延時程序===========================
WAIT: MOV R7,#40
W1:MOV R6,#200
DJNZ R6,$
DJNZ R7,W1
RET
END
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -