您现在的位置是:首页 > 音乐 >

音乐

具有自动乐曲演奏功能的电子琴设计说明

IlMwr2024-03-29 10:36:48音乐824
拜金女王主题曲-high歌 张伟2022年4月16日发(作者:浪漫满屋中文版)具有自动乐曲演奏功能的电子琴设计先给出设计结果视频:具有自动乐曲演奏功能的电子琴-视频实录本文为本人于2012年下学期做的EDA数字系统设计,文章详细介绍了“具有自动乐曲演奏功能的电子琴”的FPGA设计原理与方法残酷月光 宣萱,使用了ROM存储音符和节拍,矩阵键盘控制整个系统。一、选题目的电子设计自动化,简称EDA(El

拜金女王主题曲-high歌 张伟

具有自动乐曲演奏功能的电子琴设计说明
2022年4月16日发
(作者:浪漫满屋中文版)

具有自动乐曲演奏功能的电子琴设计

先给出设计结果视频:具有自动乐曲演奏功能的电子琴-视频实录本文为本人于2012年下学期做的EDA数字系统设计,文章详细介绍了“具有自动

乐曲演奏功能的电子琴”的FPGA设计原理与方法残酷月光 宣萱,使用了ROM存储音符和节拍,矩阵

键盘控制整个系统。

一、选题目的电子设计自动化,简称EDA(ElectronicDesignAutomation)我是特种兵结尾曲,发展迅速,应用围

日益扩大今晚月亮。它以计算机为工具,设计者在EDA软件平台上第七日,用硬件描述语言VHDL完成设

计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真蜜蜂三郎,

直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的出现,极提

高了电路设计的效率和可操作性姜育恒的歌曲,减轻了设计者的劳动强度。本文应用VHDL硬件描述语言李天佑,以QuartusⅡ8任意门.0为开发工具设计了一个具有自动演

奏乐曲功能的电子琴系统谁来陪我唱完这首歌,它能将预先存储在ROM中的多首乐曲自动播放出来,并同时显

示音符,此外,还具有电子琴弹奏的功能帕赫贝尔 d大调卡农。选题新颖、实用one woman,趣味性、综合性较强。

二、设计目标

1.采用44矩阵键盘作为:电子琴按键shotinthedark,高、中、低音选择键,自动播放和电子琴弹奏功能

选择键,乐曲选择键。

2哈尔滨coco.使用ROM存储乐曲,达到只要在其中存储乐曲音符节拍的信息即可自动播放的目的,

对乐曲的编码要简单易用。

.可自动播放《世上只有妈妈好》、《长亭送别》、《十年》三首歌曲变身三分钟,带选歌和自动循环播

放的功能。

4.实时显示正在播放的音符十二点的天空飘着雨。

5.设计要具有模块化,层次化的特点。

6蓝与白.波形仿真时采用时序仿真因为我太傻,以更加贴近实际新年好儿歌视频,使系统的实际效果达到最佳。

三、实现方案

1.原理框图具有自动乐曲演奏功能的电子琴系统的原理结构框图如下:

图1硬件系统结构框图

图2软件系统结构框图

图乐曲自动播放模块结构框图

图4乐曲弹奏模块结构框图

2.设计流程图具有自动乐曲演奏功能的电子琴系统的VHDL程序设计流程图如下图5:

图5程序设计流程图

四、设计过程

1apologize中文歌词.音乐基础知识简谱应该说是一种比较简单易学的音乐记谱法匪徒在线。它的最大好处是仅用7个阿拉伯数字

----,就能将万千变化的音乐曲子记录并表示出来,并能使人很快记住而终身不忘;

同时涉及其他的音乐元素也基本可以正确显示第五届音乐风云榜。简谱虽然不是出现在中国新版还珠格格主题曲,但是好像只有在

中国得到非常广泛的传播。乐音的特性:它由四个方面组成:音高、音值、音量、音长生谣。音高:由物体在一定的时间震动的次数决定every one is no 1,震动次数多,因则高sevendust,反之,则低爱情二分之一。音值:即音的长短,是由音的延续时间的不同而决定的维瓦尔第四季,音的延续时间长,音则长,

反之,则短小螺号伴奏。音量:即音的强与弱八十八佛忏悔文,由震幅的大小决定,震幅大,音则强,反之bdsm torture女囚系列,则弱却上心头。音:有发音体的性质决定,发音体的形状及泛音的多少决定音的不同,例如,小

提琴、钢琴等各种乐器的音都是不同的,在合奏时,人们可清楚地辨认连岳。乐音体系:在音乐使用中有固定音高的音的总和叫乐音体系。音级:乐音体系中的各音叫音级,音级有基本音级与变化音级两种。基本音级:

在音乐中经常使用的七个具有独立名称的音叫基本音级。基本音级的名称

用字母或唱名两种方式来标记。音名:用C、D、E、F、G、A、B来标记基本音级的叫音名智慧之光,它表示一定的音高,

简谱中用1,2,最简单的吉他谱,4,5,6,7来标记。唱名:用do、re、mi、fa、sol、la、si作为音级名称的叫唱名懒音哥。音符:用以记录音的长短高低的符号叫音符(以符头在谱表上的位置来表示音的高低,

以形状表示音的长短,音符有符头、符干、符尾三部分或其中某些部分组成,而在简谱中以

或其上下加点来表示不同音高,以短下划线(_)或横(—)来表示音的长短)。下面重点介绍组成音乐的两个最基本的要素:每个音符发音的频率及其持续的时间。1七月一.1音符和频率的关系乐曲的十二平均律规定:每2个八度音(如简谱中的中音1与高音1)之间的频率

相差一倍奏。在2个八度音之间,又可分为12个半音,每2个半音的频率比为。另外,

简谱中的低音6的频率为440Hz,音符7到1之间、到4之间为半音,其余为全音。由

此可计算出简谱中从低音1至高音7之间每个音符的频率玉石缘,如下表1所示:

表1简谱中音符与频率的关系

音名频率(Hz)音名频率(Hz)音名频率(Hz)

低音1261.6

低音229pk1.7

低音29多娜多娜一起做坏事.6

低音449.2

低音592

低音6440

低音749.9

中音152加勒比海盗4主题曲.

中音2587俊美夫妇.

中音659英雄无名在线观看.

中音4698.5

中音5784

中音6880

中音7987.8

高音callas.5

高音曲剧刘公案.7

高音118悬崖上的金鱼公主国语.5

高音4

196掌上书苑.9

高音

高音

高音窗外飘着雪.51.2音符的长短表示音乐的长短需要有一个相对固定的时间概念沙宝亮的歌。简谱里将音符分为全音符、二分音

符、四分音符、十六分音符、三十二分音符等,如下表2。在这几个音符里面最重要的是四

分音符,它是一个基本参照度量长度,即四分音符为一拍。这里一拍的概念是一个相对时间

度量单位。一拍的长度没有限制,可以是1秒也可以是2秒或半秒。假如一拍是一秒的长

度,那么二拍就是两秒;一拍定为半秒的话免费的彩铃,两拍就是一秒的长度。一旦这个基础的一拍定

下来,那么比一拍长或短的符号就相对容易了。正如五线谱的附点一样,数字后方加一点会

将音符长度增加一半。

表2简谱中音符长度

音符名称

全音符

二分音符

四分音符

八分音符

记法

5—

5

时值

二拍

一拍

半拍

编码

16

8

4

2

5———四拍

十六分音符

1

四分之一拍

八分之一拍三十二分音符

程序设计2.1顶层文件采用原理图输入法设计李国祥,其原理图如下:

图6music_player原理图各模块的设计如下。2.2音符的编码及音乐的存储2.2.1音符的编码休止符的编码为:0;音符长度的编码见表2百家讲坛司马懿。音名的编码如下表所示:

表音名的编码

音名编码音名编码音名编码

低音111中音11

低音212中音22

低音1中音

低音414中音44

低音515中音55

低音616中音66

低音717中音77

高音121

高音222

高音2

高音424

高音525

高音626

高音727

2.2.2音乐的存储以十进制将音乐分别存储于note_rom和tick_rom两个模块中aoa短裙,前者为音符,后者

为音符的长度,下面给出《世上只有妈妈好》的存储过程奔跑在孤傲的路上。在QuartusII主窗体中选择

Tools—MegaWizardPluge-InManager…黎明,弹出如下对话框,单击ext继续。

图7MegaWizardPluge-InManager第一页

按下图选择并填入文件名晓之车歌词,点击ext齐豫橄榄树。

图8MegaWizardPluge-InManager第二页由于音符编在16到2之间glory holl,所以q选为5位即可,容量选为1024

个字如下图

所示

图9数据和地址宽度的选择

在下图中取消“q’outputport”前面的勾替我爱你,点击ext继续永远的忠诚。

图10寄存器信号的选择

在下图中,按图示选择并填入note_,点击ext继续你还欠我一个拥抱歌词。

图11指明ROM初始化文件

图12完成ROM的定制

2无损音乐下载网站.2.建立ROM初始化文件初始化ROM的数据文件有格式和.hex格式白骨精写给孙悟空的信,这里采用.mif格式,可以用文本编

辑器编辑mv下载网站免费,也可以用QuartusII自带的功能产生ROM数据文件隐之王ed。定制一个512*8的ROM的初始化酷我音乐合.mif文件可按下列步骤进行:选择菜单File|ew,

在对话框中选择MemoryInitializationFile,然后输入512和8花泽冰,如下图1(a)所示,

点击OK随即打开适合男女合唱的歌曲.mif文件,如下图1(b)所示,然后可在其中输入数据,默认为十进

制零壹乐队。

(a)ROM的初始化设置(b)初始化的空的ROM文件

图1ROM初始化

2昨日重现.2.4在ROM中存储音乐

以《世上只有妈妈好》为例,其简谱如下图所示:

图14世上只有妈妈好简谱根据前述对音符的编码规则何韵诗图片,可知第一个音为中音6南拳妈妈专辑,时值为拍,存储为6和6;

再如第二个音符为中音5,时值拍,存储为5和2;又如第五个音符为高音5王嘉琦,时值1拍爱情错觉,

存储为21和4。依此类推不哭了,可将整首乐曲存储如下:(a)note_文件(b)tick_文件

图15世上只有妈妈好简谱在ROM中的存储

其它两首乐曲的存储与此类似,且存储在同一个note_和tick_文件中即

可周杰伦土味歌词。

.键盘控制模块

.1扫描及编码矩阵式键盘是一种常见的输入装置美国政府关门危机,根据其电路连接有共阴极和共阳极两种连接方

式,可以采用逐行或逐列扫描法获得按键值新套马杆广场舞。本文根据实验室提供的共阳极矩阵键盘设计弃身锋刃端,

其示意图如图16所示向前向前向前,定义各功能键如下图17所示杏里,其中1~7对应简谱的1~7音符,

H、M、L分别为高、中、低音选择键薛之谦高磊鑫复合,AP(AutoPlay)为自动播放选择键马卓,EO(Electronic

Organ)为电子琴弹奏选择键全世界谁倾听你林宥嘉,Song为自动播放时的歌曲选择键,三个短“-”代表休止符动物音乐会。

图16共阳极矩阵式键盘示意图图17本系统矩阵键盘功能键示意下面介绍扫描原理胡家豪,采取逐行扫描法,以0111、1011、1101、1110

的顺序依次

扫描,然后读取列引脚的电平信号即可判断哪个按键按下。例如一克拉的眼泪,当扫描信号为1011时加班歌,

表示在扫描第二行,若列读出的电平信号为1101,则可知第列的键被按下小沈阳歌曲视频,即第二行第

列的键“7”被按下心要让你听见,其它按键依次类推,下表4中列出了4*4矩阵键盘扫描时的情况

表4按键扫描信息对照表列

1110

1111

01111

1110-

2

6

-

7

-

4

H

L

1101APEOSongM

对该矩阵键盘按从上到下、从左至右的顺序编码blow your mind,依次为:

1,2,impossible,4康定情歌曲谱,5中国好声音第四季冠军,6,7,8now you see me 字幕,9,10turtle island,11,12dumb,1,14天下相亲与相爱是什么歌,15你是我今生最爱的女孩,16喜欢我别遮脸。

扫描时,选取的扫描频率为1KHz恋爱方程式,由1MHz分频得到,具体见源程序whenyouaregone。

.2消抖通常的按键所用开关为机械弹性开关碧海潮声曲,当机械触点断开、闭合时足彩大赢家,由于机械触点的弹性

作用阿木古楞,一个按键开关在闭合时不会马上稳定地接通午夜dj视频,在断开时也不会一下子断开汉朝那些事儿全集。因而在闭

合及断开的瞬间均伴随有一连串的抖动王崇白天不懂夜的黑,如右图雪莲花。抖动时间的长短由按键的机械特性决定,

一般为5ms~10ms。这是一个很重要的时间参数,在很多场合都要用到。图18按键抖动常见的消抖方法有采样型防抖微分电路、D型触发器、移位寄存器、计数器,结合

各消抖法的特点,本文采用计数器法。斯卡布罗集市原唱.键盘控制模块如右图9所示图19键盘控制模块键盘控制模块(Key_)仿真波形如下图20所示:

图20键盘控制模块仿真波形为方便仿真及观察仿真结果年会背景,仿真时采用周期为100ns的clk仓木麻衣和孙燕姿,且将

Key_中的获得clk_kb信号的程序中的ift=499then,(即具体见源程序中斜

体注释部分)改为ift=10thenstephen thompson,再将延时近程中clk_kb改为clk,count改为位牵着你,然

后对KBCol[0刘德华 牧笛.蟑螂之歌.]赋值(如图),即可得到上图所示结果泰坦尼克号罗丝。注意观察图中圈圈的部分,可以看出,第一个圈,对应“AP”键,他不在音符围,

故Key_ote为0崔智娜,且play吉克皓,sel均为1,表示选择自动播放;第二个圈,对应“5”键,

在音符围,故Key_ote为5;第三个圈特务小强,对应“EO”键,他不在音符围真理面具,故Key_ote为

0,且playffx,sel均为0李健,表示选择电子琴弹奏;第四个圈丁先生,对应“Song”键worry,产生一个脉

冲第几个一百天歌词,仔细分析还应当发现由于消抖陈海燕,使输出迟了1个扫描时钟(0.001s)孤芳自赏的花,但对本系统无影

响。

4dubstep.乐曲自动播放模块此模块的框图如图所示旋风谷,元件符号如右图下21所示老师像妈妈,包含以下模块:ROM数据

读取控制、音符ROM、节拍ROM天空的距离,如下图22所示:

图21乐曲自动播放模块符号

图22乐曲自动播放模块4.1ROM数据读取控制该分模块从tick_rom中读取节拍,控制读取ROM

数据的速度jasonderulo,从而实现音乐的节奏。该模块通过可调模值计

数器实现,具体参见源程序给你们 歌词。乐曲自动播放模块仿真波形如下:

图2乐曲自动播放模块仿真波形为方便仿真,将counter_源程序中的CLK_FREQ这一常量的值改为仿

真时的时钟信号频率100Hz,三首乐曲的前几个音符如右图所示陈楚生 相忘于江湖,第一首的起始音符为中

音6酷狗音乐下载安装,时值一又二分之一拍;第二首的起始音符为中音5舞出人生4,时值为1拍;第三首的起始音符

为0,接着为1丽旭,2

我是一只小小鸟 叮当,时值分别为二分之一拍、四分之一拍、四分之一拍你是我最好的遇见。对照仿真结果,可

知仿真结果正确,程序正确天下无双张靓颖。

图24三首乐曲的第一句简谱

5.电子琴模块此模块主要完成将上一级键盘控制模块送来的音符按键进行译码输出千钰,元件符号如

右图11所示千千静听。如图12所示,使能有效后,开始输出音符码:2,第一个圈中key值为8爱到永远,说明下

面的音符将转为高音,如后面的2,26;第二个圈中key值为12kugoo酷狗,说明下面的音符将转

为中音,如其后的6。可见main title,程序正确无误。

图25电子琴模块

图26电子琴模块仿真波形

6李宏毅资料.音符发声及显示模块该模块主要将前端送来的音符码转换成相应的声音频率以驱动扬声器发声,并在七

段数码管(实验室提供的为

八段数码管哪一天我们会飞 电影,但本设计只需七段)上显示音符,且有高

低音指示灯。元件符号如右图。七段数码管的原理及使用很简单,在此不再熬述!本文设计的具有自动乐曲演奏功能的电子琴系

统选择的基基准频率为1MHz,根据表1

可计算出对应

的音符的分频系数(divider_mod),如下表5:

表51MHz

下简谱中音符分频数

音名分频系数音名分频系数音名分频系数

低音128

低音2405

低音04

低音4286

低音

低音6227

低音

中音

中音2170

中音1517

中音4142

中音

中音6117

中音

高音1956

高音2851

高音758

高音4716

高音568

高音6568

高音7506为方便仿真tingting,需将Aud_Pro_源程序中的divider_mod值改的小些,下面

给出的仿真波形中,将中音6、低音6、及高音6对应的divider_mod值分别改为40、

80、20omodaka,clk周期为100ns,分别给note_code赋以下值:6林志颖跨年演唱会,16,26爱就宅一起插曲,即中音6、低音6、

及高音6笑忘歌 歌词。

图27音符发声及显示模块仿真波形由上图可见日出时让恋爱终结,数码管显示均为6,但高低音指示灯的值不同,pitch为高低音指示灯张克帆,

pitch[1]为高位jake,且“00”代表中音,“01”代表低音,“10”代表高音。可见仿真结果

及程序均正确。

7王力宏演唱会.五二输入或门由于本系统有自动播放和电子琴弹奏两个模块组成当你离开的时候,每次只能其中一个有效邮乐网,但要

共用音符发声及显示模块我爱波波,故需要将输出的音符码相或后送予后级处理,由于本模块比较简

单,在此仅给出仿真波形sosa,如下。

图28五二输入或门

五、遇到问题及解决方法1.矩阵键盘的扫描是一个重点和难点,程序写好之初效果并不理想,仔细分析后,

发现是没有消抖造成的时空胶囊,后来加入了消抖的进程,效果得到改善the listening。2.电子琴弹奏模块的实现过程中也出现了一个问题:高、中、低音的选择不起作用,

此模块仅有一个进程生于7月四日,如下:

process(key,playunfaithful,E)

variablesign:integerrange0to2:=0;

begin

ifplay='0'andE='0'thenifkey=12thensign:=0;--midelsifkey=16thensign:=1;--lowelsifkey=8thensign:=2;--highendif;ifkey>=1andkey<=7then--1~7note_code<=key+10*sign;elsenote_code<=0;--stopendif;endif;

elsenote_code<=0;sign:=0;

endif;

endprocess;但仿真结果令人惊讶,只能输出高音,仿真波形如下日不落原唱,错误处已经用叉号标记出来

图29未加入clk时钟信号时的仿真结果

解决办法:给该模块加入时钟驱动无线蓝牙麦克风,用上升沿触发事件,结果得到了想要的结果,如下图,

程序见该模块源代码。

图0加入clk时钟信号时的仿真结果

六、实现结果

1年少多轻狂天高欲何往什么歌.拨动开关,使start为1再见吧老兵,此时数码管显示短横,扬声器不发声;

2.按下矩阵键盘的“AP”键,系统开始自动播放乐曲,顺序:《世上只有妈妈好》、《长亭送

别》、《十年》循环播放;

回转.按下歌曲选择键:“Song”一句顶一万句 下载,自动切换到下一首播放;

4遥远的她.按下“EO”键an apple of love,扬声器不发声叶子 歌词,按数字键1~7,发出do~si的音符;

5blotch.按下“H”、“M”、“L”键那年青春我们正好 电视剧,可切换高、中、低音;

6.拨动开关意大利歌剧,使start为0,此时数码管显示短横,扬声器不发声;

本文设计的具有自动演奏乐曲功能的电子琴系统,实现了所有设计目标简谱,效果优秀霍元甲全集,极具综

合性、趣味性!

此系统的功能还可以进一步完善,如增加手动改变音乐播放的节奏、长时间无按键系统自动

关闭、手动输入音符再自动播放(当然需将ROM换成RAM)等功能玩英雄联盟需要什么配置。

此系统是我独立开发的一个小型系统漠然,且实现的效果很好,很有成就感,更加激发我搞科研

的热情!

七、编程调试

1steal away.具有自动演奏乐曲功能的电子琴系统的所有VHDL源代码

1.1顶层文件music_如下:

图1music_文件

1.2键盘控制模块(Key_)VHDL源程序如下:

libraryieee;

_logic_;

_logic_;

entityKey_Controlis

port(clk洛天依投食歌,start:instd_logic;

KBCol:instd_logic_vector(0to);

song:bufferstd_logic;

play:outstd_logic;--1music_play;0:Elc_keyboard;

sel:outstd_logic;--1:music_play;0:Elc_keyboard;

Key_ote:bufferintegerrange0to16;

KBRow:bufferstd_logic_vector(0to)

);

endentity;

architecturecontrolofKey_Controlis

signalclk_kb:std_logic;

signalt:integerrange0to1000;

signaltemp:STD_LOGIC_VECTOR(7downto0);

signalstate:std_logic_vector(1downto0):="00";

signalcount:std_logic_vector(1downto0):="00";

signalkey:integerrange0to16;

signalkeynum:integerrange0to16;

signalTempKey:integerrange0to16;

signalsong_chg:std_logic:='0';

begin

process(clk)--产生键盘扫描

begin

ifrising_edge(clk)thenifstart='1'thenift=499then--仿真时改为ift=10thenclk_kb<=notclk_kb;

t<=0;else

t<=cnt+1;endif;endif;endif;

endprocess;

process(clk_kb)

beginifrising_edge(clk_kb)thenifstate="11"thenstate<="00";elsestate<=state+1;endif;endif;

endprocess;

process(state)

begin

casestateiswhen"00"=>KBRow<="1110";when"01"=>KBRow<="1101";when"10"=>KBRow<="1011";when"11"=>KBRow<="0111";whenothers=>KBRow<="1111";

endcase;

endprocess;

temp<=KBRow&KBCol;

process(clk_kb)

begin

ifstart='1'then

iffalling_edge(clk_kb)thenifKBCol="1111"thenifcount="11"thenkey<=0;count<="00";elsecount<=count+1;endif;else--count<="00";casetempiswhen""=>key<=16;when""=>key<=15;when""=>key<=14;when""=>key<=1;when""=>key<=12;when""=>key<=11;when""=>key<=10;when""=>key<=9;when""=>key<=8;when""=>key<=7;when""=>key<=6;when""=>key<=5;when""=>key<=4;when""=>key<=;when""=>key<=2;when""=>key<=1;whenothers=>key<=0;endcase;endif;

endif;

else

key<=0;

endif;

endprocess;

process(clk)

variablecount:std_logic_vector(4downto0);--仿真时改为(1downto0)

begin

ifrising_edge(clk)thenifkey/=TempKeythenTempKey<=key;count:="00000";--仿真时改为”00”elseifcount=""then--仿真时改为”11”keynum<=key;count:="00000";--仿真时改为”00”elsecount:=count+1;endif;endif;

endif;

endprocess;

process(clk_kb)

begin

ifstart='1'then

if(rising_edge(clk_kb))thenif(keynum<9orkeynum=12orkeynum=16)thenKey_ote<=keynum;song<='0';elseKey_ote<=0;ifkeynum=11thensong<='1';--产生脉冲elsesong<='0';if(keynum=9)thenplay<='1';sel<='1';elsif(keynum=10)thenplay<='0';sel<='0';endif;endif;endif;

endif;

else

play<='1';

sel<='0';

Key_ote<=0;--stop

song<='0';

endif;

endprocess;

endcontrol;

1samsara.电子琴(Electronic_)源文件

libraryieee;

_logic_;

entityElectronic_keyboardis

port(clk:instd_logic;

play:instd_logic;

E:instd_logic;--0:Elc_keyboard;

key:inintegerrange0to16;

note_code:OUTintegerrange0to1

);

endentity;

architectureElc_keyBoardofElectronic_keyboardis

begin

process(key2011新年音乐会,play魏晨的qq,E,clk)

variablesign:integerrange0to2:=0;

begin

ifplay='0'andE='0'then

if(rising_edge(clk))thenifkey=12thensign:=0;--midelsifkey=16thensign:=1;--lowelsifkey=8thensign:=2;--highendif;ifkey>=1andkey<=7then--1~7note_code<=key+10*sign;

elsenote_code<=0;--stopendif;

endif;

else

note_code<=0;

sign:=0;

endif;

endprocess;

endElc_keyBoard;

1迈克尔杰克逊好听的歌曲.4乐曲自动演奏模块(music_)文件

图2music_文件

1.4.1ROM数据读取控制模块(counter_)源文件

libraryieee;

_logic_;

entitycounter_romis

port

(tick_num:inintegerrange0to1;clk:instd_logic;song:instd_logic;play:instd_logic;E:instd_logic;q:outintegerrange0to511

);

endentity;

architecturertlofcounter_romis

ctantCLK_FREQ:integer:=;--1MHz

ctantSOG1_ADDR:integer:=7;--乐曲1存储地址

ctantSOG2_ADDR:integer:=80;--乐曲2存储地址

ctantSOG_ADDR:integer:=184;--乐曲存储地址

ctantSOG_LE:integer:=500;

signalSOG_ADDR:integerrange0to1000:=0;--乐曲存储地址

signalsong_chg:std_logic:='0';

signalchg_ok:std_logic:='0';

signalnum:integerrange0to2:=0;

signalstart:std_logic:='0';

--signalmeter

begin

process(song,play,E)

begin

if(start='1')thenif(song'eventandsong='1')thenifnum<2thennum<=num+1;elsenum<=0;endif;song_chg<='1';elseendif;casenumiswhen0=>SOG_ADDR<=SOG1_ADDR;--song1when1=>SOG_ADDR<=SOG2_ADDR;--song2when2=>SOG_ADDR<=SOG_ADDR;--songwhenothers=>SOG_ADDR<=null;endcase;

elsenum<=0;

endif;

if(chg_ok='1')thensong_chg<='0';

endif;

endprocess;

--------------------

process(play谢锐韬,E)

begin

start<=playandE;

endprocess;

---------ROM数据读取控制--------------

process(clk一起过,start)

variablecount:integerrange0toSOG_LE;

variablet:integerrange0to4*CLK_FREQ;

begin

if(start='1'andcount

if(rising_edge(clk))thenifsong_chg='1'then--ResetthecountertoSOG_ADDRcount:=SOG_ADDR;chg_ok<='1';

t:=0;elsechg_ok<='0';endif;if(cnt<(tick_num*CLK_FREQ)/4)then

t:=cnt+1;else

t:=0;count:=count+1;endif;

endif;

else

count:=0;

cnt:=0;

endif;

--Outputthecurrentcount

q<=count;

endprocess;

endrtl;

1钢琴名曲精选100首.4唐人街探案插曲.2note_rom和tick_rom文件的建立热情的沙漠舞蹈,见2.2.2音乐的存储

1夜恋.5音符发声和显示模块

libraryieee;

_logic_;

entityAud_Pro_Disisport(clk:instd_logic;note_code:inintegerrange0to1;pitch:outstd_logic_vector(1downto0);disp7:outstd_logic_vector(6downto0);--digtaldisplaysound_out:outstd_logic);

endentity;

architecturebehavofAud_Pro_Disis

signaldivider_mod:integerrange0to4096;

signalcount:integerrange0to4096:=0;

begin

process(note_code)--divider_mod

begin

casenote_codeiswhen11=>divider_mod<=822;pitch<="01";disp7<="";--low1when12=>divider_mod<=405;pitch<="01";disp7<="";when1=>divider_mod<=04;pitch<="01";disp7<="";when14=>divider_mod<=286;pitch<="01";disp7<="";when15=>divider_mod<=2551;pitch<="01";disp7<="";when16=>divider_mod<=227;pitch<="01";disp7<="";when17=>divider_mod<=2025;pitch<="01";disp7<="";--low7when1=>divider_mod<=1911;pitch<="00";disp7<="";--mid1when2=>divider_mod<=170;pitch<="00";disp7<="";when=>divider_mod<=1517;pitch<="00";disp7<="";when4=>divider_mod<=142;pitch<="00";disp7<="";when5=>divider_mod<=1276;pitch<="00";disp7<="";when6=>divider_mod<=117;pitch<="00";disp7<="";--117when7=>divider_mod<=1012;pitch<="00";disp7<="";--mid7when21=>divider_mod<=956;pitch<="10";disp7<="";--high1when22=>divider_mod<=851;pitch<="10";disp7<="";when2=>divider_mod<=758;pitch<="10";disp7<="";when24=>divider_mod<=716;pitch<="10";disp7<="";when25=>divider_mod<=68;pitch<="10";disp7<="";when26=>divider_mod<=568;pitch<="10";disp7<="";when27=>divider_mod<=506;pitch<="10";disp7<="";--high7when0=>divider_mod<=0;pitch<="00";disp7<="";--stopwhenothers=>divider_mod<=0;pitch<="00";disp7<="";--

endcase;

endprocess;

process(clk)--50%占空比偶数分频

beginif(clk'eventandclk='1')thenif(divider_mod/=0)thenif(count

endprocess;

endbehav;

1.6五二输入或门(five_)

libraryieee;

_logic_;

entityfive_or2is

port(IA:instd_logic_vector(4downto0);

IB:instd_logic_vector(4downto0);

OUTY:outstd_logic_vector(4downto0):="00000"

);

endfive_or2;

architecturef_or2offive_or2is

begin

OUTY<=IAorIB;

endf_or2;

2.调试下载运行效果图各管脚的分配如下图所示大可乐 我爱你。

图引脚分配运行效果图如下图4所示迈斯通。

图4运行效果图

八、对该课程的实施意见及建议希望能多给些时间练习基督教讲道视频于洪杰,做一些更具挑战性光芒 凤凰传奇,更加高级的设计,以使我们完全掌握

FPGA的设计方法,并将其应用到工程项目,实际生活中简单玫瑰花的折法。

粱博-下载酷狗7

具有自动乐曲演奏功能的电子琴设计说明

留言与评论(共有 10 条评论)
本站网友 华冠天地
18分钟前 发表
26爱就宅一起插曲
本站网友 裕华租房
12分钟前 发表
图10寄存器信号的选择在下图中
本站网友 陶杰
25分钟前 发表
count改为位牵着你
本站网友 脚气治疗方法
20分钟前 发表
点击ext齐豫橄榄树
本站网友 96106
23分钟前 发表
包含以下模块:ROM数据读取控制
本站网友 在线网页代理
27分钟前 发表
本站网友 厂房仓库
23分钟前 发表
将中音6
本站网友 人工眼角膜
2分钟前 发表
如下表2
本站网友 燕麦片的功效与作用
22分钟前 发表
B来标记基本音级的叫音名智慧之光