- 1、本文档共35页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
简易电子琴的VHDL设计与实现
简易电子琴的VHDL
设计与实现
一.设计课题与任务要求:
设计制作一个简易电子琴演奏器。
原理概述:
根据声乐知识,产生音乐的两个因素是音乐频率的持续时间,音乐的十二平均率规定,每两个八音度之间的频率相差一倍,在两个八音度之间,又可分为12个半音。每两个半音的频率比为4。另外,音名A(乐谱中的低音6)的频率为440HZ,音名B到C之间,E到F之间为半音,其余为全音。由此可以计算出乐谱中从低音1到高音1之间每个音名的频率如下表所示。
表1 简谱中的音名与频率的关系
音名 频率(Hz) 音名 频率(Hz) 音名 频率(Hz) 低音1 261.63 中音1 523.25 高音1 1046.50 低音2 293.67 中音2 587.33 高音2 1174.66 低音3 329.63 中音3 659.25 高音3 1318.51 低音4 349.23 中音4 698.46 高音4 1396.92 低音5 391.99 中音5 783.99 高音5 1567.98 低音6 440 中音6 880 高音6 1760 低音7 493.88 中音7 987.76 高音7 1975.52
基本要求:
用8×8点阵显示“1 2 3 4 5 6 7”七个音符构成的电子琴键盘。其中点阵的第一列用一个LED点亮表示音符“1”,第二列用二个LED点亮表示音符“2”,依此类推,如下图所示。
图1 点阵显示的电子琴键盘
用BTN1~BTN7七个按键模拟电子琴手动演奏时的“1 2 3 4 5 6 7”七个音符。当某个按键按下时,数码管显示相应的音符,点阵上与之对应的音符显示列全灭,同时蜂鸣器演奏相应的声音;当按键弹开时数码管显示的音符灭掉,点阵显示恢复,蜂鸣器停止声音的输出。下图所示为按下BTN3按键时点阵的显示情况。
图2 按键按下后的点阵显示
由拨码开关切换选择高、中、低音,并用数码管进行相应的显示。
通过按键BTN0进行复位,控制点阵显示图1的初始状态。
提高要求:
可通过一个拨码开关进行手动/自动演奏的切换,并与点阵显示配合增加自动演奏乐曲的功能。
增加手动演奏的音符存储、播放功能。
二.系统设计(包括设计思路、总体框图、分块设计)
1.设计思路说明:
电子琴的设计包括七个模块:弹奏模块keyplay、自动演奏模块autoplay、查表及显示模块table、分频模块fenpin、存储模块store、七段数码管显示模块seg7和点阵的显示模块lattice。
弹奏模块keyplay根据按键动作key,和高中低模式选择mode产生指示音调的index_key。
自动演奏模块autoplay接收50MHz的时钟信号,输出index_auto。
存储录音模块store根据store1选择录音,用数组存储index_key,并将其传输给index_store,作为录音存储的数据。
查表及显示模块table根据按键button,replay选择采用index_key或index_auto或者index_store来查分频系数表,输出分频系数tone。对于tone的编码,采用了五位编码方式,高2位存储高中低音对应的11、01、00编码,低3位存储相应输入音调对应的二进制编码。
分频模块fenpin接收table输出的分频系数 tone,并据此分频,将对应频率的信号buzz输出给扬声器供其发声。
七段数码管显示模块seg7根据对应的按键button,replay选择采用index_key或index_auto或者index_store,分别对应不同的数码管显示输出。
点阵的显示模块lattice根据对应的按键button,replay选择采用index_key或index_auto或者index_store,分别对应不同的数码管显示输出。这样可以保证在不同的模式下点阵以及数码管都可以对应显示输出。
2.总体框图与流程图
图1 系统实现流程图
图2 系统设计框图
3.分块设计
系统总体设计:
图3 顶层设计
Keyplay模块设计:
将输入key[6..0],mode编码为index_key[4..0]。index_key[4..0]的高两位表示高、中、低音,00表示低音,01表示中音、11表示高音。index_key[4..0]低三位表示音调,001表示do,010表示re,以此类推,000表示不发音。这样可以实现对不同按键模式下的编码,而这些编码会为后续模块例如seg7,lattice所使用。
您可能关注的文档
- 石头口门水库水源地污染治理工程(一期)初步设计.doc
- 眼科病床的合理安排.doc
- 直齿圆柱齿轮减速器带式输送机设计.doc
- 短臂冲压成形工艺分析及模具设计.doc
- 砌体结构课程设计.doc
- 社区卫生服务中心工作制度.doc
- 省级林木种苗示范基地建设项目可行性研究报告.doc
- 矩阵初等变换及其应用.doc
- 石头峡电站35KV送电线路工程施工组织设计.doc
- 碰撞检测技术的研究.doc
- 2024高考物理一轮复习规范演练7共点力的平衡含解析新人教版.doc
- 高中语文第5课苏轼词两首学案3新人教版必修4.doc
- 2024_2025学年高中英语课时分层作业9Unit3LifeinthefutureSectionⅢⅣ含解析新人教版必修5.doc
- 2024_2025学年新教材高中英语模块素养检测含解析译林版必修第一册.doc
- 2024_2025学年新教材高中英语单元综合检测5含解析外研版选择性必修第一册.doc
- 2024高考政治一轮复习第1单元生活与消费第三课多彩的消费练习含解析新人教版必修1.doc
- 2024_2025学年新教材高中英语WELCOMEUNITSectionⅡReadingandThi.doc
- 2024_2025学年高中历史专题九当今世界政治格局的多极化趋势测评含解析人民版必修1.docx
- 2024高考生物一轮复习第9单元生物与环境第29讲生态系统的结构和功能教案.docx
- 2024_2025学年新教材高中英语UNIT5LANGUAGESAROUNDTHEWORLDSect.doc
文档评论(0)