EDA_课程设计_乐曲演奏器
eda乐曲硬件演奏电路课程设计

eda乐曲硬件演奏电路课程设计一、课程目标知识目标:1. 学生能够理解EDA乐曲硬件演奏电路的基本原理,掌握电路组成及各部分功能。
2. 学生能够描述常见电子元件在演奏电路中的作用,并运用相关知识分析电路性能。
3. 学生能够掌握编程软件及硬件设计工具,完成简单的EDA乐曲演奏电路设计。
技能目标:1. 学生能够运用所学知识,独立完成演奏电路的搭建与调试。
2. 学生能够通过编程软件,编写简单的乐曲程序,实现乐曲演奏。
3. 学生能够运用团队协作能力,共同解决演奏电路设计过程中遇到的问题。
情感态度价值观目标:1. 学生通过本课程的学习,培养对电子技术和音乐艺术的热爱,提高审美情趣。
2. 学生在学习过程中,养成积极探究、勇于创新的精神,增强实践操作能力。
3. 学生能够认识到科技与艺术的结合在生活中的应用,增强社会责任感和团队合作意识。
课程性质:本课程为实践性较强的课程,结合电子技术与音乐艺术,旨在培养学生的动手能力、创新思维和团队协作能力。
学生特点:本年级学生具备一定的电子技术基础知识,对音乐艺术有一定兴趣,好奇心强,善于动手实践。
教学要求:教师应注重理论与实践相结合,引导学生积极参与实践操作,鼓励学生创新思维,提高团队协作能力。
同时,关注学生的个体差异,因材施教,确保每位学生都能在课程中收获成长。
二、教学内容本课程教学内容主要包括以下三个方面:1. 理论知识学习:- 电路基础知识:回顾电路的基本概念、原理及电路图的识别。
- 电子元件介绍:学习常用电子元件的原理、功能及在演奏电路中的应用。
- EDA软件使用:介绍编程软件及硬件设计工具的使用方法,如Multisim、Proteus等。
2. 实践操作能力培养:- 电路搭建:学习演奏电路的搭建方法,熟悉各类电子元件的连接方式。
- 程序编写:编写简单的乐曲程序,掌握编程技巧,实现乐曲演奏。
- 调试与优化:对搭建的演奏电路进行调试,找出问题并进行优化。
3. 创新思维与团队协作:- 设计实践:运用所学知识,小组合作完成指定乐曲的演奏电路设计。
电子课程设计EDA课程设计乐曲硬件演奏电路

电子课程设计——乐曲硬件演奏电路设计学院太原科技大学华科学院专业、班级电子信息工程姓名学号指导教师2011年12月目录一、设计任务与要求 (3)二、总框体图 (3)三、选择器件 (4)四、功能模块 (4)一、音乐数据模块 (4)二、音符控制输出模块 (7)3、音符译码模块 (8)4、数控分频器模块 (11)五、分频器模块 (12)六、译码模块 (13)五、整体设计电路图 (15)一、整体电路原理图……………………………15二、管脚分派图……………………………153、电路仿真结果 (15)4、硬件验证 (16)六、设计心得 (17)七、附录 (19)乐曲硬件演奏电路设计一、设计任务与要求:一、实验内容利用可编程逻辑器件FPGA,设计乐曲硬件演奏电路,可自动演奏乐曲。
二、实验要求(1)利用数控分频器设计硬件乐曲演奏电路。
(2)利用给定的音符数据定制ROM“music”。
(3)设计乘法器逻辑框图,并在QuartusII上完成全部设计。
(4)将音乐通过实验箱上的喇叭播放出来。
(5)与演奏发音相对应的简谱码输出在数码管上显示。
二、整体框图设计思路:C调音阶频率表:同的预置数即可发出不同频率的声音。
由此,可以以此为设计基础。
设计一功能模块,能够将乐曲中的音符一一以对应的频率以预置数的形式置入数控分频计中,即可利用该数控分频计产生不同的声音,演奏出设定好的音乐。
ROM 中的音乐数据文件刚可由编辑好的音符填入MIF 文件中再定制LPM_ROM 将音符数据加载入ROM 中,并设计程序在运行时自动读取ROM 中的文件并置入数控分频器中。
当采用四四拍曲子时,每节拍持续时间为秒。
置入数控分频器的速度也应与此同步或一致,避免音乐过快或过快慢而失真。
由已知的C 调音阶频率表,各频率对应的预置数就与数控分频推动蜂鸣器发作声音的频率对应。
在编写数控分频器时,不仅要考虑预置数的输入方式,还要考虑输入的速度,和驱动蜂鸣器发声的频率。
EDA课程设计自动奏乐器2

EDA课程设计一设计题目:自动奏乐器二二设计要求:1.开机能自动奏一个乐曲,可以反复演奏;2.速度可变。
1 3 1 3 5 6 5 – 6 6 і 6 5 –––6 6 і 6 5 5 3 1 2 2 3 2 1 –––3.附加:显示乐谱。
三设计过程:(一)设计方案:本实验共分变速控制、断音延音、选音、分频和显示五部分。
其中,变速控制部分由biansu模块构成;断音延音部分由模块yuepu1构成;模块yuepu2选出不同的地址输出,yindiao模块实现分频,两者连接得到不同的音调,输出到一个TFF,实现占空比为1:1,送出到扬声器发声;显示部分是一个7449译成器,在选音奏乐的同时数码管显示乐谱。
详细实现过程如下:1.实验采用两个时钟信号:93.75kHZ和23.438kHZ,分别用于演奏速度的控制与不同音调的分频。
93.75kHZ用四片74160构成2929进制计数器和1464进制计数器,分别得到32HZ和64HZ的信号,使演奏出快慢两种速度;用23.438kHZ构成八个音频的进制计数器,将输出加到八选一数字选择器,用控制端CBA控制,以便通过分频得到不同的音调。
2.从乐谱开始到结束总共包括32种状态, 且为了实现乐曲能够自动循环播放,采用了32进制加法计数器。
3. 乐谱中的延音与断音用一个八进制计数器与上述的32进制计数器构成,在每八个时钟周期后出现一个脉冲out1,用来控制每个音符的断音。
在32进制计数器计到6时出现out2; 计数器计到12时出现out3; 计数器计到13时出现out4; 计数器计到14时出现out5; 计数器计到28时出现out6; 计数器计到29时出现out7; 计数器计到30时出现out8。
out2-out8均用来控制延音。
(二)设计说明:总图:1.变速模块:有两个输入端,93.75kHZ的信号输入端和变速控制端biansu。
93.75kHZ用四片74160构成2929进制计数器和1464进制计数器,如下图所示,当biansu=1时得到32HZ信号,当biansu=0时,得到64HZ的信号,使演奏出快慢两种速度。
eda乐曲演奏电路设计

eda乐曲演奏电路设计
设计一个eda乐曲演奏电路可以分为以下几个步骤:
1. 选择音频输入设备:首先需要选择合适的音频输入设备,如麦克风或乐器接口,用于将音频信号输入到电路中。
2. 音频信号处理:接下来,需要对音频信号进行处理,以便对其进行分析和控制。
可以使用模拟或数字信号处理技术来实现这一步骤。
3. 音符检测与转换:将处理后的音频信号输入到音符检测模块中,以检测出演奏中的音符和音高。
可以使用算法(如傅里叶变换)来实现音符检测,并将检测结果转换成数字形式,以便后续处理。
4. 控制信号生成:根据检测到的音符和音高,产生相应的控制信号。
可以使用模拟电路或数字信号处理器(DSP)来实现这一步骤。
5. MIDI信号输出:将控制信号转换成MIDI(Musical Instrument Digital Interface)格式的信号,以便将其与其他MIDI设备或乐器连接起来。
可以使用MIDI编码/解码器芯片实现这一步骤。
6. 音乐合成与演奏控制:利用MIDI信号控制MIDI设备或乐器,实现乐曲的合成与演奏。
可以使用MIDI合成器,MIDI 乐器模块或其他合成器设备来实现这一步骤。
在整个设计过程中,需要考虑信号处理的实时性、音质、精度等因素,并根据具体需求进行优化和调整。
EDA课设简易乐曲演奏器说明书

