基于80C51单片机的音乐演奏器设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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文件;没解决的问题是:最终运行时虽

然看到了高低电平的变化,但喇叭不能正常发音,经过反复检查调试,

喇叭仍然不能正常播放预置的音乐,可能部分元器件选择有误。但我尝

试了很多方案,仍不能使其完美,如果焊出电路板,效果应该会好一些。

参考书籍:<<单片机应用技术>>北京理工大学出版社倪志莲编写

✧经验教训总结及你对本计划的意见或建议;

经验教训:通过此次的课程设计,我对书上的知识有了更深刻的认识,发现只有理论联系实践才能对知识有更深刻的理解。另外,通过查阅各种资料,我对单片机有了更深层次的理解。单片机具有强大的功能,在日常生活中有广泛的应用,利用单片机可以开发出各种智能化的电子产品,单片机产业是一个朝阳产业,前途一片光明。总之,通过这次课程设计,我发现自己的视野更宽广了,同时增加了应对各种问题的能力和与他人沟通交流的能力。另外,我也深深认识到了自己的不足,知识体系还不够完备,对单片机设计还不够熟练,一些方面还有待加强与完善!

对本计划非常支持!

谢谢观赏

相关文档
最新文档