ORG 0000H
AJMP MAIN
ORG 000BH
AJMP T0INT
ORG 0050H
MAIN: MOV TMOD,#01H
MOV IE,#82H
Again: MOV DPTR,#TAB;表首地址
LOOP: CLR A
MOVC A,@A+DPTR
MOV R2,A ;时间高位
INC DPTR
CLR A
MOVC A,@A+DPTR
MOV R3,A;时间低位 2
ORL A,R2
JZ STOP
MOV A,R2
ANL A,R3
CJNE A,#0FFH,NEXT
AJMP Again
NEXT: MOV TH0,R2
MOV TL0,R3
SETB TR0
NEXT1: CLR A
INC DPTR
MOVC A,@A+DPTR
MOV P1,A;字形码显示 3
CLR A
INC DPTR
MOVC A,@A+DPTR; 延时常数 4
DEL: MOV R5, 2
DEL0: MOV R6 ,#250
DEL1: MOV R7, #248
NOP
DEL2: DJNZ R7, DEL2
DJNZ R6,DEL1
DJNZ R5,DEL0
CLR TR0
INC DPTR;下一个音节
LJMP LOOP
STOP: AJMP NEXT1
T0INT: PUSH A
PUSH PSW
PUSH DPH
PUSH DPL
CPL P3.0;音频取反
MOV TH0,R2
MOV TL0,R3
SETB TR0
POP DPL
POP DPH
POP PSW
POP A
RETI
TAB: DB
在TAB后把简谱打上
5分就想打发了?太不给力了……
7个频率 和 延时 组成的时间节拍而已 强度是个问题