📄 电子琴0.asm
字号:
ORG 00H
JMP START
ORG 0BH
JMP TIM0
START: MOV TMOD,#00000001B
MOV IE,#10000010B
JB P3.4, $
CALL DELAY1
JNB P3.4, $
MOV 31H,#00
START0:
MOV 30H,#LOW SONG
NEXT: MOV A,30H
MOV DPTR,#TABLE
MOVC A,@A+DPTR
MOV R2,A
JZ END0
ANL A,#0FH
MOV R5,A
SWAP A
ANL A,#0FH
JNZ SING
CLR TR0
JMP D1
SING: DEC A
MOV 22H,A
RL A
MOV DPTR,#TABLE
MOVC A,@A+DPTR
MOV THO,A
MOV 21H,A
MOV A,22H
RL A
INC A
MOVC A,@A+DPTR
MOV TL0,A
MOV 20H,A
SETB TR0
D1:
CALL DELAY
JNC 30H
JMP NEXT
END0:
CLR TR0
MOV A,31H
XRL A,#00H
JNZ END1
JB P3.4,$
CALL DELAY
JNB P3.4,$
INC 31H
MOV 30H,#LOW SONG1
JMP NEXT
END1:
MOV A,31H
XRL A,#01H
JNZ END2
JB P3.4,$
CALL DELAY
JNB P3.4,$
INC 31H
MOV 30H,#LOW SONG2
JMP NEXT
END2:
MOV A,31H
XRL A,#02H
JNZ END3
JB P3.4,$
CALL DELAY
JNB P3.4,$
INC 31H
MOV 30H,#LOW SONG3
JMP NEXT
END3:
MOV A,31H
XRL A,#03H
JNZ END4
JB P3.4,$
CALL DELAY
JNB P3.4,$
INC 31H
MOV 30H,#LOW SONG4
JMP NEXT
END4: MOV A,31H
XRL A,#04H
JNZ END35
JB P3.4,$
CALL DELAY
JNB P3.4,$
INC 31H
MOV 30H,#LOW SONG5
JMP NEXT
END5:
JMP START
TIM0: PUSH ACC
PUSH PSW
SETB RS0
CLR RS1
MOV TL0,2OH
MOV TH0,21H
CPL P1.0
POP PSW
POP ACC
RET1
DALAY: MOV R7,#02
D2: MOV R4,#125
D3: MOV R3,#248
DJNZ R3,$
DJNZ R4,D3
DJNZ R7,D2
DJNZ R5,DELAY
RET
DEALY: MOV R4,#20
D4: MOV R3,#248
DJNZ R3,$
DJNZ R4,D4
RET
ORG 300H
TABLE:
DW 64260,64400,64524,64580
DW 64684,64777,64820,64898
DW 64968,65030,65058,65110
DW 65157,65178,65217
SONG:
DB 42H,42H,42H,52H,64H,04H
DB 62H,62H,62H,72H,84,04H
DB 92H,92H,82H,72H,64H,04H
DB 82H,82H,52H,62H,44H,04H
DB 42H,42H,42H,52H,64H,04H
DB 62H,62H,62H,72H,84,04H
DB 92H,92H,82H,72H,64H,04H
DB 82H,82H,52H,62H,44H,04H
DB 00H
SONG1:
DB 42H,42H,42H,52H,64H,04H
DB 62H,62H,62H,72H,84,04H
DB 92H,92H,82H,72H,64H,04H
DB 82H,82H,52H,62H,44H,04H
DB 42H,42H,42H,52H,64H,04H
DB 62H,62H,62H,72H,84,04H
DB 92H,92H,82H,72H,64H,04H
DB 82H,82H,52H,62H,44H,04H
DB 00H
SONG2:
DB 42H,42H,42H,52H,64H,04H
DB 62H,62H,62H,72H,84,04H
DB 92H,92H,82H,72H,64H,04H
DB 82H,82H,52H,62H,44H,04H
DB 42H,42H,42H,52H,64H,04H
DB 62H,62H,62H,72H,84,04H
DB 92H,92H,82H,72H,64H,04H
DB 82H,82H,52H,62H,44H,04H
DB 00H
SONG3:
DB 42H,42H,42H,52H,64H,04H
DB 62H,62H,62H,72H,84,04H
DB 92H,92H,82H,72H,64H,04H
DB 82H,82H,52H,62H,44H,04H
DB 42H,42H,42H,52H,64H,04H
DB 62H,62H,62H,72H,84,04H
DB 92H,92H,82H,72H,64H,04H
DB 82H,82H,52H,62H,44H,04H
DB 00H
SONG4:
DB 42H,42H,42H,52H,64H,04H
DB 62H,62H,62H,72H,84,04H
DB 92H,92H,82H,72H,64H,04H
DB 82H,82H,52H,62H,44H,04H
DB 42H,42H,42H,52H,64H,04H
DB 62H,62H,62H,72H,84,04H
DB 92H,92H,82H,72H,64H,04H
DB 82H,82H,52H,62H,44H,04H
DB 00H
SONG5:
DB 42H,42H,42H,52H,64H,04H
DB 62H,62H,62H,72H,84,04H
DB 92H,92H,82H,72H,64H,04H
DB 82H,82H,52H,62H,44H,04H
DB 42H,42H,42H,52H,64H,04H
DB 62H,62H,62H,72H,84,04H
DB 92H,92H,82H,72H,64H,04H
DB 82H,82H,52H,62H,44H,04H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -