- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验六音乐播放器设计
南昌大学实验报告学生姓名: 学 号: 专业班级: 实验类型: □验证 □综合 ■设计 □创新 实验日期: 2010 实验六 乐曲播放器设计实验目的1) 使用层次化设计方法,实现乐曲播放器的设计。乐曲选取《梁祝》中化蝶部分。2) 学会建立.mif格式文件以及如何定制LPM_ROM元件;3) 学会读音乐简谱。 4) 熟悉实验设备和软件,掌握实验操作。 实验内容和要求使用数控分频器设计硬件乐曲演奏电路,乐曲选取《梁祝》中化蝶部分。三、设计思想主系统由3个模块组成,顶层文件名为SONG.vhd,其内部有三个功能模块:NOTETABS.vhd(类似于人的手指)、TONETABA.vhd(类似于琴键)SPEAKERA.vhd(类似于琴弦或音调发生器)。 图1、RTL Viewer得到的演奏电路结构图工作原理:(1)音符的频率可以由上图中的SPEAKERA获得,这是一个数控分频器。由期CLK端输入一具有较高频率(6MHZ)的信号,通过SPEAKERA分频后由SPKOUT输出,由于直接从数控分频器中出来的输出信号是脉宽极窄的脉冲式信号,为了有利于驱动扬声器,需另加一个D触发器以均衡其占空比,但这时的频率将是原来的1/2.SPEAKER对CLK输入信号的分频比由11位预置数TONE决定。SPKOUT的输出频率将决定每一音符的音调,这样,分频计数器的预置值TONE与SPKOUT的输出频率就有了对应关系。例如在TONETABA模块中若取TONE=1036,将发出音符为“3”音的信号频率。实际上,只要各个音符间的相对频率关系不变,演奏出的乐曲听起来都不会"走调"。在TONETABA模块我用了如下代码以保持各个音符间的相对频率关系不变:CASE INDEX ISWHEN "0000" => TONE<="11111111111";CODE<="0000";HIGH<='0';--2047WHEN "0001" => TONE<="01100000101";CODE<="0001";HIGH<='0';--773WHEN "0010" => TONE<="01110010000";CODE<="0010";HIGH<='0';--912WHEN "0011" => TONE<="10000001100";CODE<="0011";HIGH<='0';--1036WHEN "0101" => TONE<="10010101101";CODE<="0101";HIGH<='0';--1197WHEN "0110" => TONE<="10101011100";CODE<="0110";HIGH<='0';--1290WHEN "0111" => TONE<="10101011100";CODE<="0111";HIGH<='0';--1372WHEN "1000" => TONE<="10110000010";CODE<="0001";HIGH<='1';--1410WHEN "1001" => TONE<="10111001000";CODE<="0010";HIGH<='1';--1480WHEN "1010" => TONE<="11000000110";CODE<="0011";HIGH<='1';--1542WHEN "1100" => TONE<="11001010110";CODE<="0101";HIGH<='1';--1622WHEN "1101" => TONE<="11010000100";CODE<="0110";HIGH<='1';--1668WHEN "1111" => TONE<="11011000000";CODE<="0001";HIGH<='1';--1728WHEN OTHERS =>NULL; --INDEX为0001时,CODE=1,HIGH-0表示低音1,TONE=773分频比为COUNT11-TONE=2047-773=1274-- INDEX为1000时,CODE=1,HIGH-1表示中音1,TONE=1410分频比为COUNT11-TONE=2047-1410=637-- INDEX为1111时,CODE=1,HIGH-1表示高音1,TONE=1728分频比为COUNT11-TONE=2047-1728=3191247=2*637=2*2*319表示每两个八度音之间的频率相差一倍(2)音符的持续时间需根据乐曲的速度 及每个音符的节拍数来确定 ,模块TONETABA RA的功能首先是SPEAKERA提供决定所发音符的分频预置数,而此数在SPEAKERA输入口停留的时间即为此音符的节拍值。模块TONETABA是乐曲简谱码对应的
1亿VIP精品文档
相关文档
最近下载
- 2022广州美术附属(广美附中)入学招生测试卷语文数学英语三科.pdf VIP
- 2017-2022年中国美术学院附属中等美术学校(国美附中)招生考试语文真题(缺18.19年).docx VIP
- 全新版大学进阶英语四级学业测试B4E.pdf
- 新版工程监理三体系管理手册含程序文件模板.doc
- 物流管理1+x职业能力测评试题及答案.doc
- 《中国共产党简史》第三章 全民族抗日战争中的中流砥柱.pptx VIP
- 图集规范-天津图集-12J8图集(2012版)楼梯.pdf
- 广东省2023年普通专升本(专插本)考试《英语基础与写作》真题及答案.pdf
- 中国医科大学2023年12月《传统康复医学》作业考核试题-答案.doc
- VIPKID品牌策略及传播方案.pdf VIP
文档评论(0)