📄 键盘程序1
字号:
;
;
ORG 0000H
AJMP START
ORG 0013H
AJMP KEY_INT
ORG 0080H
START:
SETB EA
SETB EX1
CALL CLR_P4
CALL DS_1S
CALL P4_P
AJMP START
CALL DS_1S
AJMP START
;=============================================
; 键盘接收——处理
;=============================================
KEY_INT:
PUSH ACC
PUSH PSW
PUSH DPH
PUSH DPL
CALL DS_KEY
mov p1,#0ffh
MOV A,P1
JNB ACC.7,KEY_4
JNB ACC.6,KEY_3
JNB ACC.5,KEY_2
JNB ACC.4,KEY_1
POP DPL
POP DPH
POP PSW
POP ACC
RETI
KEY_4:
MOV A,P1
JNB ACC.7,$
CALL DS_KEY
CLR IE1
MOV P4,07H
MOV P1,#0F0H
RETI
KEY_3:
MOV A,P1
JNB ACC.6,$
CALL DS_KEY
CLR IE1
CLR 28H.6
POP DPL
POP DPH
POP PSW
POP ACC
RETI
KEY_2:
MOV A,P1
JNB ACC.5,$
CALL DS_KEY
CLR IE1
CLR 28H.5
POP DPL
POP DPH
POP PSW
POP ACC
RETI
KEY_1:
MOV A,P1
JNB ACC.4,$
CALL DS_KEY
CLR IE1
CLR 28H.4
POP DPL
POP DPH
POP PSW
POP ACC
RETI
DS_KEY:
MOV R7,#0FFH
DJNZ R7,$
RET
DS_1S: MOV R7,#0FFH
DS_255us: MOV R6,#0FFH
DJNZ R6,$
DJNZ R6,$
DJNZ R7,DS_255us
RET
;
;==================================================
PLAY:
MOV P1,#0F0H
MOV DPTR,#0F00H
MOV R1,#0F0H
MOV A,@R1
INC R1
MOVC A,@A+DPTR
MOV P4,A
MOV P1,#0F1H
MOV A,@R1
MOVC A,@A+DPTR
MOV P4,A
INC R1
mov P1,#0F2H
MOV A,@R1
MOVC A,@A+DPTR
MOV P4,A
INC R1
mov P1,#0F3H
MOV A,@R1
MOVC A,@A+DPTR
ORL A,#80H
MOV P4,A
INC R1
mov P1,#0F4H
MOV A,@R1
MOVC A,@A+DPTR
MOV P4,A
INC R1
mov P1,#0F5H
MOV A,@R1
MOVC A,@A+DPTR
MOV P4,A
;ACALL WAIT_CLR
RET
WAIT_CLR:
MOV R7,#0FFH
DJNZ R7,WAIT_CLR
RET
CLR_P4:
MOV P4,#00H
MOV P1,#0F0H
MOV P1,#0F1H
MOV P1,#0F2H
MOV P1,#0F3H
MOV P1,#0F4H
MOV P1,#0F5H
RET
P4_P:
MOV P4,#0F6H
MOV P1,#0F8H
CALL DS_1S
RET
ORG 0F00H
TAB:
DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H
DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -