![](https://csdnimg.cn/release/download_crawler_static/86701454/bg1.jpg)
;标题 '八月桂花香'发声程序
ORG 0000H
LJMP START
ORG 000BH
INC 20H ;中断服务,中断计数器加 1
MOV TH0,#0D8H
MOV TL0,#0EFH ;12M 晶振,形成 10 毫秒中断
RETI
START:
MOV SP,#50H
MOV TH0,#0D8H
MOV TL0,#0EFH
MOV TMOD,#01H
MOV IE,#82H
MUSIC0:
NOP
MOV DPTR,#DAT ;表头地址送 DPTR
MOV 20H,#00H ;中断计数器清 0
MOV B,#00H ;表序号清 0
MUSIC1:
NOP
CLR A
MOVC A,@A+DPTR ;查表取代码
JZ END0 ;是 00H,则结束
CJNE A,#0FFH,MUSIC5
LJMP MUSIC3
MUSIC5:
NOP
MOV R6,A
INC DPTR
MOV A,B
MOVC A,@A+DPTR ;取节拍代码送 R7
MOV R7,A
SETB TR0 ;启动计数
MUSIC2:
NOP
CPL P1.0
MOV A,R6
MOV R3,A
LCALL DEL
MOV A,R7
CJNE A,20H,MUSIC2 ;中断计数器(20H)=R7 否?
;不等,则继续循环