?? 鍵盤程序1.asm
字號:
RET
DVL2: MOV A,R4
ADD A,R2
MOV R4,A
MOV A,R5
ADDC A,R3
MOV R5,A
MOV A,R6
ADDC A,#00H
MOV R6,A
CLR 54H
AJMP DVL3
RLN: MOV C,54H
MOV R0,#04H
MOV R1,#50H
RLNO: MOV A,@R1
RLC A
MOV @R1,A
INC R1
DJNZ R0,RLNO
MOV A,R4
RLC A
MOV R4,A
MOV A,R5
RLC A
MOV R5,A
MOV A,R6
RLC A
MOV R6,A
RET
;=================================================
; 轉換16進制到10進制
;=================================================
H_D:
LOOP: MOV R0,#54H
MOV A,26H
MOV @R0,A
INC R0
MOV A,27H
MOV @R0,A
ACALL BIN_BCD
LOOP0:
RET
BIN_BCD:
MOV R1,#51H
MOV R5,#03H
CLR A
LOOP1:
MOV @R1,A
INC R1
DJNZ R5,LOOP1
MOV R7,#10H
LOOP4:
MOV R0,#54H
MOV R6,#02H
CLR C
LOOP2:
MOV A,@R0
RLC A
MOV @R0,A
INC R0
DJNZ R6,LOOP2
MOV R1,#51H
MOV R5,#03H
NOP
LOOP3:
MOV A,@R1
ADDC A,@R1
DA A
MOV @R1,A
INC R1
DJNZ R5,LOOP3
DJNZ R7,LOOP4
RET
;===================================================
;
WORD3_6:
acall CLR_P4
MOV A,27H
ANL A,#0FH
MOV 83H,A
MOV A,27H
ANL A,#0F0H
SWAP A
MOV 82H,A
MOV A,26H
ANL A,#0FH
MOV 81H,A
MOV A,26H
ANL A,#0F0H
SWAP A
MOV 80H,A
MOV A,7FH
ANL A,#0FH
MOV 85H,A
MOV A,7FH
ANL A,#0F0H
SWAP A
MOV 84H,A
RET
WORD_3_6:
ACALL CLR_P4
MOV R0,#0F5H
MOV A,7EH
ANL A,#0FH
MOV @R0,A
DEC R0
MOV A,7EH
ANL A,#0F0H
SWAP A
MOV @R0,A
DEC R0
MOV A,7FH
ANL A,#0FH
MOV @R0,A
DEC R0
MOV A,7FH
ANL A,#0F0H
SWAP A
MOV @R0,A
DEC R0
MOV A,26H
ANL A,#0FH
MOV @R0,A
DEC R0
MOV A,26H
ANL A,#0F0H
SWAP A
MOV @R0,A
RET
;=============================================
; 鍵盤接收——處理
;=============================================
KEY_INT:
PUSH ACC
PUSH PSW
PUSH DPH
PUSH DPL
CALL DS_KEY
mov p1,#0ffh
MOV A,P1
JB ACC.7,KEY04
mov 28h,a
key04:
JB ACC.6,KEY03
mov 28h,a
key03:
JB ACC.5,KEY02
mov 28h,a
key02:
JB ACC.4,KEY01
mov 28h,a
key01: POP DPL
POP DPH
POP PSW
POP ACC
RETI
KEY_4:
MOV A,P1
JNB ACC.7,$
CALL DS_KEY
CLR IE1
CLR 28H.7
POP DPL
POP DPH
POP PSW
POP ACC
AJMP START1
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,#3F00H
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,#0F7H
CALL DS_1S
RET
ORG 3F00H
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 + -