基于单片机的自动音乐播放器的设计学士学位论文.docx
- 文档编号:3809642
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:31
- 大小:343.89KB
基于单片机的自动音乐播放器的设计学士学位论文.docx
《基于单片机的自动音乐播放器的设计学士学位论文.docx》由会员分享,可在线阅读,更多相关《基于单片机的自动音乐播放器的设计学士学位论文.docx(31页珍藏版)》请在冰豆网上搜索。
基于单片机的自动音乐播放器的设计学士学位论文
分类号:
UDC:
密级:
公开编号:
2003021208
成都信息工程学院
学位论文
基于单片机的自动音乐播放器的设计
论文作者姓名:
申请学位专业:
通信工程
申请学位类别:
工学学士
论文作者班级:
指导教师姓名(职称):
论文提交日期:
毕业设计(论文)原创性声明和使用授权说明
原创性声明
本人郑重承诺:
所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:
日 期:
指导教师签名:
日 期:
使用授权说明
本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:
按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:
日 期:
学位论文原创性声明
本人郑重声明:
所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:
日期:
年月日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名:
日期:
年月日
导师签名:
日期:
年月日
基于单片机的自动音乐播放器的设计
摘要
为方便人们的日常生活,优化学校、机关等单位的计时系统,采用以单片机为基础设计了一种的自动音乐播放器。
本设计利用单片机89C58RD+的定时和计数功能,来完成时间的显示和定时功能。
并且,通过对定时器初值的设定来产生不同频率的声音,利用定时器中断来完成对音乐节拍长度的控制。
通过LM386N1音频功率放大器,将单片机输出的信号放大,再通过喇叭播放乐曲。
通过MAX232型芯片,可以转换PC机上的电压和单片机的电源电压,再通过串口接入PC机,这样就能从PC机上将用C语言编写的程序下载到单片机上。
最后可在数码管上显示时间,当定时时间到后,喇叭自动播放一段连续的音乐。
此设计摆脱了传统闹钟的刺耳声音,取而代之的是美妙的音乐,能为人们的日常生活提供准确的计时,且成本低廉,值得推广。
关键词:
单片机;自动音乐播放;音频转换;时间显示;LM386N1音频功率放大器
Thedesignofautomaticmusicplayerbasedonmonolithicintegratedcircuit
Abstract
Inordertofacilitatepeople'sdailylife,optimizesschools’,institutions’timingsystem,usedhasdesignedonekindofautomaticmusicplayerwhichbasedonmonolithicintegratedcircuit.Thisdesignfixedtimeandcountsthefunctionusingmonolithicintegratedcircuit89C58RD+,completesthetimethedemonstrationandfixedtimethefunction.And,Throughhypothesisstartingvalueoftimer,productthedifferentfrequencysound.Seversusingthetimercompletesthecontrolofmusicmetrelength.ThroughLM386N1audiopoweramplifier,enlargessignalwhichthemonolithicintegratedcircuitoutputs,thenbroadcastmusicfromloudspeaker.ThroughMAX232chip,cantransformPCmachineonthevoltageandthemonolithicintegratedcircuitsupplyvoltage.Andthen,turnsonthecomputerthoughStringmouth,thenitcandownloadprocedurewhichcompileswiththeClanguagetomonolithicintegratedcircuitfromcomputer.Atlast,itcandemonstratesthetimeonthedigitaltube.Whentimetoafterfixedtime,theloudspeakerautomaticallybroadcastssectionofcontinualmusics.Thisdesigngetridofthetraditionalalarmclock’sgratingsound,displacesisthewonderfulmusic,canprovidestheaccuratetimeforpeople'sdailylife.Thedesigncostveryinexpensive,itisworthpromoting.
Keyword:
Monolithicintegratedcircuit;Automaticmusicbroadcast;Audiofrequencytransformation;Timedemonstration;LM386N1audiopoweramplifier
论文总页数:
页
引言.......................................................................1
1设计任务................................................................2
2软件设计
2.1音乐编程原理及流程图...............................................
2.1.1声音的产生......................................................
2.1.2音频转换原理....................................................
2.1.3音频转换流程图..............................................
2.2时间显示程序设计..............................................
2.2.1时间显示模块..............................................
2.2.2时钟流程图..............................................
3硬件电路的设计..............................................................2
3.1硬件流程模块(此节作为第1节---后面几节就围绕它来写,并且要写“连贯”)
3.2主要模块电路的设计..........................
3.2.189C58RD+型单片机介绍.........................................
3.2.2LM386N及外围电路的设计............................
3.2.3串行通信和MAX232芯片...........................................
3.24AT89C52的定时/计数器概述.........................................
3.25LED显示原理......................................................
4KEIL仿真软件及Protel99SE的应用......................................
4.1KEIL51的应用..........................................................
4.2Protel99SE的应用.....................................................
4.3PCB板制作.............................................................
5仿真及调试过程..........................................................
5.1硬件调试过程
5.2软件仿真及调试过程
6结果分析................................................................结论.....................................................................
参考文献.......................................................................
致谢.....................................................................29
声明.....................................................................30
附录.....................................................................16
基于单片机的自动音乐播放器的设计
引言
单片机,更确切地说应称为作微控制器,是20世纪70年代中期发展起来的一种面向控制的大规模集成电路模块,其特点是功能强、体积小、可靠性高、价格低廉。
它一面世便在工业控制、数据采集、智能仪表化、机电一体化、家用电器等领域得到了广泛应用,极大地提高了这些领域的技术水平和自动化程度。
因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。
本文将介绍一种以89C58RD+型单片机为基础元件设计的自动音乐播放器。
在当今这个科技高速发展的时代,时间对于每一个人都十分重要,时间就代表了金钱,代表了先机。
所以,准确的计时和及时的时间提示就显得相当重要,各个公司、机关、院校日常作息都需要计时和号音提示,我们的日常生活也离不开时间。
目前,此类音乐计时播放器在国内已经开始普及。
校园里的上下课的铃声,宿舍内早晨的起床号声音,都由以前枯燥刺耳的铃音转变成了好听的音乐,公路、广场中的计时装置也逐渐开始采用音乐来充当铃声。
此装置不仅为人们日常生活的计时提供了方便,同时也为目前快节奏的生活带来了乐趣。
本次设计以89C58RD+型单片机为基础,利用单片机编成技术对芯片进行功能设定,实现对时间的计时,并在四位共阴LED数码管上显示出来。
同时,利用单片机的定时器中断,在单片机内部产生所需要的音乐频率,并通过LM386N1型音频功率放大器将音频信号放大。
当定时时间到后,通过喇叭连续播放一段音乐。
此设计通过多次测试,计时准确,音乐声音宏亮清晰,节拍正常,达到预期效果。
本文将围绕基于单片机的自动音乐播放器,介绍一些关于单片机的基础知识、音乐播放器的制作原理及方法(其中包括了音乐编程原理)、定时器的设定、四位共阴LED数码管的显示、LM386N1型音频功率放大器外围电路的介绍,以及仿真软件(Keil、Protel99SE)的使用方法和相关PCB板的制作。
1设计任务
在基于单片机的自动音乐播放器中,采用89C58RD+型单片机为硬件基础,通过C语言对芯片进行编程。
单片机需外接+5V稳压电源,并通过MAX232电平转换芯片和串口接入PC机。
单片机工作时,用软件对定时器初值进行设定,从而得到所需要的声音频率;通过四位共阴LED数码管,可显示时间,并可进行定时设置;通过LM386N1芯片,将单片机输出的信号放大,接入喇叭即可发声。
具体要求如下:
(1)对时间进行定时,当定时时间到后,通过喇叭能连续播放一段音乐。
要求播放出的音乐的音阶准确,不能有太大偏差,否则会造成音乐声音刺耳难听;音乐播放必须连贯,即音乐必须有节奏感;喇叭放出的音乐声音响亮,不能太小,否则不能达到乐曲的提示作用。
(2)在四位共阴LED数码管上显示出时间(24小时制),包括小时、分钟,当定时1秒后,秒数加1;当定时满60秒后,秒数归零,分钟数加1;当定时满60分钟后,分钟数归零,小时数加1;当定时满24小时后,小时数归零。
2软件设计
本设计的软件部分包含了两个重要组成部分:
音乐编程和时间程序(注:
也可以用下框图来反映----具体自己画和填写!
!
!
---便全面反映2.1和2.2等要写的东西)
2.1音乐编程原理及其流程图
2.1.1声音的产生
声音是音频振动的结果,振动的频率高则为高音,频率低则为低音。
音频范围为20HZ-200KHZ之间,而人类耳朵比较容易辨识的声音大概是200HZ-20KHZ。
一般音响电路是以正弦波信号驱动喇叭,产生悦耳的音乐的;在数字电路里,则是以脉冲信号驱动喇叭以产生声音。
同样的频率,脉冲信号或正弦信号产生的音效,对于人类的耳朵来说很难有所区别。
若用单片机产生声音,可利用程序产生频率,送到输入/输出端口,例如P1.0,再从该点连接到喇叭的驱动电路,即可驱动喇叭。
2.1.2音频转换原理
若要产生音频脉冲,只要算出某一音频的周期,再将此周期除以2,即为半周期的时间。
利用定时器计时半周期时间,每当计时终止后就将P1.0反相,然后重复计时再反相。
就可在P1.0引脚上得到此频率的脉冲。
利用单片机的内部定时器使其工作计数器模式(MODEL1)下,改变其计数值TH0及TL0以产生不同频率的方法产生不同音阶。
例如,频率为523HZ,其周期T=1/523=1912us,因此只要令计时器计时956us/1us=956,每计数956次时将I/O反相,就可得到中音DO(523HZ)。
计数脉冲值与频率的关系式是:
N=F1/2/F2(式3-2-1)
式3-2-1中,N是计数值;F1是机器频率(晶体振荡器为12MHZ时,其频率为1MHZ);F2为想要产生的声音频率。
其计数初值T的求法如下:
T=65536–N=65536-F1/2/F2(式3-2-2)
本次设计采用16位定时方式,晶体振荡器频率为6MHZ,根据式3-2-1和式3-2-2可以计算出各音乐频率的计数器初值,再将十进制的计数器初值转换为四位16进制,将其制表写入程序中,通过查表装入要求的初值即可。
音阶与频率的对应关系如表3-1所示。
表2-1
音符
DO
RE
ME
FA
SO
LA
SI
低音简谱码
1
2
3
4
5
6
7
频率/Hz
523
587
659
698
784
880
987
高音简谱码
1
2
3
4
5
6
7
频率/Hz
1046
1174
1318
1396
1567
1760
1975
2.1.3节拍的产生
音阶的频率是固定的,而节拍有快有慢,拍子越短节奏越快,拍子越长节奏越慢。
控制发音的时间有两种方法:
调用延时子程序或采用定时器中断。
本次设计采用的是定时器终端方式。
首先在整首乐曲中找出最短的拍子,一般为1/4拍,拍子的时间约为0.125s。
然后以1/4拍为基准,然后设定每0.125s产生一次中断,其定时器值为125000,定时常数为08F3H。
若采用模式2,定时器值太小,不是很好用。
所以采用模式1,将定时器值设为62500,即0CDCH,则只需要执行2次定时器中断就可以产生1/4拍的时间长度。
同样,若要产生其它的拍子(如1/2拍,3/4拍……),只需要定时器中断N次,产生N*0.125s定时,使其满足各个节拍的时间长度即可。
设计的程序按如下方法编写:
(1)将音符代码装入8位字节高4位,节拍代码装入低4位,组成一个字节,以此类推。
将整段乐曲转换成一定长度的编码表。
具体编程方法如下:
1.首先,定义toneh[]和tonel[]两个数组,将各个音乐频率的定时器初值的16进制数的高8位装入toneh[],低8位装入tonel[]。
2.利用单片机的定时器中断,将toneh[]和tonel[]的数据分别装入TH0和TL0,并且,收到信号P1.0就反相。
voidtimer0(void)interrupt1using1
{
P1_0=!
P1_0;
TH0=toneh[rti];
TL0=tonel[rti];
}
3.利用定时器1控制音乐节拍的时间长度,将上文所述的定时器初值装入定时器1。
voidtimer1(void)interrupt3using2
{
TH1=0x0c;
TL1=0xdc;
m++;
}
(2)在程序执行时顺序查此表,取出音符代码,查频率表,置入T/C口,取出节拍代码,供定时器使用,启动后即可发出声音。
2.1.4音频转换流程图
设计的软件流程如图2-2所示。
程序开始运行时先对单片机进行初始化,其中包括定时器及其工作方式的选择、外部中断设定、定时器初值的设定。
利用单片机,通过软件的方式产生所需要的音乐频率,并将收到的信号与音频编码表进行对比。
若信号在编码表中,则将该频率的定时器初值写入定时器中,并读取频率的音阶,再从单片机的P1.0口输出,经过音频放大器驱动喇叭发出声音,利用驱动喇叭演示程序即可控制音乐的节拍。
若信号不在编码表中,则返到初始化。
2.2时间显示程序设计
2.2.1设计思路
对于时间程序的设计,主要依靠单片机内部定时器的计数功能实现。
时钟由秒针、分针和时针组成,在程序中分别由sdata,mdata,hdata表示各单位的数据。
首先对sdata,mdata,hdata分别设定一个初值,其中sdata设为0,表示秒针初始为0。
然后利用定时器对秒针计数,当计数值达到1秒的时间后产生定时器中断,sdata的数据就加1。
由于本次设计采用的晶振频率为6MHz,所以定时器取值为2500。
将hdata的数据装入第一和第二个数码管,将mdata的数据装入第三和第四个数码管。
当sdata的数据为59时,若此时再来一个定时器中断,则秒针重新归零,而分针就加1。
同样,分针和时针的进位也是同一道理。
当设定的闹钟时间一到,程序即转入音频程序,驱动喇叭放出音乐。
2.2.2时钟程序流程图
时钟程序流程图如图2-3所示。
(应有简单的文字叙述或解释)
3硬件电路的设计
3.1硬件流程模块
设计的硬件流程模块如图3-1所示。
首先,PC机通过串口及MAX232芯片将程序下载到单片机中,其中包括把一个个的单音写入单片机的ROM存储器中,程序运行时再将音乐数据按顺序读出,利用单片机的定时器中断控制音乐节拍的长度,这样就能形成一段乐曲。
在单片机P1.0口接入音频放大电路,将单片机输出的信号放大,再通过喇叭播放音乐。
单片机P2口接4位共阴LED数码管,并外接1K欧的排阻,利用单片机内部的定
时器中断控制时间程序,然后在数码管上显示出时间。
3.2模块电路的设计
3.2.189C58RD+型单片机介绍
89C58RD+是一种带32KB闪烁可编程/可擦除制度存储器(EPEROM-FlashProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS的8位微处理器。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51的指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,因而ATMEL的89C58RD+是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
并且,比起跟它同种类型的89C51,它具有更大的Flash存储器,可下载很大容量的程序代码,因此功能更加强大,应用范围更广泛。
89C58RD+有40个引脚,32个外部双向输入/输出(I/O)端口,9个中断源,内含2个外中断口,3个16位可编程定时计数器,可编程UART串行通信口,SPI串行口,89C58RD+可以按照常规方法进行编程,也可以在线编程。
其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。
89C58RD+有PDIP、TQFP及PLCC等三种封装形式,以适应不同应用系统的需求。
89C58RD+管脚如图3-2所示,其中
(1)时钟引脚
XTAL1:
接外部晶体的一个引脚。
在单片机内部,它是构成片内振荡器的反相放大器的输入端。
当采用外部振荡器时,该引脚接收振荡器的信号,即把此信号直接接到内部时钟发声器的输入端。
XTAL2:
接外部晶体的另一个引脚。
在单片机内部,它是构成内部振荡器的反相放大器的输出端。
当采用外部振荡器时,此引脚应悬浮不连接。
注意:
如果采用片内的振荡电路,要在单片机的引脚XTAL1和XTAL2之间连接一个石英晶体或陶瓷谐振器,并接两个电容到地。
(2)控制线或其他电源的复位引脚
RST:
复位输入端。
ALE/
:
当访问外部寄存器时,地址锁存允许的输出电平用于锁存地址的低位字节。
在Flash编程期间,此管脚用于输入编程脉冲。
在平时,ALE以不变的频率周期输出正脉冲信号,次频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如果禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行外部执行状态ALE禁止,置位无效。
:
外部程序存储器的选通信号。
在有外部程序存储器取指令期间,每个机器周期两
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 自动 音乐 播放 设计 学士学位 论文