目录1引言 (1)2 EDA简介 (2)3 硬件描述语言VHDL (3)4 Quartus II软件 (4)5 简易乐曲演奏器设计及仿真 (5)5.1简易乐曲演奏器的各个模块原理 (5)5.1.1模式选择模块 (5)5.1.2音调存储模块 (5)5.1.3音调输入模块 (6)5.1.4音调译码模块 (7)5.1.5音调分频发生模块 (9)5.2简易乐曲演奏器的顶层程序仿真及下载 (9)5.2.1顶层程序仿真 (9)5.2.2顶层程序管脚连接 (10)5.2.3顶层程序硬件连接 (11)6 总结 (12)参考文献 (13)附录 (14)1引言VHDL(VHSIC Hardware Description Language)是一种硬件描述语言,它可以对电子电路和系统的行为进行描述。
基于这种描述,结合相关软件工具,可以得到所期望的实际电路和系统。
它出现在80年代的后期,,最初是由美国国防部开发出来供美军用来提高设计的可靠性和缩减开发周期的一种使用范围较小的设计语言。
VHDL语言随着后来被广泛使用,有可编程逻辑器件(包括CPLD和FPGA)和专用集成电路(ASIC)两个直接的应用领域。
随着EDA技术的高速发展,,目前有许多工具支持采用VHDL进行电路综合、仿真以及实现。
比较常见的是Altera公司的QuartusII开发平台和Xilinx公司的ISE 开发平台。
本次课设就是基于FPGA开发系统,在QuartusII 9.0软件平台上,采用VHDL语言来实现简易乐曲演奏器电路的设计与仿真,并下载到试验箱进行硬件实现,且要求实现如下功能:(1)设计一简单的乐曲演奏器,可通过按键输入来控制音响声音;(2)演奏时可以通过按键选择是手动演奏还是自动演奏,手动演奏是通过按键进行简易乐曲的演奏,自动演奏则是演奏已存入的固定乐曲;(3)至少保存一首自动演奏的乐曲,且自动演奏的乐曲能重复播放;(4)进行手动演奏和自动演奏时,数码管上要同时能显示出演奏乐曲的乐谱;(5)自动播放时,设置低速,中速,快速控制键,能实现乐曲不同速度的播放;(6)此演奏器要设置一个整体复位控制键;本文主要介绍了EDA技术、VHDL语言、QuartusII软件和简易乐曲演奏器的设计原理及设计过程和实现。
EDA实验报告5_乐曲硬件演奏电路设计

EDA技术与应用实验报告姓名学号专业年级电子信息工程实验题目乐曲硬件演奏电路设计实验目的1.学习利用数控分频器设计硬件乐曲演奏电路2.掌握模块化和层次化的设计方法以及音符编码的设计思想实验原理1.一定频率的矩形波通过扬声器可以发出相应频率的声音,乐曲是由一系列的音符组成的。
所以,如果我们通过控制每个音符的发音频率值及其持续的时间,就可以以纯硬件的手段,利用这些数值来实现所希望演奏的乐曲。
2.该硬件演奏电路由三个模块构成<1>音符数据ROM的地址发生器模块NoteTabs.vhdl内置8位二进制计数器,作为ROM的地址发生器,计数频率4Hz,即每一计数值的停留时间为0.25s,恰为全音符设为1s时,四四拍的4音符持续时间。
随着NoteTabs中的计数器按4Hz的时钟速率作加法计数即地址值递增时,ROM中的音符数据将通过ToneIndex[3..0]输向ToneTaba模块,乐曲即开始演奏起来。
<2>乐曲简谱码对应的分频预置数查表电路模块ToneTaba.vhdlToneTaba为Speakera提供决定所发音符的分频预置数,此数在Speakera输入口停留的时间即为此音符的节拍值。
输入Index[3..0]可确定乐曲全部音符所对应的分频预置数(13个)每一音符的停留时间由NoteTabs模块的clk决定(4Hz)。
<3>决定每一个音符音调的数控分频器模块Speakera.vhdl输入端clk输入一较高频率(12MHz)的信号,经Speakera分频,再经2分频以展宽脉冲后,由SpkOut输出。
11位预置数Tone[10..0]决定由clk输入信号的分频比,SpkOut输出的频率决定每一音符的音调。
实验内容1.定制存放LPM-ROM模块Music,在连续地址上存放乐曲的音符数据,2.用vhdl文本输入法和元件例化语句完成NoteTabs.vhdl的设计,该模块包含音符数据ROM模块Music.vhdl3.完成ToneTaba.vhdl的设计,此模块给数控分频模块提供每个音符所对应的分频预置数,即计数初值4.完成Speakera.vhdl的设计,该模块是一个初值可变的加法计数器。
EDA课程设计音乐演奏

