完整版基于51单片机的自动音乐播放器设计毕业设计.docx
- 文档编号:14199460
- 上传时间:2023-06-21
- 格式:DOCX
- 页数:20
- 大小:534.60KB
完整版基于51单片机的自动音乐播放器设计毕业设计.docx
《完整版基于51单片机的自动音乐播放器设计毕业设计.docx》由会员分享,可在线阅读,更多相关《完整版基于51单片机的自动音乐播放器设计毕业设计.docx(20页珍藏版)》请在冰点文库上搜索。
完整版基于51单片机的自动音乐播放器设计毕业设计
本科毕业论文(设计)
题目:
基于51单片机的自动音乐播放器设计
院系:
电子与通信工程学院
专业:
通信工程
***********************************
**********************************
教师职称:
助教
填写日期:
2014年4月20日
摘要
为了人们在快节奏的日常生活,优化工厂、事业单位、公司等的计时系统,采用了依靠单片机为基础设计了一种的自动音乐播放器。
本设计利用单片机89C58RD+的计数和定时功能,来完成对时间的定时和显示功能。
并且,通过对定时器初值的设定来产生不同频率的声音,利用定时器中断来对音乐节拍长度的控制。
通过LM386N1音频功率放大器的音频放大功能,将单片机控制输出的信号放大,然后通过扩音器播放乐曲。
通过MAX232型芯片,可以转换PC机上的电压和单片机的电源电压,再通过相应串口接入PC机,这样就能从PC机上将用C语言编写的程序代码下载到单片机上。
最后可以在数码管上显示时间,当到达之前设定的时间之后,扩音系统就会自动播放一段连续而美妙动听的音乐。
此设计规避了传统闹钟的难听并且刺耳声音,而变成的是美妙动听的音乐,能给处于当前快节奏生活的人们的日常生活提供精确的计时,且因为成本较低,值得推广。
关键词:
单片机;自动音乐播放;音频转换;时间显示;LM386N1音频功率放大器。
Abstract
Topeopleinthefastpaceofdailylife,optimizationoffactories,institutions,companiessuchastimingsystem,basedonmicrocomputerwasadoptedtodesignakindofautomaticmusicplayer.Thisdesignusingthesinglechipmicrocomputer89c58rd+countandtimingfunctions,tocompletetheregularanddisplayfunctionoftime.And,throughtothesettingoftheinitialvalueoftimertogeneratedifferentfrequenciesofsound,usingatimerinterrupttocontrolofthebeatofthemusiclength.ThroughtheaudioamplifierfunctionLM386N1audiopoweramplifier,thesingle-chipmicrocomputercontroloutputsignalamplification,andthenthroughloudspeakers.ThroughMAX232chip,canconvertthevoltageofpowersupplyvoltageofPCandmicrocontroller,againthroughthecorrespondingaccessPCserialport,soyoucanfromthePCtodownloadprogramcodewritteninClanguagetothesinglechipmicrocomputer.Lasttimecanbedisplayedonthedigitaltube,when,afterarrivinginsettingthetimebeforethepublicaddresssystemwillautomaticallyplayacontinuousanddelightfulmusic.Thisdesigntoavoidthetraditionalalarmclockuglyandgiveinthefast-pacedlifeofthePeople'sDailylifetoprovideaccuratetiming,andbecauseoflowercost,isworthpromoting.
Keywords:
singlechipmicrocomputer;Automaticmusicplayback;Audioconversion;Timedisplay;LM386N1audiopoweramplifier.
第一章绪论
本设计系统是基于单片机控制实现完成音乐播放功能的设计,在现实生活中具有其广泛的应用及实际意义。
因而在设计的时候,会着重考虑该系统的稳定跟便利的特点,通过设计出来的系统为人们提供更加丰富多彩的生活。
系统的设计是先是通过系统硬件设计,加强对单片机的认识,硬件的设计是通过元器件的功能和使用方法进行的。
音乐播放器的音阶原理及系统软件实现,软件程序的设计,系统的软件设计是根据单片机对其它元器件的控制进行设计的。
以实现系统的采集功能。
本设计通过对测量放大器性能指标的分析,明确设计原理跟设计思路,提出多个需要使用电路搭建电路的方案,并对每个方案的优缺点进行逐一系统地对比,最终得出此毕业设计方案。
通过对测量放大器的设计,论文中进行了对于稳压电源设计原理和思路的一系列的讨论,通过分析讨论之后,最终定下该电源电路设计方案,以达到设计要求。
本次毕业设计主要通过对测量放大器以及稳压电源的设计,系统性地熟悉并掌握了一般电子系统的一般的设计方法跟思路,熟悉了一些常用的电子元器件,并对大学所学的模电跟51单片机知识得到了巩固跟加强,熟悉了电路调试仿真的一系列基本方法,使自己能将课本中所学的理论知识得以应用,为自己的设计能力得以加强。
第二章系统硬件的设计
2.1设计目的
设计一个音乐播放器,通过按钮控制单片机,播放所要求的音乐片段,并通过放大电路和蜂鸣器输出美妙动听音乐,同时还可以通过数码管显示播放信息。
2.2硬件电路结构
该系统中最主要的电路有电源电路(为整个系统提供必须的电源),晶振电路(为单片机提供一定频率的系统时钟),单片机(小型CPU,起控制作用),显示电路(控制数码管显示),键控电路(进行按键切换),复位电路(使整个系统恢复到初始状态),发声电路(主要有三极管进行功率放大)组成:
2.389C51单片机芯片介绍
AT89C51单片机有很好的可擦除性能以及兼容性,该产品为很多嵌入式控制系统提供了更高性价比及更佳灵活的方案。
引脚排列和外形如图2-4所示
(二)稳压芯片LM7912的主要参数
主要参数:
最大输出电流:
1A
输出电压:
–12V
图2-1AT89C51引脚序列及外形图
2.489C51单片机的基本组成
·一个8位的80C51微处理器(CPU)
·4K字节可编程闪烁存储器
·寿命:
1000写擦循环
·数据保留时间:
10年
·全静态工作:
0Hz-24MHz
·三级程序存储器锁定
·128×8位内部RAM
·32可编程IO线
·两个16位定时器计数器
·5个中断源
·可编程串行通道
·低功耗的闲置和掉电模式
·片内振荡器和时钟电路
2.5硬件电路设计
(1)晶振电路
此电路的两个电容的频率一致,形成共振,从而达到一个稳定的频率。
。
最主要作用是为单片机提供一定频率的系统时钟。
晶振提供的时钟频率越高,意味着单片机运行速度也就越快。
图2-2晶振电路
(2)复位电路
复位电路工作原理如下图所示,复位方式有上电复位跟手动按钮复位两种。
通电后电路对电容进行充电,此过程使其处于高电平状态,在高电平状态时能达到复位,按下按键后电路的电容处于放电状态,即低电平,不能复位。
图2-3复位电路
(3)发声电路
发声电路是用三极管(PNP)驱动蜂鸣器低电平正常发声,对于PNP管,基极接低电平,发射极接VCC,BE导通。
集电极接负载接地,CE导通。
当IO口输出是高电平是,三极管处于截止状态。
图2-4发声电路
(4)按键电路
本来按键开关有四个引脚,但自己所做的设计只能用到其中两个引脚,若开关按下的时候电路处于导通状态,四个开关处于并联状态,相互不会产生任何电压电流的影响。
图2-5按键电路
(5)电源电路
通过USB口提供电流,再经过两个滤波电容过滤掉其中的交流电流,使其变成单一的直流电流。
图2-6电源电路
(6)显示部分电路
该部分由4个晶体管控制4个数码管,晶体管的原理和发声电路里的晶体管的原理是一样的,当晶体管的基极是低电平时,数码管处于显示状态,相反,处于高电平时,晶体管处于截止状态,而数码管也处于截止状态。
显示部分分为位选部分和段选部分:
图2-7显示部分分为位选部分
图2-24是段选部分,由P0控制数码管的段选,从而显示你想要的数字,图2-24为共阳极数码管,当IO为低电平时,相应的段位的灯就会亮,相反,当IO为高电平时,相应的段位的灯就不会亮。
图2-8显示部分分为段选部分
(7)PC机与单片机通信接口
使用时需要注意的是MAX232有两组输入,两组输出,你在使用时输入输出要同号,即与单片机相连的端,输入选的是T-IN2,输出选R-OUT2,与串口座DB9相连端同样选择输入端RR-IN2,输出端RR-OUT2。
图2-9单片机与PC机通信部分
第三章音乐播放器的系统软件设计
3.1音频脉冲产生的原理
音频振动会导致声音的产生,频率的高低决定了声音的高低。
音频大致处于20HZ-200KMH之间。
其中正常耳朵能辨识声音频率大致为200HZ-20KHZ。
音乐是由音符组成的,而不同的音符对应不同的振荡频率。
单片机的定时器可以产生不同频率,在驱动通过蜂鸣器,就可以播放音乐了。
如果要产生音频脉冲,需要算出该音频的周期T,然后除以2得到半周期T2时间,再通过让单片机的某个IO口反向,就能够在单片机的这个IO引脚得到次频率的脉冲。
3.2节拍产生原理与音乐频率转换
通常音阶频率都是是固定不变的,然而节拍则有快慢的区别,拍子的长短与节奏的快慢成反比。
控制发音有调用延时程序和采用定时中断两种方式。
据节拍原理的特征,可设定每0.4S为1拍,14拍就是0.1S,只要设定延时时间就可以求得节拍时间。
假设14拍为1DELAY(延时),则1拍应为4DELAY,则以后的诸如34拍等均可以依次类推。
表3-1为节拍时间设定表
表3-2节拍码对照表
14节拍
18节拍
节拍码
节拍数
节拍码
节拍数
1
14拍
1
18拍
2
24拍
2
14拍
3
34拍
3
38拍
4
1拍
4
12拍
5
1又14拍
5
58拍
6
1又12拍
6
34拍
7
1又34拍
7
78拍
8
2拍
8
1拍
9
2又14拍
9
1又18拍
A
2又12拍
A
1又14拍
B
2又34拍
B
1又38拍
C
3拍
C
1又12拍
D
3又14拍
D
1又58拍
E
3又12拍
E
1又34拍
F
3又34拍
F
1又78拍
3.3音阶的实现
因为每个音阶对应相应的频率,所以音阶可以用来表示音调的高低。
又由于音阶可以通过不同频率的方波产生,其关系如表3-3。
因为频率倒数即为周期,所以可由单片机中的定时来控制方波的周期,每当定时器计数溢出时就会产生中断反应。
其周期可以通过跟扬声器所连接的P1.7取反后就得到,因此可以达到控制频率(音阶)的目的。
音阶
频率(Hz)
定时器初值
音阶
频率(Hz)
定时器初值
音阶
频率(Hz)
定时器初值
1
2
3
4
5
6
7
0
131
147
165
175
196
220
247
0
0F85EH
0F933H
0F9F0H
0FA49H
0FAE6H
0FB74H,
0FBF4H
0100H
1
2
3
4
5
6
7
0
262
294
330
349
392
440
494
0
0FC2FH
0FC99H
0FCF8H
0FD22H
0FD73H
0FDBAH
0FDFAH
0100H
1
2
3
4
5
6
7
0
523
587
659
698
784
880
988
0
0FE17H
0FE4CH
0FE7CH
0FE91H
0FEB9H
0FEDDH
0FEFDH
0100H
低八度音
中音
高八度音
表3-3音阶与频率的关系
注:
0表示简谱中的空拍
当晶体振荡频率达到6.144MHz,定时器在方式1下工作时,如果各音阶相对应的定时器计数初值为X,则可根据
计算X。
3.4音频转换流程图
图3-1音频转换流程图
3.5主程序设计流程
通过初始化进行中断属性设置、定时器设置并打开中断跟定时器,此过程中CPU处于一直不断运行中,然后等待按键是否按下,即判断电平状态,高电平为断开,低电平为导通,然后进入下一个环节判断按键编号,播放指定的曲目,播放完成,这是循环往复的一个过程。
no
yes
图3-2软件设计流程
第四章系统调试及分析
在比较了市面上较多的仿真软件之后,在从对软件熟悉程度以及自己的毕业设计要求做了认真的对比之后,慎重选择的仿真平台为Proteus软件,结果证明这是能够达到此次毕业设计的仿真要求的。
4.1硬件调试
本次设计在调试单片机89c85RD+、LM386N1跟MAX232的电路过程中也遇到了许许多多的问题。
问题:
单片机无法正常下载程序。
调试步骤:
(1)检查单片机跟串口电路连接是否错误。
检查出单片机的18、19脚的印制线接在了17、18脚上,致使晶振无法工作。
出现错误原因是由于自己制作PCB板时,自己将印制线连错。
解决办法:
将17脚的印制线用小刀将其切断,再将19脚与晶振通过导线连接起来。
(2)检查串口的接口是否连接正确。
发现串口连接线的发送两端跟数据接收接反了,致使单片机无法正常接受到数据。
解决办法:
把串口DB9端拆出,将连接2脚和3脚的数据线进行交换。
(3)检查焊接电路是否有虚焊和漏焊。
(4)检查所选串口助手芯片是不是正确的。
MAX232工作电压如表4-1所示。
表4-1
管脚
电压值(V)
管脚
电压值(V)
1
6.67
9
4.70
2
8.78
10
0
3
2.52
11
4.77
4
4.13
12
0.44
5
-4.25
13
-9.85
6
-8.16
14
-7.60
7
8.26
15
0
8
0
16
4.79
4.2软件调试
图4-1硬件部分图
此次调试我把重点放在分模块调试上,通调被我放在最后一个环节。
采取了离线调试和在线调试两种软件调试方式,其中离线调试无需硬件仿真器,只需要借助于软件仿真器就可以完成调试;而在线调试一般需要借助于仿真系统的支持。
在本次设计中是借助于keilc51软件仿真器。
对该MP3播放器的设计的调试最主要的是对扬声器的输出音乐部分的调试跟键盘控制和LED显示部分的调试,可以按照以下顺序对各个功能模块的程序进行调试。
(1)将P2口作为输出口用来实现LED的显示,进而检测P2口和LED显示模块能不能正常进行工作。
(2)通过键盘的控制LED数码管显示相应的内容。
(3)使用某IO口做输出口使扬声器工作。
通过软件对该设计的各种调试以及自己做出的自动音乐播放器的各个功能模块的电路跟代码调试之后,产品的各个性能指标均能达到设计要求。
产品图片如下:
实物图
4.3仿真结果
在keil仿真软件中建立工程,连接,通过编译后生成.Designer绘图软件以及protues仿真软件的使用,并成功的利用protues来完成了仿真过程并依据此完成了我的毕业设计。
这是我本科阶段最后的一次工作,其充满了苦与乐,让我收获了很多课堂上无法获得的知识,留下了美好的一段人生插曲。
通过本次设计让我懂得了在以后的生活中,我必须以严谨认真的科学态度才能完成工作,在生活中必须拥有勇于探索、勇于实践和开拓创新精神。
致谢
本论文在陈冬云老师的帮助下顺利完稿,感谢陈老师在撰写过程中提供各个方面的帮助和意见,让我感到受益匪浅,同时也感谢我的室友,他们为我的论文研究提供了大量的资料和可行性方案,并帮助和指导我完成论文的主要程序。
在论文设计过程中,遇到诸多的麻烦,后来经过老师及其同学的大力帮助,并对前期的方案进行系统地修改后,方才得出一个更为合适的可行性方案,使得论文顺利完稿,在这里我非常感谢对我在论文设计过程中提供过帮助的老师和同学。
在论文的设计的过程中,通过一系列的学习使我不断成长,学到了很多宝贵的东西,既对以前的只是得到了系统的复习,又学得了不少新的东西。
论文是大学毕业的最后一道学习,需要很多方面的知识来完成,特别是对专业课是一个很有力的检验,刚好在这些方面我又存在太多的不足。
所以通过这段日子的论文撰写,让我在这些方面的知识得到了很大的巩固和补充,这些重要的知识将在我以后的人生道路上产生很大的作用。
由于我个人的知识局限性,以及时间的仓促,论文撰写难免有不妥之处,敬请各位评审老师指正,对你们认真细致的工作态度致以真诚的谢意!
参考文献
[1]郑郁正.单片机原理及应用.四川大学出版社,2003.
[2]谭浩强.C程序设计(第二版).清华大学出版社,1999.
[3]王晓君.安国臣等.MCS—51及兼容单片机原理与选型.北京-电子工业出版社,2003.
[4]米昶.零点起航.CDA应用软件系列教材:
ProDXP电路设计基础教程.机[5]谈世哲.ProDXP2004电路设计基础与典型范例.电子工业出版社,2007.
[6]张义和.陈敌北.例说8051.北京.人民邮电出版社,2006.
[7]张洪润.张亚凡.单片机原理及应用.清华大学出版社,2000.
[8]李朝青.单片机原理及接口技术.第三版.北京.北京航空航天大学出版社,2003.
[9]唐颖.单片机原理与应用及C51程序设计.北京大学出版社,2008.
[10]张秀国.单片机C语言程序设计教程与实训.北京大学出版社,2008.
[11]马忠梅.单片机的C语言应用程序设计(第3版).北京航空航天大学出版社,2008.
[12]黄振杰.基于AT89S52的多功能音乐播放器[J].广东:
电子设计工程,2009.
[13]何立民.MCS-51系列单片机应用系统设计.北京航空航天大学出版社,[M]1990.
[14]张义和.王敏男等.例说51单片机[M].北京:
人民邮电出版社,2008.4.
[15]陈明荧.8051单片机课程设计实训教材[M](第一版).北京:
清华大学出版社,2004.
[16]AT89C51DATASHEEPPhilipsSemiconductors1999.dec.
附录
附录一、总体原理图
附录二、PCB图
图2-3PCB
附录三、音频程序的编写
1将节拍代码装入低4位,音符代码装入8位字节高4位,组成一个字节,由此类推。
将整段音乐转换成一定长度的编码表。
具体方法如下:
(1)开始,定义toneh[]和tonel[]出两个数组,把每个音乐频率的定时器初值的低8位装入tonel[]和16进制数的高8位装入toneh[]。
(2)通过单片机的定时器中断功能,将tonel[]和toneh[]的数据分别装入TL0和TH0。
void timer0(void) interrupt 1 using 1
{
P1_0=!
P1_0;
TH0=toneh[rti];
TL0=tonel[rti];
}
(3)通过定时器1来控制音乐节拍的运行时间长度,将以上定时器初值装入定时器1。
void timer1(void) interrupt 3 using 2
{
TH1=0x0c;
TL1=0xdc;
m++;
}
2查频率表取出控制音符的代码,放入TC口,取出控制节拍的代码,放入定时器中使用,启动之后就能发出美妙的声音了。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整版 基于 51 单片机 自动 音乐 播放 设计 毕业设计
![提示](https://static.bingdoc.com/images/bang_tan.gif)