版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
VHDL设计与实现一.设计课题与任务要求:设计制作一个简易电子琴演奏器。原理概述:依据声乐学问,产生音乐的两个因素是音乐频率的持续时间,音乐的十二平均率规定,每两个八音度之间的频率相差一倍,在两个八音度之间,又可分为12个半音。每两个半音的频率比为4。另外,音名A〔乐谱中的低音6〕的频率为440HZ,音名B到C之间,E到F之间为半音,其余为全音。由此可以计算出乐谱中从低音1到高音1之间每个音名的频率如下表所示。表1简谱中的音名与频率的关系音名频率〔Hz〕音名频率〔Hz〕音名频率〔Hz〕低音1261.63中音1523.25高音11046.50低音2293.67中音2587.33高音21174.66低音3329.63中音3659.25高音31318.51低音4349.23中音4698.46高音41396.92低音5391.99中音5783.99高音51567.98低音6440中音6880高音61760低音7493.88中音7987.76高音71975.52根本要求:1 2 3 4 5 6 71、用8×8点阵显示“1234567”七个音符构成的电子琴键盘。其中点阵的第一列用一个D1D示。1 2 3 4 5 6 7图12、用BTN1~BTN7七个按键模拟电子琴手动演奏时的“1234567”七个音符。当某BTN3图23、 由拨码开关切换选择高、中、低音,并用数码管进展相应的显示。4、 通过按键BTN0进展复位,把握点阵显示图1的初始状态。提高要求:1、 可通过一个拨码开关进展手动/自动演奏的切换,并与点阵显示协作增加自动演奏乐曲的功能。2、 增加手动演奏的音符存储、播放功能。二.系统设计〔包括设计思路、总体框图、分块设计〕设计思路说明:电子琴的设计包括七个模块:弹奏模块keyplay、自动演奏模块autoplay、tablefenpinstore、七段数码管显示模seg7lattice。弹奏模块keyplay依据按键动作key,和高中低模式选择mode产生指示音调index_key。autoplay50MHzindex_auto。storestore1index_key,并将其传index_store,作为录音存储的数据。查表及显示模块 table依据按键 button,replay选择承受 index_key或查分频系数表输出分频系数tone对于tone的编码,承受了五位编码方式,高2位存储高中低音对应的11、01、00编码,低3位存储相应输入音调对应的二进制编码。buzz7nyindex_autoindex_store,分别对应不同的数码管显示输出。点阵的显示模块lattice依据对应的按键button,replay选择承受index_key或index_autoindex_store,分别对应不同的数码管显示输出。这样可以保证在不同的模式下点阵以及数码管都可以对应显示输出。总体框图与流程图12分块设计系统总体设计:3Keyplay7所使用。autoplay把50MHz的输入时钟分频为 16Hz,作为节拍。将要自动演奏的歌曲预先写为index_auto的格式〔index_auto格式与index_key格式一样。以16Hz的频率将index_auto输出。这里需要用到计数器,此计数器的长度由演奏的歌曲长度而定。5autoplaytablebutton,replaybuttonbutton1replay0index_autoxn为0且y为0则把yn0且1index_storeindextone,输出。index6tablefenpintone。设置内部信号i用于计数,clk_data作为分频结果。,每次clk上升沿检测itoneiclk_datai1。clk_databuzzbuzz7fenpin(1buttonreplayindex_keyindex_autoindex_storeindex(1)index图8seg7模块设计数码管模块设计:(1buttonreplayindex_keyindex_autoindex_storeindex(1)index9latticereplay应的播放。10storelattice这里我只选择性地选取了键盘输入的对应点阵显示,首先键盘输入时button信号为低电平,所以可以从仿真图中看到button信号为低电平,且此时的复位信号无效,为低电平,此时key输入信号有效。在对应的时钟时钟信号输入下,当键盘输入信号key对应相应的输入时,点阵的行列也会有对应的应下一行的低电平输出。而对应列扫描,依据key输入的状况,分别对应列扫描的电平输出。dolie11011111,row01100000。fenpin可以看到,2〔tone+1〕代表的是分频系数,所以对应仿真如上图有,当tone02buzztone2〔1。所以在计算每个音调对应的频率时,使用1。Keyplay如图,对应着不同的keymodeindex_key。比方mode=00,key=0000001时,有index_key译码为00001,mode=00,key=0001000index_key00100autoplay可以看出,对应前三个节拍的为音调mi,接下来有一拍的停顿,接下来又是三mijunglebellsauto-playstore有对应的赋值,表示有效的按键信息已经被存储。可以看到依据手动录入的index-key 情况,对应 replay 时的 index_store 输出分别为10001,10110,01011……Seg7如图所示,对应的 cat 输出为时钟扫描信号,所着时钟变化,cat0,cat1,cat2,cat3,cat4,cat5依次消灭低电平,表示对应的选通管有效,而依据输入的key而变,可以看到,对应mi的输入的时候,恰好可以显示数码管上的3字样。四、源程序〔要有注释〕electrorgan.vhl--顶层文件libraryIEEE;useIEEE.STD_LOGIC_1164.ALL;useIEEE.STD_LOGIC_ARITH.ALL;entityelectrorganis--作为顶层文件,它包含实现功能用到的全部端口port(clk:instd_logic;key:instd_logic_vector(6downto0);mode:instd_logic_vector(1downto0);cat:outstd_logic_vector(5downto0);clr:instd_logic;button:instd_logic;replay:instd_logic;spkout:outstd_logic;store1:instd_logic;Atop:OUTstd_logic;Btop:OUTstd_logic;Ctop:OUTstd_logic;Dtop:OUTstd_logic;Etop:OUTstd_logic;Ftop:OUTstd_logic;Gtop:OUTstd_logic;lietop:outstd_logic_vector(7downto0);--列endelectrorgan;architecturebehaveofelectrorganiscomponentautoplay--这里声明白顶层文件中包含的各模块clr:instd_logic;endcomponent;componentstoreisclk:instd_logic;clr:instd_logic;replay:instd_logic;endcomponent;componentfenpinport(clk:instd_logic;buzz:outstd_logic);endcomponent;componentlatticeport(clk:instd_logic;lie:outstd_logic_vector(7downto0);--列index_auto:instd_logic_vector(4downto0);clr:instd_logic;replay:instd_logic;button:instd_logic);Endcomponent;index_key:i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度工程建设项目合作与土地使用权转让合同
- 2024年度国际信用证开证与保兑合同
- 辽宁省沈阳市郊联体2024-2025学年高二上学期期中考试政治试题 含解析
- 第五章2024年度国际货物买卖法下技术开发合同细节3篇
- 对公账户汇款合同模板
- 二零二四年度光伏发电站设计施工合同
- 瓷砖原料供应长期合作协议
- 二零二四年高级轿车买卖及售后服务合同
- 二零二四年度废弃物处理与拆除合同
- 劳动安全卫生专项集体合同(2篇)
- 广州数控GSK980TDb操作步骤(刀补对刀)
- (完整)小学语文考试专用作文方格纸
- 唐诗三百首大全306首
- 概论:马克思主义与社会科学方法论
- 幼儿园红色故事绘本:《鸡毛信》 课件
- 部编人教版语文四年级上册生字课件 第26课 西门豹治邺
- 夹层钢结构施工方案钢结构夹层施工方案
- 部编版五年级上册语文第六单元习作:我想对您说
- 第23课《范进中举》课件 部编版语文九年级上册
- GB/T 7157-2019电烙铁和热风枪
- GB/T 37546-2019无人值守变电站监控系统技术规范
评论
0/150
提交评论