有附录-基于单片机控制的MP3音乐播放器的设计毕业论文(冉玉梅)_第1页
有附录-基于单片机控制的MP3音乐播放器的设计毕业论文(冉玉梅)_第2页
有附录-基于单片机控制的MP3音乐播放器的设计毕业论文(冉玉梅)_第3页
有附录-基于单片机控制的MP3音乐播放器的设计毕业论文(冉玉梅)_第4页
有附录-基于单片机控制的MP3音乐播放器的设计毕业论文(冉玉梅)_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目录引..........................................................................................................................................硬件设..................................................................................................................................22.1硬件电路的设计框....................................................................................................2.2硬件电路设计模块的选............................................................................................2中心模.....................................................................................................................播放模.....................................................................................................................显示模.....................................................................................................................电子琴模.................................................................................................................2.3各硬件电路的具体设................................................................................................5AT89S52控制模块的设.........................................................................................5按键模块的设.........................................................................................................6扬声器播放模块的设.............................................................................................7LCD示电路的设................................................................................................7彩灯伴奏电路的设.................................................................................................3件设..................................................................................................................................93.1单片机发声的基本原................................................................................................93.2设计的相关音乐说明................................................................................................3.3切换原......................................................................................................................103.4音乐播放器软件程序设..........................................................................................按键扫描子程序设...............................................................................................延时程序设计...................................................................................................14LCD示子程序设..............................................................................................15函数初始化子程序设...........................................................................................系统主程序设.......................................................................................................174........................................................................................................................................19参考文...................................................................................................................................20i附录一硬件原理.................................................................................错!未定书签。附录二软件主程.................................................................................错!未定书签。致...........................................................................................................!未定义书签。ii要目前流行的放器的音质已相当好略感遗憾的是除了选择歌曲和显示歌名外,绝大部分播放器没有诸如随意弹奏乐曲、乐曲节奏跳动等功能。而随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一。要为现代人工作、生活提供更好的更方便的服务就需要从单片机技术着手,一切向着数字化控制、智能化控制方向发展。本设计是采用单片机为核心设计的数字音乐播放器。本设计在实现音乐的播放及歌曲名显示等基本功能的基础上进行了扩展,添加了彩灯伴奏、按键弹奏、显示音乐节拍等功能。本论文给出了系统方案的建立、硬件电路的详细设计及软件的程序实现。并通过软硬件的联立调试,验证了设计方案的可行性。关键词:功能;MP3音乐播放器;单片机;按键弹奏iiiAbstractThecurrentMP3soundbeenbutfeelregretfulslightlyisinadditionthechoiceofsongsdisplaythesongname,mostplayerswithoutplayButlivingstandardofthatpursue.lifeofwork,toprovidebettermoreservicefromtowardtechnology,alldigitalintelligentdirection.ofmicrocomputerascoreofdigitalplayer.Theintheimplementationmusicplayingandthedisplayandbasedexpansion,accompaniment,playdisplayofmusicandfunctions.papersystemscheme,hardwaresoftwareAndtheofdebugging,verifytheofthedesignKeyfunction;player;chipplaybuttoniv引言二十世纪九十年代以来,计算机、信息、电子、控制、通信等技术得到迅速发展,促使了社会生产力的提高,也使人们的生产方式和生活方式产生了日新月异的变化。随着人们生活水平的提高及对音乐的喜爱,对音乐播放器的品质,功能,品种等提出了越来越多的要求,表现在对控制系统性能、可靠性等要求越来越高。而品质的提高,功能的更新,可靠性的增强,品种的变化无不与产品的核心控制部分水平的提高密不可分。家用音乐播放器产品及其它有关消费电器产品都是一些开环或闭环控制系统,都由核心控制部分,执行部分与人机界面三部分组成。而最为重要的控制部分一般是由单片机来执行完成的,这就必将导致和促进单片机在音乐领域应用的发展。现在这些由单片机实现的音乐播放器的功能越来越强、费用越来越低。例如,就目前市场上MP3的功能越来越强大体积却越来越小,价格也逐渐便宜,被大多数人所能接受。但这些音乐播放器也或多或少的存在着一些问题,解决这些问题,非智能化的单片机莫属。本设计由硬件电路设计和软件程序设计两大部分组成整个硬件电路是由中心控制、播放、选曲、显示、电子琴和彩灯等模块组成,中心控制模块采用AT89S52单片机,播放模块是由8550NPN三极和电磁蜂鸣器组成,采用LCD1602显示模块,电子琴设有8按键,其7作为音符输入,另1作为模式转换按键实现用户自弹作曲。软件程序运用C语言编程现。12.1硬件电路的设计框图硬件电路如图所示由控制模块、按键模块、显示模块、扬声器播放模块、彩灯伴奏模块组成。彩灯伴奏模块AT89S52控

