




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
宁波理工学院 EDA课程设计报告题 目 音乐播放设计 姓 名 吴佳伟 学 号 3090401029 专业班级 09通信工程3班 分 院 信息工程与工程分院 91. 实验目的:学习利用数控分频器设计硬件电子琴实验。2. 实验仪器:PC机,操作系统为Windows2000/xp,Mux+Plus II 设计平台,GW48系列SOPE/EDA实验开发系统。3. 实验原理:本设计乐曲选取蝶恋,其简谱如图1所示。 图1 蝶恋部分简谱组成乐曲的每个音符的发音频率值及其持续的时间是乐曲能连续演奏所需的2个基本要素,首先让我们来了解音符与频率的关系。乐曲的12平均率规定:每2个八度音(如简谱中的中音1与高音1)之间的频率相差1倍。在2个八度音之间,又可分为12个半音,每2个半音的频率比为。另外,音符A(简谱中的低音6)的频率为440Hz,音符B到C之间、E到F之间为半音,其余为全音。由此可以计算出简谱中从低音1至高音1之间每个音符的频率,如表1所示。表1 简谱中音符与频率的关系4. 主系统由4个模块组成;顶层设计文件内部有三个功能模块(图2):Tone.VHD和Speaker.VHD及Notetabs.VHD.模块TONE是音阶发生器,当4位发声控制输入INDEX中某一位为高电平时,则对应某一音阶的数值将从端口TONE输出,作为获得该音阶的分频预置值;同时由CODE输出对应该音阶简谱的显示数码,如5,并由HIGH输出指示音阶高8度显示。由例6-28可见,其语句结构只是类似与真值表的纯组合电路描述,其中的音阶分频预置值,如Tone Indx, Tone=Tone2,CODE=CODE1,HIGH=HIGH1);u2 : Speaker PORT MAP (clk=CLK12MHZ,Tone1=Tone2, SpkS=SPKOUT );u3 : Notetabs PORT MAP(clk=CLK8HZ,Index0=Indx);END;Tone.VHD部分LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY Tone IS PORT ( Index : IN INTEGER RANGE 0 TO 15; CODE : OUT INTEGER RANGE 0 TO 15; HIGH : OUT STD_LOGIC; Tone : OUT INTEGER RANGE 0 TO 16#7FF# );END;ARCHITECTURE one OF Tone ISBEGIN Search : PROCESS(Index) BEGIN CASE Index IS - 译码电路,查表方式,控制音调的预置数 WHEN 0=Tone = 2047; CODE = 0; HIGH Tone = 773; CODE = 1; HIGH Tone = 912; CODE = 2; HIGH Tone = 1036; CODE = 3; HIGH Tone = 1197; CODE = 5; HIGH Tone = 1290; CODE = 6; HIGH Tone = 1372; CODE = 7; HIGH Tone = 1410; CODE = 1; HIGH Tone = 1480; CODE = 2; HIGH Tone = 1542; CODE = 3; HIGH Tone = 1622; CODE = 5; HIGH Tone =1668; CODE = 6; HIGH Tone = 1728; CODE = 1; HIGH NULL; END CASE; END PROCESS;END;Speaker.VHD部分LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY Speaker IS PORT ( clk : IN STD_LOGIC; Tone1 : IN INTEGER RANGE 0 TO 16#7FF#; SpkS : OUT STD_LOGIC );END;ARCHITECTURE one OF Speaker ISSIGNAL PreCLK , FullSpkS : STD_LOGIC;BEGIN DivideCLK : PROCESS(clk) - 将CLK进 11分频,PreCLK为C L 11K 6分频 VARIABLE Count4 : INTEGER RANGE 0 TO 15; BEGIN PreCLK 11 THEN PreCLK = 1; Count4 := 0; ELSIF clkEVENT AND clk=1 THEN Count4 := Count4 + 1; END IF;END PROCESS;GenSpkS : PROCESS(PreCLK, Tone1) VARIABLE Count11 : INTEGER RANGE 0 TO 16#7FF#; BEGIN - 11位可预置计数器 IF PreCLKEVENT AND PreCLK = 1 THEN IF Count11=16#7FF# THEN Count11 := Tone1; FullSpkS = 1; ELSE Count11:=Count11 + 1; FullSpkS = 0; END IF; END IF;END PROCESS;DelaySpkS : PROCESS(FullSpkS) VARIABLE Count2 : STD_LOGIC; BEGIN IF FullSpkSEVENT AND FullSpkS = 1 THEN Count2 := NOT Count2; IF Count2 = 1 THEN SpkS = 1; ELSE SpkS = 0; END IF; END IF; END PROCESS;END;Notetabs.VHD部分library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity Notetabs isPort ( clk: in std_logic;-系统时钟;键盘输入/自动演奏 index0 : out INTEGER RANGE 0 TO 15); -音符信号输出end NOTETABS;architecture Behavioral of Notetabs issignal count0:integer range 0 to 373;-changebeginmusic:process(clk) -此进程完成自动演奏部分曲的地址累加beginif clkevent and clk=1 thenif count0=373 then count0=0;else count0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0index0ind
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025广东茂名市电白区霞洞镇公益性岗位招聘2人(第一批)考前自测高频考点模拟试题及答案详解参考
- 2025江苏海晟控股集团有限公司下属子公司招聘高级管理人员人员模拟试卷及答案详解(历年真题)
- 轻量级安全协议设计-第3篇-洞察与解读
- 2025年及未来5年中国不锈钢日用品行业发展趋势及投资前景预测报告
- 2025年马鞍山市公安局招聘警务辅助人员45人考前自测高频考点模拟试题及答案详解一套
- 2025广东医科大学招聘事业编制人员47人考前自测高频考点模拟试题附答案详解(模拟题)
- 2025贵州遵义市赤水市第一批就业见习招募34人考前自测高频考点模拟试题附答案详解(黄金题型)
- 2025年丽水市人民医院招聘劳务派遣岗位10人考前自测高频考点模拟试题及答案详解(全优)
- 饲料配方设计-洞察与解读
- 2025江苏商贸职业学院招聘考前自测高频考点模拟试题及答案详解1套
- 第三单元第2课时儿童乐园(教学设计)数学北师大版二年级上册2025
- 有害物质管理培训课件
- GB/T 33363-2016预应力热镀锌钢绞线
- GB/T 23510-2009车用燃料甲醇
- 做新时代马克思主义的信仰者与实践者课件
- 实用英语口语900句
- 食品安全事故流行病学个案调查表
- 保健食品安全知识培训
- 风机运行记录表
- 2021新高考语文Ⅰ卷现代文阅读Ⅱ小说《石门阵》赏析及试题详细解析
- 法律谈判实务完整版课件全套教学ppt教程
评论
0/150
提交评论