89C52单片机音乐播放器

来源:百度知道 编辑:UC知道 时间:2024/06/09 11:28:46
这个很急!
希望电脑程序方面的高手帮帮忙!
做学期末课程设计!
希望给出程序及一些解释!!!!
各位大虾帮帮忙!!!!
成功我会追加分的!!!
如果有问题可以直接Q我或发至我邮箱!263563895!
还有程序流程图以及软件设计,硬件图等!!
谢谢各位大虾了!
我 还会再追加50分!!!!!!!!!!

这是一个完整的播放一首音乐的程序,仅供参考,希望对你有帮助:

SPK EQU P3.7 ; 蜂鸣器所在端口

ORG 0000H
JMP START

START:
MOV R3,#00H
NEXT:
MOV A,R3
MOV DPTR,#TABLE
MOVC A,@A+DPTR
JZ START
MOV R7,A
INC R3
MOV A,R3
MOVC A,@A+DPTR
MOV R2,A
ACALL SONG
INC R3
SJMP NEXT

;===============================================================================
;=== 歌曲播放子程序 ===
SONG:
MOV A,R2 ; 取出节拍
RL A
JNZ KEEP
MOV A,#01H
KEEP:
MOV R2,A
REPEAT:
ACALL EIGHTH
DJNZ R2,REPEAT
RET

;===============================================================================
;=== 产生1/8拍延时子程序 ===
EIGHTH:
MOV A,R7 ; 查表取出廷时参数,保存到R4
MOV DPTR,#DELAY_T
MOVC A,@A+DPTR
MOV R4,A
MOV A,R7 ; 查表取出1/8拍周期数,保存到R5
MOV DPTR,#S_PARA
MOVC A,@A+DPTR
MOV R5,A
NEXTCYC:
ACALL SOU