显示模块按键模块

制模块扬声器播放模块图1件体图按键模块共由8个按键组成,中1个键用于实现播放器自动播放和自行弹奏两模式间的转换个键作为音符的输入或音乐的播放选择显示模块利用对当前播放的歌曲名称进行显示彩灯伴奏模块则是LED通过控制模块的控制伴随音乐节奏闪亮。扬声器播放模块由三极管及无源蜂鸣器组成,通过控制模块的控制对当前音乐进行播放。2.2硬件电路设计模块的选定中心模块目前应用较为流行的单片机有和51片机。51列的单片机优点之一在于从内部硬件到软件有着一套完整的按位操作系统,即位处理器,也称布尔处理器,它的处理对象不是字或字节,而是位,这就意味着它不仅能对片内某些特殊功能寄存器的某位进行处理,例如传送、置位、清零、测试等,还2能进行位的逻辑运算,这一点使其他种类单片机很难实现的。51系的单片机的另一个优点便是具备了乘法和除法指令,其中八位除以八位的除法指令商为八位,精度显得有些不足,因此在应用方面不是很多,但八位乘以八位的乘法指令积为十六位,这样的精度已经足以满足大部分应用的要求了,更为重要的是,直接具备了乘法与除法指令,这就使得在实际应用时,使用者不必额外编写相应的子程序以备调用,与其他系列单片机相比,系列的单片机在编程操作方面的简便与实用性无疑上了一个新台阶。而同属指令系统规范完整这一范畴所带来的便利还包括了二进制—十进制调整指令DA,可将二进制变为BCD,这使得十进制的计量更为快捷简便,省去了其他系列单片机还需要编写调用相应子程序的冗余过程,节省了大量的劳动力和时间。AVR片机作为一个新兴起的系列,也具有了大多数新兴事物的特点,即在原有系列的基础上,拥有高性能、高速度、甚至是更低的功耗,但这些优化与更新的性能背后,也存在着一些问题,例如其价格相比之下显得较为昂贵,此外,它的3通用寄存器中前16个寄存器都不能直接与立即数打交道,而不像51系列的单片机中所有的通用寄存器均可直接与立即数打交道,因AVR列的单片机在通用性方面无疑有所下降。由此可见,较高的价格、较低的适用性,这两点便是VR单片机进行市场推广所存在的最大制约。所以,从本系统设计的功能需求及成本考虑,51单片机性价比高,是拥有个外部中断,2个16定时器,2个可编程串行UART的单片机。中心控制模块采用单片机已完全满足设计需要,实现整个系统控制。播放模块播放模块是由8050NPN三极管和电磁蜂鸣器组成。输出高电平控制信号,启动8050NPN极管使信号放大,从而启动电磁蜂鸣器。与LM386喇叭的组合相比较,该播放模块存在一定噪声,音响效果较差。但由于所需驱动功率较小,驱动器件要求不高并能降低设计成本因此必须选用NPN三极管和电磁蜂鸣器则能满足系统要求[。3[[2]显示模块LED数码管是一种数显器件。我们知道,发光二极管(英文缩写LED)是由半导体材料制成的、能将电信号转换成光信号的结型电致发光器件。如果把发光二极管制成条状,再按照一定方式连接,组成数字“8”,就构成数码管,简称。使用时按规定使某些笔段上的发光二极管发光,即可组成9一系列数字。液晶显示器,简称LCD(LiquidDisplay),是一种液晶利用光调制的受光型显示器件。的特点是体积小、形状薄、重轻、耗能少(1~10瓦/方厘米)、低发热、工作电压低(~6伏)、无污染,无辐射、无静电感应,尤其是视域宽、显示信息量大、无闪烁,并能直接与CMOS集成电路相匹配,同时还是真正的平板”式显示设备。常见的基于单片机设计的音乐播放器基本不能显示歌曲信息。该音乐播放系统设计上增加液晶显示器,可为使用者提供曲目信息。由LED数码管只能显示数字而无法显示其他中英文字符,从设计的成本及功能的角度考虑,采LCD1602显示模块,它可以显示每首曲目的英文名字LCD1602驱动电路简单可以由单片机直接输出命令驱动。电子琴模块电子琴设有8个按键,其中7个作为音符输入,另外1个作为模式转换按键,实现用户自弹作曲。7按键分别代表7个音符,包括中音段的全部音符。通过软件设计,模式转换按键触发外部中断,中断使程序跳转,实现模式转换,启动电子琴。然后通过查询电子琴所按下的按键,读取电子琴输入状态,跳转到对应的程序人口,实现自编歌曲。当需要取消电子琴编曲功能时,再次按下模式转换按键引起外部中断.即可退出电子琴功能而返回到原来音乐播放处。42.3各硬件电路的具体设计AT89S52控制模块的设计控制模块如图所示,由核心芯片单片机、单片机复位电路及外接晶振组成。如图2示,电容C5和12M晶振与片机引脚XTAL1和相连构成外接晶振电路。单片机内部有一个用于构成振荡器的高增益反相放大器,引脚XTAL2分别是此放大器的输入和输出端。在XTAL1XTAL2两端跨接晶体就构成了稳定的自激振荡器,其发出的脉冲直接送入内部的时钟电路,为单片机的工作提供时序而XTAL1端和XTAL2端将电容C5内部的反相放大器连接起来组成并联谐振电路,C5、取31pF,对频率有微调作用。单片机有一个复位引脚,复位条件是:在时钟电路工作后,当外部电路在RST引脚施加持续个机器周期以上的高电平时,使系统复位。一般只要保持正脉冲的宽度为10秒,就可是单片机安全复位。本系统采用按键手动复位,在上电瞬间RST引脚电位与VCC相同随着电容上充电电压的增加引脚电位逐渐下降。在单片机运行期间,按下按键电容瞬间放电RST脚电位与VCC相同,系统复位;随着按键的断开,电容又开始充电,引脚电位电位逐渐降,系统开始正常工作。

图2最系统5按键模块的设计键盘在系统中作用在于手动切换播放器模式、音乐弹奏时音符的输入以及曲目的选择。因在本系统中需要的按键并不多,单片机的数完全可以满足,所以采用了独立式键盘设计,如图所示。如图示,按键均低电平有效。此外,上拉电阻保证了按键断开时,I/O口有确定的高电平。在设计键盘的时候,还要考虑去抖问题。常见的去抖的方法有两种:硬件方法和软件方法。单片机中常用软件法,因此在硬件方面将不做处理。如图3示,键盘输入电路中共用到八个按键,用于播放器模式的切换,在软件中计算按下的次数,一次为播放模式,二次为自行弹奏模式键在播放器为自动播放模式时为曲目选择键,即七个按键依次对应一首歌曲,按下其中一个键就播放对应的歌曲。而在播放器为自行弹奏模式时,七个键就对应着七个音符,即按下某一按键,播放器就发出对应音符的节奏[。VCCR2R410k10k10kS1S2S3S4S5S6S7S81011

VCCP1.1/T2EXP1.2P0.1/AD1P1.3P0.2/AD2P1.4P0.3/AD3P1.5P0.4/AD4P1.6P0.5/AD5P1.7P0.6/AD6RSTP2.6/A14P2.5/A13P2.4/A12XTAL2XTAL1GND

4039383736353433323130292827262524232221图3按键输电6扬声器播放模块的设计扬声器播放模块是由NPN三极管和无源蜂鸣器成如图4所示源蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。无源蜂鸣器发声原理是电流通过电磁线圈,使电磁线圈产生磁场来驱动振动膜发声的,因此需要一定的电流才能驱动它,单片机引脚输出的电流较小,单片机输出的TTL电平基本上驱动不了蜂鸣器,因此设计过程中增加一个由NPN三极管组成的电流放电路如图所示鸣器的负极直接接地,蜂鸣器的正极接到三极管的发射极上,三极管的基级经过限流电阻R9后由单片机的脚控制,当出高电平时,三极截止,没有电流流过线圈,蜂鸣器不发声;当输出低电平时,三极管导通,这样蜂鸣器的电流形成回路,发出声音。因此,我们可以通过程序控制的电平来使蜂鸣器发出声音和关闭。LCD示电路的设计LCD显示电路由单片机及P3.0-P3.2端口控制。我们选用的是工业字符型液晶显示屏LCD1602,能同时显示16*2即32个字符(列行硬件连接如图5所示。其中变位器是为调节对比度而设计LCD显示驱动在软件中完成件中不做处理。lcd314700PPPPP

图5LCD显电7彩灯伴奏电路的设计根据设计要求,本设计中设计了彩灯伴奏电路,彩灯采用普通发光二级管。播放器工作时,发光二级管根据音乐节拍闪亮。当播放器发duo时,亮;当播放器发出ruai音时,D2亮;当播放器发出音时,D3;当播放器发出音时,亮;当播放器发出音时,、D4亮;当播放器发出la音时,D2、亮;当播放器发出xi音时,D3亮。在程序执行过程中,单片机对发出的音符进行检测,再输出对应的彩灯信号。硬件电路较简单,如图6所示。

D1

R10LED

330

D2

R11LED

330

D3

R12LED

330

D4

R13LED

330图彩灯奏路83.1单片机发声的基本原理我们知道,声音的频谱范围约在几十到几千赫兹,若能利用程序来控制单处机某个口线的高电平或低电平,则在该口线上就能产生一定频率形波,接上喇叭就能发出一定频率的声音,若再利用延时程序控制高、低电平的持续时间,就能改变输出频率,从而改变音调。音符的节拍我们可以用定时T0来控制,送入不同的初值,就可以产生不同的定时时间。便如某歌曲的节奏为每分钟拍,即一拍为0.64秒。但是,由的最大定时时间只能为131秒因此不可能直接用改变T0的时间初值来实现不同节拍我们可以用来产生毫秒的时间基准,然后设置一个中断计数器,通过判别中断计数器的值来控制节拍时间的长短。例如对拍音符,定时时间为秒,相应的时间常数为(即10H);拍音符,定时时间1.92,相应时间长数为192(即C0H)。我们将每一音符的时间常数和其相应的节拍常数作为一组,按顺序将乐曲中的所有常数排列成一个表,然后由查表程序依次取出,产生音符并控制节奏,就可以实现演奏效果。此外,结束符和休止符可以分别用代和FFH来示,若查表结果为,则表示曲子终了;若查表结果为,则产生相应的停顿效果。为了产生手弹的节奏感,在某些音符(例如两个相同音符)音插入一个时间单位的频率略有不同的音符3.2设计的相关音乐说明

[。要产生音频脉冲,只要算出某一音频的周期1/频率),然后将此周期除2,即为半周期时间。利用半周期时间定时这个半周期时间,每当计时到后就将输出的I/O反向,然后重复计时此半周期再对向,就可以在I/O上得到此频率的脉冲。记数脉冲值与频率的关系公式如N:记数值Fi:内部计时依次1us,故其频率为1;要产生的频率。其记数值的求法如:T=65536-N=65536-Fi/2/Fr。例:K=65536F=1000000=Fi=1MHZ。求低音DO(26HZ),中音DO(523HZ),高音的记数值。每个音符使用1音节,字节的高四位代表音符的高低,低四位代表音符的节拍。9如果1为0.4秒,为0.1秒,假设为DELAY,则1拍为DELAY。3.3切换原理播放器具有手动弹奏和自行播放两种模式,对于这两种模式的切换,本设计是通过软件判断模式转换按键按下的次数来实现的。当模式转换按键按下一次时,播放器为自动播放模式;当按键连续按下两次时,播放器为手动弹奏模式。在软件中的流程图大致如图7示。

开始按键扫描计算模式转换键按下次数判断按键次数

次自动播放模式次数清零

手动弹奏模式次数清零图7切换原流图3.4音乐播放器软件程序设计按键扫描子程序设计本设计中采用的独立式键盘,按键的闭合与否直接反应在口线的电平上,即口线的电平是呈现的高电平还是低电平。因此可以通过口线的电平高、低状态检测,来确认按键是否按下。但如果在触点抖动期间检测按键的通与断状态,可能导致判断出错,即按10[6][6]键一次按下或释放被错误的认为是多次操作,为克服按键点机械抖动所致的检测错误,确保CPU对一次按键动作只确认一按键,必须采取去抖动的措施。软件中去抖动的措施即在第一次检测到有键按下时执行一段延时10ms的子程序然后再次检测该键的电平状态,如果该键电平仍保持闭合状态电平,则确认为真正有键按下[5]。一般把按键扫描程序设计成子程序,以便其他程序调用。程序流程图如图8所示:开始有否键按下yes延时去抖有否键按下yes计算并保存键按键是否释yes恢复键值返回图按键描程流图

程序如下:key_scan(){if(key1==0)//---------------key1为模式转换键)--------------------{延时,用于消抖动11if(key1==0)//延时后再次确认按键按下{while(!key1);set++;式转换按键选择模式}

}if(key2==0)//---------------key2为曲目2或音符duo--------------------{延时,用于消抖动if(key2==0)//延时后再次确认按键按下{duo=1;while(!key2);}}if(key3==0)//---------------key3为曲目3或ruai)--------------------{延时,用于消抖动if(key3==0)//延时后再次确认按键按下{ru=1;while(!key3);}}if(key4==0)//---------------key4为曲目4或mi)--------------------{延时,用于消抖动if(key4==0)//延时后再次确认按键按下12{mi=1;while(!key4);}}if(key5==0)//---------------key5为曲目5或){延时,用于消抖动if(key5==0)//延时后再次确认按键按下{fa=1;while(!key5);}}if(key6==0)//---------------key6为曲目6或){延时,用于消抖动if(key6==0)//延时后再次确认按键按下{while(!key6);}}if(key7==0)//---------------key7为曲目7或)--------------------{延时,用于消抖动if(key7==0)//延时后再次确认按键按下{la=1;13[[7]while(!key7);}}if(key8==0)//---------------key8为曲目8或xi)--------------------{延时,用于消抖动if(key8==0)//延时后再次确认按键按下{xi=1;while(!key8);}}}延时程序设计延时程序一般是通过一层或多层循环实现,整个过程延时的时间是程序执行的指令总条数乘以执行每条指令所用的时间。由于该系统的晶振选用的是所以执行每条指令所所用时间为2us,程序执行流程如图9所示。程序如下://延时函数,有参函数{uintx,for(y=110;y>0;y--);}14[8][8]

开始是否yesx--是否yesy--结束图延时序程LCD显子程序设计本设计中利用LCD1602显示当前播放曲目名称以及弹奏时的音符LCD开始工作是靠软件来实现的。整个显示过程中的程序工作流程图如图10所示:程序如下:lcd_display(){WriteCMD(0x80);{WriteData(name[y]);}mydelay(2);WriteCMD(0x80+0x40);for(z=0;z<12;z++){WriteData(num[z]);mydelay(5);}15{WriteCMD(0x18);mydelay(5);}}开始液晶初始化写指令选择第一行数据地址指针LCD专延时时间FOR循将显示数据逐位写入显示在第一行写指令选择第二行数据地址指针LCD专延时时间FOR循将显示据逐位写入显示在第二行返回图10显示程流图函数初始化子程序设计函数初始化程序即把在主函数内对某些参数和标记位赋初值编写成一个函数,这样使程序更具有条理化清晰易懂由于整个程序要用到定时器和定时器1所以初始化程序主要是对定时器相关内容作说明,程序的简单框图如图11所示。16

TH0,TL0赋

TH1,TL1赋图11初始化序图

程序如下:InitialSound(void){=

//计算TL1应装入的初值的初值}

(10ms的初装值=(65536-(1/1200)*SYSTEM_OSC)%256;//计算TH1应装入TH1=Sound_Temp_TH1;TL1=TMOD=0x11;ET0=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论