EDA课程设计音乐演奏一、教学目标本课程旨在通过EDA(电子设计自动化)技术的学习,使学生掌握音乐演奏的基本原理和技巧,培养学生的创新意识和实践能力。
具体目标如下:知识目标:使学生了解音乐演奏的基本知识,包括音乐理论、演奏技巧等;掌握EDA技术的基本原理和应用。
技能目标:培养学生能够运用EDA技术进行音乐创作和演奏的能力;提高学生的音乐表现力和演奏技巧。
情感态度价值观目标:培养学生对音乐的热爱和尊重,培养学生的创新意识和团队合作精神。
二、教学内容本课程的教学内容主要包括音乐演奏的基本原理、EDA技术的基本原理和应用、音乐创作和演奏技巧等。
具体安排如下:第一章:音乐演奏概述1.1 音乐理论和演奏技巧1.2 音乐演奏的生理和心理基础第二章:EDA技术的基本原理2.1 EDA技术的发展和应用2.2 EDA工具的使用和操作第三章:音乐创作和演奏技巧3.1 音乐的创作方法和过程3.2 演奏技巧的训练和提高第四章:音乐演奏实践4.1 集体演奏和合作4.2 个人演奏和创作展示三、教学方法本课程采用多种教学方法,包括讲授法、讨论法、案例分析法、实验法等。
通过多样化的教学方法,激发学生的学习兴趣和主动性,提高学生的学习效果。
四、教学资源本课程的教学资源包括教材、参考书、多媒体资料、实验设备等。
教材选用权威、实用的专业教材,参考书选择与课程内容相关的学术著作和案例集,多媒体资料包括音乐演奏视频、图片等,实验设备包括计算机、音响等。
教学资源的选择和准备应能够支持教学内容和教学方法的实施,丰富学生的学习体验。
五、教学评估本课程的评估方式包括平时表现、作业、考试等多种形式,以全面、客观、公正地评价学生的学习成果。
具体评估方式如下:1.平时表现:通过课堂参与、提问、小组讨论等环节,评估学生的学习态度和积极性。
2.作业:布置相关的音乐演奏练习和EDA技术任务,评估学生的实践能力和掌握程度。
3.考试:包括期中考试和期末考试,以闭卷形式进行,评估学生对音乐演奏和EDA技术的理论知识掌握。
EDA课程设计——乐曲硬件演奏电路资料

