欢迎来到天天文库
浏览记录
ID:41571541
大小:1.00 MB
页数:30页
时间:2019-08-28
《简易音乐播放器数电实验》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、数字电路与逻辑设计综合设计实验报告实验名称:简易音乐播放器姓名:班级:班班内序号:27一、设计任务要求设计制作一个简易乐曲播放器。1)播放器内预存3首乐曲;2)播放模式:顺序播放、随机播放,并用数码管或LED显示当前播放模式;3)顺序播放:按内部给定的顺序依次播放3首乐曲;4)随机播放:随机产生一个顺序播放3首乐曲;5)用数码管显示当前播放乐曲的顺序号;6)设置开始/暂停键,乐曲播放过程中按该键则暂停播放,再按则继续播放;7)设置Next和Previous键,按Next键可以听下一首,按Previous键回到本首开始;8)选做:用户可以自
2、行设定播放顺序,设置完成后,播放器按该顺序依次播方攵曲■9)选做:自拟其它功能。二、系统设计1)设计思路首先咅乐有咅高和节拍两个因素。咅高可以通过对时钟信号不同的分频得到不同频率的信号进而发出不同的音,节拍可以定义一个音符计数器,计数器的每一个值对应一个音高。对播放的控制包括播放/暂停、复位、上一首、下一首、本首重放、顺序播放/随机播放,用一个状态机,共播放和暂停两个状态,另外歌曲的切换以及暂停都是利用音符计数器赋不同的值或保持不变来实现。音高的显示是通过不同的咅符对应不同的点阵row和col的值来实现的。歌曲号是通过音符计数器的值來得出
3、并送到数码管显示的。播放、暂停、顺序、随机这些的显示是通过对状态和模式变量的判别进而送到LED显示的。2)总体框图3)分块设计共分为9个模块。Divl,div2,div3都是用来分频的,分别是将50mhz变为lmhz,将lmhz变为4hz,将lmhz变为2hzoRand模块用来产生随机数,用于随机播放模式。Kcycontrol是核心模块,用来实现顺序播放、随机播放、播放/暂停、上一首、下一首、本首重放、复位、显示顺序或随机播放状态、显示播放/暂停态。Melody模块是将音符计数器的每一个值与一个音高相对应,即记录曲谱。Index模块是用m
4、elody模块传来的音高信号通过查表得到它所对应的音高的分频数,然后将这个分频数送给speaker模块,以发岀不同的咅,另外对应不同的音它还对点阵进行不同的输出,进而显示出音高。Speaker模块接收index模块送来的分频数,利用分频数对时钟信号进行分频,进而发出不同的音,另外它还接收keycontrol模块送来的暂停态的标志,以保证在暂停态的时候不发出声音。Shownumber模块通过对音符计数器值的判断确定现在播放的是哪首歌,进而输岀不同的歌曲号。三、仿真波形及波形分析1)divl模块由仿真结果可看岀,它将50mhz的时钟信号变换为
5、lmhzoDiv2和div3模块分别是将lmhz变为4hz,将lmhz变为2hz,原理相同,因而不再列出仿真结果。I卩I即00
6、>1曲ntjjPiiteu320h:180OuMOOu8000u側0”1.12«IMml.Sul.?6us1.(2m2.0$u2.2(uUuIIII_i_T一门二丄一I一丄—J_II_)!83w■■■■■■■■■■■■■■■■■■■■■■■■I1)Rand模块由仿真结果可以看出在每一个时钟周期内,randnumber改变一次,randnumber可作为随机数的产生信号。>顺序播放:可以看岀,在mode二0,即顺序
7、播放模式下,在没有按任何键吋,咅符计数器counter随时钟自动加1从而进入下一个音。Sequential表示顺序播放,random表示随机播放,由图可见此时sequential为高电平,random为低电平,可知此时为顺序播放状态。24.5nsjjftiirter125.32nsIni泅100.82nsStart:End>counter由144自动变到145是第一首播完自动到第二首bMasterTimeBai:A24.5ns1
8、»
9、Pointer:1103usInlaval:13.01usStartEnd:l2i9usI?"12.94n
10、s12.S6us12卧13"13平ns13."叫us13.08us13.1us13.12詁□Oz叭1>13•15016而1^18^19M23M24Q25clk2hzclk4hiconr.terlastoneiodenextonePPppoutPPSJTibolpreviousQrsnOTiiiberranccnresetsequential142:44]LX146):150V~151147I143>下一首:当按一下一首键时,即nextone变为高电平,音符计数器counter由第一首歌的14变到了第二首歌开始音符所对应的数145,实现了切
11、换到下一首的功能。»MdileiTimeBarA24.5ns2阪14nsInterval23OMrBStartTA本首重放:当播放到第二首歌的152时,按下了本首重放键,即previous变为
此文档下载收益归作者所有