基于80C51单片机的音乐演奏器设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机课程设计报告
音
乐
演
奏
器
姓名:
学号:
专业:
基于80C51单片机的音乐演奏器设计
设计原因:
随着科技的进步,各种高科技玩具应运而生,各种智能玩具层出不穷。如果给玩具添加更多功能,那么,此种玩具就具有更强的竞争力。故此,给玩具添加音乐演奏功能不失为良策。此外,音乐演奏器还可以应用于多种领域,比如可应用于门铃、闹铃等各种系统。总之,音乐演奏器有广泛的用途,且具有很强的生命力。用单片机来实现音乐演奏的功能,既简单轻便,又易于实现,并且成本比古典乐器低廉许多。最重要的是,基于单片机控制的音乐演奏器能发出一般乐器难以实现的音效。在网上搜各种曲谱均可以用单片机来实现其音效。
系统工作过程:
音乐演奏器的主体由单片机构成,通过控制定时器时间的不同可以产生不同频率的方波,用于驱动喇叭发出不同的音符,再利用延时来控制发音时间的长短,即可控制节拍,把乐谱中的音符和相应的节拍变换成时常数和延迟常数,做成数据表格存放在存储器中。由程序查表得到定时常数和延迟常数,分别用以控制定时器产生方波的频率和发出该方波的持续时间。当延迟时间到时,再查下一个音符的定时常数好延迟常数,依次进行下去。
利用定时器T1以方式1工作,产生各音符对应频率的方波,由P1.0输出驱动喇叭发音。节拍控制通过改变调用延时子程序D200(延时200ms)的次数来实现,以每拍800ms为例,一拍需循环调用D200延时子程序4次,同理,半拍就需要调用两次,设晶振频率为6Mhz,乐曲中的音符、频率、定时常数的关系可以参照有关表格。
系统硬件组成:
1、89C51单片机一个
2、晶振6MHz立式一个。
3、起振电容30pF瓷片电容2个
4、复位电容22uF 16V电解电容1个
5、电阻100欧、1K欧、4.7K欧各一个
6、三极管9012一个
7、蜂鸣器8欧一个
8、DIP封装插座40脚集成插座一个
9、万能版150*90一个
流程图如下:
电路原理图:
主程序为:
ORG 0000H
LJMP START
ORG 001BH
MOV TH1,R1
MOV TL1,R0
CPL P1.0
RETI
ORG 0100H
START:MOV TMOD,#10H
MOV IE,88H
MOV DPTR,#TAB
LOOP:CLR A
MOVC A,@A+DPTR
MOV R1,A
INC DPTR
CLR A
MOVC A,@A+DPTR
MOV R0,A
ORL A,R1
JZ NEXT0
MOV A,R0
ANL A,R1
CJNE A,#0FFH,NEXT
SJMP START
NEXT:MOV TH1,R1
MOV TL1,R0
SETB TR1
SJMP NEXT1
NEXT0:CLR TR1
NEXT1:CLR A
INC DPTR
MOVC A,@A+DPTR
MOV R2,A
LOOP1:LCALL D200
DJNZ R2,LOOP1
INC DPTR
AJMP LOOP
D200:MOV R4,#81H
D200B:MOV A,#0FFH
D200A:DEC A
JNZ D200A
DEC R4
CJNE R4,#00H,D200B
RET
TAB:DB 0FEH,25H,02H,0FEH,25H,02H,0FEH,25H,04H DB 0FDH,80H,04H,0FEH,84H,02H,0FEH,84H,02H
DB 0FEH,84H,04H,0FEH,25H,04H,0FEH,25H,02H
DB 0FEH,84H,02H,0FEH,0C0H,04H,0FEH,0C0H,04H
DB 0FEH,98H,02H,0FEH,84H,02H,0FEH,57H,04H
DB 00H,00H,04H,0FFH,0FFH
END
●结果与结论:
●设计此程序需要掌握89C51单片机中断和定时器的综合应用;还要学习
中断和定时器的编程方法及单片机全系统调试的过程及方法。
✧是否达到预期目的:总的来说,音乐演奏器的设计基本成功;
✧各项指标基本良好;
✧实际运行时,程序调试完全成功,可能电路有些误差,喇叭不能正
常发音。
✧设计及调试中遇到的问题及你的尝试,及没有解决的问题:
起初参看了大量的资料,参看了一些资料书上的程序设计及应用,后来尝试了5个方案,最终选定这个课题;虽然这个设计不算完美,但我个人比较喜欢这个题目。曾经成功设计了一个“一键多功能的显示
系统”,但那个不太实用,就否决了,改成了音乐演奏器的设计。在音乐
演奏器的程序调试过程中出现了几处错误,后来经过反复审查改正了一
些错误,其中包括字母拼写错误,程序设计错误;最终在同学的协助下
改正了全部错误,成功生成hex文件;没解决的问题是:最终运行时虽
然看到了高低电平的变化,但喇叭不能正常发音,经过反复检查调试,
喇叭仍然不能正常播放预置的音乐,可能部分元器件选择有误。但我尝
试了很多方案,仍不能使其完美,如果焊出电路板,效果应该会好一些。
参考书籍:<<单片机应用技术>>北京理工大学出版社倪志莲编写
✧经验教训总结及你对本计划的意见或建议;
经验教训:通过此次的课程设计,我对书上的知识有了更深刻的认识,发现只有理论联系实践才能对知识有更深刻的理解。另外,通过查阅各种资料,我对单片机有了更深层次的理解。单片机具有强大的功能,在日常生活中有广泛的应用,利用单片机可以开发出各种智能化的电子产品,单片机产业是一个朝阳产业,前途一片光明。总之,通过这次课程设计,我发现自己的视野更宽广了,同时增加了应对各种问题的能力和与他人沟通交流的能力。另外,我也深深认识到了自己的不足,知识体系还不够完备,对单片机设计还不够熟练,一些方面还有待加强与完善!
对本计划非常支持!
谢谢观赏