EDA实验简易音乐发生器综合设计.docVIP

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
EDA实验简易音乐发生器综合设计.doc

乐山师范学院物电学院 EDA综合设计实验报告 实验名称:简易音乐发生器设计 第一部分:设计课题及总体要求简介 设计目标:简易音乐发生器设计 设计任务:1、学习存储器的定制与应用。 2、学习数控分频器涉及硬件乐曲演奏电路。 第二部分:设计方案与工作原理说明 组成乐曲的每个音符的发音频率值及其持续的时间是乐曲能连续演奏所需的2个基本要素。乐曲的12平均率规定:每2个八度音(如简谱中的中音1与高音1)之间的频率相差1倍。在2个八度音之间,又可分为12个半音,每2个半音的频率比为。另外,音符A(简谱中的低音6)的频率为440Hz,音符B到C之间、E到F之间为半音,其余为全音。由此可以计算出简谱中从低音1至高音1之间每个音符的频率 第三部分:单元模块功能介绍及程序(部分) 各模块(元件)说明: notetab部分: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity notetab is port(clk:in std_logic; toneindex:out std_logic_vector(3 downto 0)); end; architecture one of notetab is component music01 port(address:in std_logic_vector (7 downto 0); inclock: in std_logic; q:out std_logic_vector(3 DOWNTO 0)); END component; signal counter:std_logic_vector(7 downto 0 ); begin cnt8:process(clk,counter) begin if counter=138 then counter elsif (clkevent and clk =1)then counter=counter+1; end if;end process; u1: music01 port map(address=counter,q=toneindex,inclock=clk); end; tonetaba部分: library ieee; use ieee.std_logic_1164.all; entity tonetaba is port(index:in std_logic_vector(3 downto 0); code: out std_logic_vector(3 downto 0); high: out std_logic; tone: out std_logic_vector(10 downto 0)); end; architecture one of tonetaba is begin search: process(index) begin case index is when0000=tone=11111111111;code=0000;high=0; when0001=tone=01100000101;code=0001;high=0; when0010=tone=01110010000;code=0010;high=0; when0011=tone=10000001100;code=0011;high=0; when0101=tone=10010101101;code=0101;high=0; when0110=tone=10100001010;code=0110;high=0; when0111=tone=10101011100;code=0111;high=0; when1000=tone=10110000010;code=0001;high=0; when1001=tone=10111001000;code=0010;high=1; when1010=tone=11000000110;code=0011;high=1; when1100=tone=11001010110;code=0101;high=1; when1101=tone=11010000100;code=0110;high=1; when1111=tone=11011000000;code=0001;high=1; when others=null; end case; end process; end; speakera部分: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.a

文档评论(0)

phljianjian + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档