《电子技术基础Ⅲ》项目设计报告课程名称任课教师设计题目乐曲硬件演奏电路设计班级姓名学号成绩日期一、题目分析1.设计要求利用FPGA,设计一硬件乐曲硬件演奏电路,能够利用硬件电路,自动播放音乐。
2.题目分析乐曲是由一连串的音符组成,而每个音符的发音频率值及其持续时间是乐曲能连续演奏所需的两个基本因素。
所以,设计音乐发生电路,需要得到相应音符的频率值,及其持续时间。
如果能够得到这两个基本元素,利用程序来控制FPGA 某个引脚输出一定频率的矩形波,接上扬声器就能发出相应频率的声音。
所以,获取这两个要素是本实验的关键。
(1)频率值频率的高低决定了音调的高低。
由于乐曲都是由一连串的音符组成,因此按照乐曲的乐谱,依次输出这些音符相对应的频率,就可以在蜂鸣器上连续地发出各个音符的音调。
简谱的音名与频率的关系如下表:表1 简谱中的音名与频率的关系(2)时长这次设计中所演奏的乐曲的最短的音符为四分音符,如果将全音符的持续时间设为1s的话,那么一拍所应该持续的时间为0.25秒,则只需要再提供一个4Hz 的时钟频率即可产生四分音符的时长。
系统工作时就按4Hz的频率依次读取简谱,当系统读到某个音符的简谱时就对应发这个音符的音调,持续时间为0.25秒,如果在曲谱文件中某个音符为三拍音长,只要将该音符连续书写三遍,系统读乐曲文件的时候就会连续读到三次,也就会发三个0.25秒的音长,这时我们听上去就会持续了三拍的时间,这样就可以控制音乐的音长了。
二、设计方案1.顶层实体描述音乐播放器,是能够演奏一曲完整的乐曲,在外部时钟的作用下,产生相应频率的方波信号,即在乐曲中对应相应的音符。
并且信号要持续一定的时间,即对应乐曲中的节拍。
得到了音调和节拍后,就可以组成相应的乐曲了。
2.模块划分采用“自顶向下”的设计方法,将音乐播放器模块主要划分为地址发生模块、数控分频模块、music模块和预置数模块。
(1)地址发生模块:增地址计数器,用于产生地址数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
EDA课程设计题目:乐曲硬件演奏电路的VHDL设计专业:通信工程班级:通信082姓名:***学号:**********一、 设计题目:乐曲硬件演奏电路的VHDL 设计二、 设计目标:1)能够播放“梁祝”乐曲。
2)能够通过LED 显示音阶。
3)具有“播放/停止”功能,并在此基础上实现“按键演奏”的电子琴功能。
三、 设计原理:1. 音乐基础知识一段简单乐谱由音调和节拍组成,音调表示一个音符唱多高的频率,节拍表示一个音符唱多长的时间。
音符的节拍我们可以举例来说明。
在一张乐谱中,我们经常会看到这样的表达式,如1=C 44、1=G 43…… 等等。
以43为例加以说明,它表示乐谱中以四分音符为节拍,每一小结有三拍。
比如:图1其中1 、2 为一拍,3、4、5为一拍,6为一拍共三拍。
1 、2的时长为四分音符的一半,即为八分音符长,3、4的时长为八分音符的一半,即为十六分音符长,5的时长为四分音符的一半,即为八分音符长,6的时长为四分音符长。
那么一拍到底该唱多长呢?一般说来,如果乐曲没有特殊说明,一拍的时长大约为400—500ms 。
我们以一拍的时长为400ms为例,则当以四分音符为节拍时,四分音符的时长就为400ms,八分音符的时长就为200ms,十六分音符的时长就为100ms。
2.原理图框图:图2.框图3.原理图说明音乐播放原理说明音符的频率由数控分频器模块Speakera产生。
ToneTaba模块从NoteTabs模块中输入的音符数据,将对应的分频预置数据传送给Speakera模块,并将音符数据送到LED模块显示音阶。
NoteTabs模块中包含有一个音符数据ROM,里面存有歌曲“梁祝”的全部音调,在此模块中设置了一个8位二进制计数器,作为音符数据ROM的地址发生器。
这个计数器的计数频率为4Hz,即每一个数值的停留时间为0.25秒。
例如:“梁祝”乐曲的第一个音符为“3”,此音在逻辑中停留了4个时钟节拍,即1秒钟时间,所对应的“3”音符分频预置数为1036,在Speakera的输入端停留了1秒。
随着NoTabs中计数器按4Hz的时钟速率作加法计数时,随着地址的递增,音符数据ROM中的音符数据将从ROM中通过输出端口输入到ToneTaba模块,“梁祝”歌曲就开始连续自然地演奏起来。
键盘演奏原理说明在模块ToneTaba中设置有八个键盘输入端口,分别对应基音“1”、“2”、“3”、“4”、“5”、“6”、“7”和高音“1”八种音调。
当其中某个按键按下时,ToneTaba模块就将对应音符的分频预置数送到数控分频模块Speakera模块产生相应音调,同送将音符送到LED显示模块显示音节。
四、设计内容1)取音调节拍模块NoteTabs图5:NoteTabs实体图模块实体由时钟输入信号clk、实现暂停与播放功能的使能输入信号en和音符输出端toneindex组成。
时钟输入端clk接入4Hz信号,即0.25秒作为“梁祝”乐曲的基本时钟节拍。
NoteTabs模块设置有个计数器,作为地址计数器,用于从模块内部的music_rom中取音符数据。
NoteTabs模块仿真图如下:图42)音频预置数及演奏按键模块ToneTaba图5:ToneTaba实体图该模块的实体组成端口由音符数据输入端index、音乐演奏或音乐播放选择输入端口yanzhou_en、八个按键输入端口key_1~key_8、及音阶数据输出端口code、音符分频数据输出端口tone组成。
当端口yanzhou_en置‘1’时,进行按键音乐演奏功能,即将对应按键的的音阶的分频数据送至模块Speakera产生音调;当端口为‘0’时,进行音乐播放功能,即将NoteTabs模块输入的音符数据送至模块Speakera产生音调。
ToneTaba模块仿真图如下:图63)数控分频模块Speakera图7:Speakera模块实体图该模块由时钟输入信号端clk、分频数据输入端tone以及音调频率输出端spks组成。
其clk端输入较高的频率(12MHz),通过Speakera分频后由spks输出。
模块仿真图如下:图84)软件流程图如下:图9五、仿真结果1.原理图设计:图102.仿真结果图仿真图1:音乐播放图11仿真图1说明:音乐演奏或播放选择端yanzhou_en置‘0’,音乐播放、暂停选择键play_pause置‘0’,选择音乐播放功能,其中code端口输出的音符可送入译码器模块显示音阶。
仿真图2:音乐暂停图12仿真图2说明:音乐演奏或播放选择端yanzhou_en置‘0’,选择音乐播放功能。
当音乐播放、暂停输入端口play_pause置‘1’时,从图12与图11比较可知,其中的图12的音符6因为暂停而被延长,音乐播放被暂停,当play_pause重新置‘0’时,音乐开始继续播放。
仿真图3:按键演奏音乐图13仿真图3说明:音乐演奏或播放选择端yanzhou_en置‘1’,选择按键音乐演奏功能。
其中端口tone_1到tone_7对应‘1’至‘7’基音,端口tone_11对应高音‘1’。
通过按不同的按键,即可从端口spkout输出不同的频率,即对应不同的音调。
演奏的音阶通过端口code送入译码器即可演示音阶。
六、总结本设计完整地实现了音乐的播放、按键演奏音乐、音乐播放与暂停功能,已基本符合课程设计的要求。
通过本次课程设计,更熟练了EDA软件的使用,学会了怎么制作LPM_ROM元器件,加深了对VHDL语言的理解,熟练了利用原理图设计电路的方法,体验到了将自己的创意付诸实践的乐趣。
七、附录1、音调节拍模块NoteTabs(实现了音乐播放与暂停功能)library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity notetabs isport( en,clk : in std_logic; --添加了使能端toneindex: out std_logic_vector(3 downto 0));end;architecture behav of notetabs iscomponent music_romport(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);begincnt8: process(clk,counter,en)beginif en='1' then counter<=counter; --使能音乐播放与暂停elsif counter=138 then counter<="00000000";elsif clk'event and clk='1' then counter<=counter+1; end if;end process;u1:music_rom port map(address=>counter,q=>toneindex,inclock=>clk);end;2、音频预置数及演奏按键模块ToneTabalibrary ieee;use ieee.std_logic_1164.all;entity tonetaba isport(index : in std_logic_vector(3 downto 0);code : out std_logic_vector(3 downto 0);tone : out std_logic_vector(10 downto 0);yanzhou_en : in std_logic; --音乐演奏使能键key_1,key_2,key_3,key_4,key_5,key_6,key_7,key_8:in std_logic );end;architecture behav of tonetaba issignal abc:std_logic_vector(7 downto 0);signal temp:std_logic;beginabc<= key_8 & key_7 & key_6 & key_5 & key_4 & key_3 & key_2 & key_1; process(index, abc,yanzhou_en)begintemp<='0';if yanzhou_en='1' then temp<='1'; end if;if temp='1' thencase abc is --按键对应的基音表when"00000001" => tone<="01100000101";code<="0001";when"00000010" => tone<="01110010000";code<="0010";when"00000100" => tone<="10000001100";code<="0011";when"00001000" => tone<="10010101101";code<="0101";when"00010000" => tone<="10100001010";code<="0110";when"00100000" => tone<="10101011100";code<="0111";when"01000000" => tone<="10110000010";code<="0001";when"10000000" => tone<="10111001000";code<="0100";when others=>null;end case;elsecase index iswhen "0000" => tone<="11111111111";code<="0000";--2047when "0001" => tone<="01100000101";code<="0001";--773when "0010" => tone<="01110010000";code<="0010";--912when "0011" => tone<="10000001100";code<="0011";--1036when "0101" => tone<="10010101101";code<="0101";--1197when "0110" => tone<="10100001010";code<="0110";--1290when "0111" => tone<="10101011100";code<="0111";--1372when "1000" => tone<="10110000010";code<="0001";--1410when "1001" => tone<="10111001000";code<="0010";--1480when "1010" => tone<="11000000110";code<="0011";--1542when "1100" => tone<="11001010110";code<="0101";--1622when "1101" => tone<="11010000100";code<="0110";--1668when "1111" => tone<="11011000000";code<="0001";--1728when others=>null;end case;end if;end process;end;3、LED音阶显示:从ToneTaba模块的输出端code[3..0]输入到译码器模块,即可实现LED显示音阶。