📄 dian_zi_qin.asm
字号:
ORG 0000H
SJMP START
ORG 000BH
LJMP BELL
ORG 0030H
START: MOV SP,#30H
MOV TMOD,#01H
SETB ET0
SETB EA
MOV R0,#0EFH
MOV R1,#4
MOV R2,#16
MOV DPTR,#KEYTAB
MOV TH0,#0ECH
MOV TL0,#078H
L0:
MOV R2,#16
MOV P2,R0
MOV A,R0
RL A
MOV R0,A
MOV A,P2
ANL A,#0FH
CJNE A,#0FH,L1 ;键盘按下的话转L1
DJNZ R1,L0
MOV R1,#4
MOV R0,#0EFH
SJMP L0
L1: MOV A,R2
DEC A
MOV DPTR,#KEYTAB
MOVC A,@A+DPTR
CJNE A,P2,L2
MOV A,R2
DEC A
MOV 70H,A
SJMP L3
L2: DJNZ R2,L1
L3: MOV A,70H
MOV DPTR,#HTAB
MOVC A,@A+DPTR
MOV 71H,A
MOV DPTR,#LTAB
MOV A,70H
MOVC A,@A+DPTR
MOV 72H,A
SETB TR0
CALL DELAY
CLR TR0
LJMP L0
BELL: PUSH ACC
PUSH PSW
PUSH DPL
PUSH DPH
MOV TH0,71H
MOV TL0,72H
CPL P3.7
POP DPH
POP DPL
POP PSW
POP ACC
RETI
DELAY: MOV R3,#028H
DELAY1: MOV R4,#0FFH
DJNZ R4,$
DJNZ R3,DELAY1
RET
KEYTAB: DB 07EH, 0E7H, 0D7H, 0B7H, 077H, 0EBH, 0DBH, 0BBH, 07BH, 0EDH
DB 0DDH, 0BDH, 07DH, 0EEH, 0DEH, 0BEH
HTAB: DB 0FDH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FDH,0FEH
LTAB: DB 082H,022H,056H,085H,09AH,0C1H,0E4H,003H,011H,02BH
DB 042H,04DH,061H,072H,0C8H,006H
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -