单片机编制歌曲送别_关于送别的歌曲
单片机编制歌曲送别由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“关于送别的歌曲”。
ORG 0000H
AJMP MAIN
ORG 000BH
JMP TIME0
ORG 0030H MAIN:
;主程序
MOV TMOD,#01H
;设定时方式
MOV IE,#82H
;开中断 START0:
MOV 30H,#00H;NEXT: MOV A,30H
MOV DPTR,#TABLE
MOVC A,@A+DPTR
;查表取音调和节拍
MOV R2,A
JZ END0
;为零,不进行处理.ANL A,#0FH
MOV R5,A
;将节拍存入R5
MOV A,R2
SWAP A
ANL A,#0FH
JNZ MUSIC
;根据音调决定是否演奏.CLR TR0
JMP DEL MUSIC: DEC A
MOV 22H,A
;将音调存入22H.RL A MOV DPTR,#TABLE1 MOVC A,@A+DPTR
;根据音调决定定时器初值.MOV TH0,A
;放入TH0
MOV 21H,A
MOV A,22H
RL A
INC A
MOVC A,@A+DPTR
MOV TL0,A
;放入TL0
MOV 20H,A
SETB TR0
;启动定时 DEL: CALL DELAY
INC 30H
JMP NEXT END0: CLR TR0
JMP START0 TIME0:
;定时器中断服务程序
PUSH ACC
PUSH
PSW
MOV TL0,20H
;重赋初值.MOV TH0,21H
CPL P1.6
POP
PSW
POP
ACC
RETI DELAY: MOV R7,#02H;延时子程序 DELA1: MOV R4,#125 DELA2: MOV R3,#248
DJNZ R3,$
DJNZ R4,DELA2
DJNZ R7,DELA1
DJNZ R5,DELAY
RET TABLE1:DW 64524,64580,64684,64777
;简码值
DW 64820,64898,64968,65030,65058
DW 64400,64260
TABLE:DB 14H,42H,62H,98H
;歌曲《送别》
DB 74H,92H,72H,68H
DB 64H,22H,32H,44H,32H,22H
DB 3CH
DB 64H,42H,62H,94H,04H,82H
DB 74H,94H,68H
DB 64H,32H,42H,54H,04H,12H
DB 2CH
DB 74H,94H,98H
DB 84H,72H,82H,98H
DB 72H,82H,92H,72H,72H,62H,42H,22H
DB 3CH
DB 64H,42H,62H,94H,04H,82H
DB 74H,94H,68H
DB 64H,32H,42H,54H,04H,12H
DB 2CH
END