;//*****************************************************
;文件名: 八音盒.asm
;描 述: 八音盒,P1选择音乐,低电平有效,P3.0音乐输出口。
; 本程序使用的寄存器有R1至R7,40H,41H,42H单元。
; 标号TAB1处为T0的定时常数数据表。
;//*****************************************************
Speaker BIT P3.4
FLAG1 BIT 20H
FLAG2 BIT 21H
ORG 0000H
LJMP Start
ORG 0003H
LJMP EXINT0
ORG 000BH
LJMP INT_T0
ORG 0013H
LJMP EXINT1
ORG 001BH
DJNZ R4,GOON ;中断次数不够,继续。
CLR ET1 ;持续时间到,该音符停止。
CLR ET0
SJMP RE01
GOON: MOV TL1,40H
MOV TH1,41H
RE01: RETI
INT_T0: MOV C,FLAG1
JC TORET
DJNZ R0,TORET
MOV R0,#6
MOV C,FLAG2
JC TOADD
SJMP TOSUB
TOADD: MOV A,R3
CJNE A,#0FEH,ADD1
CLR FLAG2
SJMP TORET
ADD1: MOV A,R2
ADD A,#1
MOV R2,A
MOV A,R3
ADDC A,#0
MOV R3,A
SJMP T