乐曲演奏电路ppt课件.ppt

上传人:豆**** 文档编号:57170521 上传时间:2022-11-04 格式:PPT 页数:10 大小:382.50KB
返回 下载 相关 举报
乐曲演奏电路ppt课件.ppt_第1页
第1页 / 共10页
乐曲演奏电路ppt课件.ppt_第2页
第2页 / 共10页
点击查看更多>>
资源描述

《乐曲演奏电路ppt课件.ppt》由会员分享,可在线阅读,更多相关《乐曲演奏电路ppt课件.ppt(10页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、乐曲演奏电路ppt课件 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望乐曲演奏电路结构乐曲演奏电路结构NoteTabsNoteTabsClk ToneIndexClk ToneIndexToneTabaToneTaba HIGH HIGHIndex CODEIndex CODE Tone ToneSpeakeraSpeakeraTone SpkSTone SpkSClk Clk 12MHz12MHz4Hz4HzU1U1U2U2U3U3LIBRARY IEEE;LI

2、BRARY IEEE;USE IEEE.STD_LODIC_1164.ALL;USE IEEE.STD_LODIC_1164.ALL;ENTITY Songer ISENTITY Songer IS PORT(clk12MHz PORT(clk12MHz,clk4Hz:IN STD_LOGIC;clk4Hz:IN STD_LOGIC;CODE1:OUT STD_LOGIC_VECTOR(3 DOWNTO 0)CODE1:OUT STD_LOGIC_VECTOR(3 DOWNTO 0)HIGH1 HIGH1,SPKOUT:OUT STD_LOGIC);SPKOUT:OUT STD_LOGIC);

3、END;END;ARCHITECTURE one OF Songer ISARCHITECTURE one OF Songer IS COMPONENT COMPONENT NoteTabsNoteTabs PORT(clk:IN STD_LOGIC;PORT(clk:IN STD_LOGIC;ToneIndex:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);ToneIndex:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END COMPONENT;END COMPONENT;COMPONENT COMPONENT ToneTabaToneTaba P

4、ORT(Index:IN STD_LOGIC _VECTOR(3 DOWNTO 0);PORT(Index:IN STD_LOGIC _VECTOR(3 DOWNTO 0);CODE CODE:OUT STD_LOGIC_VECTOR(3 DOWNTO 0)OUT STD_LOGIC_VECTOR(3 DOWNTO 0);HIGH HIGH :OUT STD_LOGIC OUT STD_LOGIC;Tone :OUT STD_LOGIC_VECTOR(10 DOWNTO 0);Tone :OUT STD_LOGIC_VECTOR(10 DOWNTO 0);END COMPONENT;END C

5、OMPONENT;COMPONENT COMPONENT SpeakeraSpeakera PORT(clk:IN STD_LOGIC;PORT(clk:IN STD_LOGIC;Tone:IN STD_LOGIC_VECTOR(10 DOWNTO 0)Tone:IN STD_LOGIC_VECTOR(10 DOWNTO 0);Spks Spks:OUT STD_LOGIC);OUT STD_LOGIC);END COMPONENT;END COMPONENT;SIGNAL SIGNAL ToneTone:STD_LOGIC_VECTOR(10 DOWNTO 0);:STD_LOGIC_VEC

6、TOR(10 DOWNTO 0);SIGNAL SIGNAL ToneIndexToneIndex:STD_LOGIC_VECTOR(3 DOWNTO 0);:STD_LOGIC_VECTOR(3 DOWNTO 0);顶层结构描述顶层结构描述BEGINBEGIN u1 u1:NoteTabsNoteTabs PORT MAP(clk=clk4Hz PORT MAP(clk=clk4Hz,ToneIndex=ToneIndex=ToneIndexToneIndex););u2 u2:ToneTabaToneTaba PORT MAP(Index=PORT MAP(Index=ToneIndexT

7、oneIndex,Tone=Tone=ToneTone,CODE=CODE1CODE=CODE1,HIGH=HIGH1);HIGH=HIGH1);u3u3:SpeakeraSpeakera PORT MAP(clk=clk12MHz PORT MAP(clk=clk12MHz,Tone=Tone=Tone Tone,Spks=SPKOUT);Spks=SPKOUT);END;END;NoteTabsCNT8CNT8CLK CounterCLK CounterMUSICMUSICaddress qaddress qinclock inclock ToneIndexToneIndexclkclkL

8、PM_ROMLPM_ROM 计数器,计数器,计数器,计数器,0 0 138138计数。产生计数。产生计数。产生计数。产生ROMROM地址。地址。地址。地址。0.25 0.25秒为四四拍的秒为四四拍的秒为四四拍的秒为四四拍的4 4分音符分音符分音符分音符持续持续持续持续时间,确定时间,确定时间,确定时间,确定为乐曲的基本节奏单元。为乐曲的基本节奏单元。为乐曲的基本节奏单元。为乐曲的基本节奏单元。4Hz4Hz 用用用用LPM_ROMLPM_ROM定制定制定制定制MUSICMUSIC。乐乐谱谱LIBRARY IEEE;LIBRARY IEEE;USE IEEE.STD_LODIC_1164.ALL;

9、USE IEEE.STD_LODIC_1164.ALL;USE IEEE.STD_LODIC_UNSIGNED.ALL;USE IEEE.STD_LODIC_UNSIGNED.ALL;ENTITY NoteTabs ISENTITY NoteTabs IS PORT(clk:IN STD_LOGIC;PORT(clk:IN STD_LOGIC;ToneIndex:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);ToneIndex:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END;END;ARCHITECTURE one OF NoteTabs ISAR

10、CHITECTURE one OF NoteTabs IS COMPONENT COMPONENT MUSICMUSIC -音符数据音符数据音符数据音符数据ROMROM PORT(address:IN STD_LOGIC_VECTOE(7 DOWNTO 0);PORT(address:IN STD_LOGIC_VECTOE(7 DOWNTO 0);inclock:IN STD_LOGIC;inclock:IN STD_LOGIC;q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END COMPONENT

11、;END COMPONENT;SIGNAL Counter:STD_LOGIC_VECTOR(7 DOWNTO 0);SIGNAL Counter:STD_LOGIC_VECTOR(7 DOWNTO 0);BEGINBEGIN CNT8CNT8:PROCESS(clk):PROCESS(clk)BEGIN BEGIN IF Counter=138 THEN Counter=00000000;IF Counter=138 THEN Counter=00000000;ELSIF(clkENVENT AND clk=1)THEN Counter=Counter+1;END IF;ELSIF(clkE

12、NVENT AND clk=1)THEN CounterCounter,q=ToneIndex,inclock=clk);PORT MAP(address=Counter,q=ToneIndex,inclock=clk);END;END;-MUSIC.MIFMUSIC.MIF文件文件文件文件WIDTH=4;-WIDTH=4;-乐曲演奏数据乐曲演奏数据乐曲演奏数据乐曲演奏数据DEPTH=256;DEPTH=256;ADDRESS_RADIX=DEC;ADDRESS_RADIX=DEC;DATA_RADIX=DEC;DATA_RADIX=DEC;CONTENT BEGIN -CONTENT BEG

13、IN -注意实用文件中要展开一下数据,每一组占一行注意实用文件中要展开一下数据,每一组占一行注意实用文件中要展开一下数据,每一组占一行注意实用文件中要展开一下数据,每一组占一行00:3;01:3;02:3;03:3;04:5;05:5;06:5;07:6;08:8;09:8;00:3;01:3;02:3;03:3;04:5;05:5;06:5;07:6;08:8;09:8;10:8;11:9;12:6;13:8;14:5;15:5;16:12;17:12;18:12;19:15;10:8;11:9;12:6;13:8;14:5;15:5;16:12;17:12;18:12;19:15;20:1

14、3;21:12;22:10;23:12;24:9;25:9;26:9;27:9;28:9;29:9;20:13;21:12;22:10;23:12;24:9;25:9;26:9;27:9;28:9;29:9;30:9;31:0;32:9;33:9;34:9;35:10;36:7;37:7;38:6;39:6;30:9;31:0;32:9;33:9;34:9;35:10;36:7;37:7;38:6;39:6;40:5;41:5;42:5;43:6;44:8;45:8;46:9;47:9;48:3;49:3;40:5;41:5;42:5;43:6;44:8;45:8;46:9;47:9;48:3

15、;49:3;50:8;51:8;52:6;53:5;54:6;55:8;56:5;57:5;58:5;59:5;50:8;51:8;52:6;53:5;54:6;55:8;56:5;57:5;58:5;59:5;60:5;61:5;62:5;63:5;64:10;65:10;66:10;67:12;68:7;69:7;60:5;61:5;62:5;63:5;64:10;65:10;66:10;67:12;68:7;69:7;70:9;71:9;72:6;73:8;74:5;75:5;76:5;77:5;78:5;79:5;70:9;71:9;72:6;73:8;74:5;75:5;76:5;7

16、7:5;78:5;79:5;80:3;81:5;82:3;83:3;84:5;85:6;86:7;87:9;88:6;89:6;80:3;81:5;82:3;83:3;84:5;85:6;86:7;87:9;88:6;89:6;90:6;91:6;92:6;93:6;94:5;95:6;96:8;97:8;98:8;99:9;90:6;91:6;92:6;93:6;94:5;95:6;96:8;97:8;98:8;99:9;100:12;101:12;102:12;103:10;104:9;105:9;106:10;107:9;108:8;109:8;100:12;101:12;102:12;

17、103:10;104:9;105:9;106:10;107:9;108:8;109:8;110:6;111:5;112:3;113:3;114:3;115:3;116:8;117:8;118:8;119:8;110:6;111:5;112:3;113:3;114:3;115:3;116:8;117:8;118:8;119:8;120:6;121:8;122:6;123:5;124:3;125:5;126:6;127:8;128:5;129:5;120:6;121:8;122:6;123:5;124:3;125:5;126:6;127:8;128:5;129:5;130:5;131:5;132:

18、5;133:5;134:5;135:5;136:0;137:0;138:0;130:5;131:5;132:5;133:5;134:5;135:5;136:0;137:0;138:0;END;END;NoteTabs模块设计模块设计音音音音符符符符编编编编码码码码1 12 23 34 45 56 67 7低低低低8 89 910101111121213131414中中中中1515高高高高音音音音符符符符1 12 23 34 45 56 67 7ToneTaba HIGH HIGHIndex CODEIndex CODE Tone Tone 乐谱译码输出乐谱译码输出乐谱译码输出乐谱译码输出音调显

19、示音调显示音调显示音调显示高低音指示高低音指示高低音指示高低音指示乐谱输入乐谱输入乐谱输入乐谱输入LIBRARY IEEE;LIBRARY IEEE;USE IEEE.STD_LODIC_1164.ALL;USE IEEE.STD_LODIC_1164.ALL;ENTITY ToneTaba ISENTITY ToneTaba IS PORT(Index:IN STD_LOGIC_VECTOR(3 DOWNTO 0);PORT(Index:IN STD_LOGIC_VECTOR(3 DOWNTO 0);CODE:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);CODE:OUT

20、 STD_LOGIC_VECTOR(3 DOWNTO 0);HIGH:OUT STD_LOGIC;HIGH:OUT STD_LOGIC;Tone:OUT STD_LOGIC_VECTOR(10 DOWNTO 0);Tone:OUT STD_LOGIC_VECTOR(10 DOWNTO 0);END;END;ARCHITECTURE one OF ToneTaba ISARCHITECTURE one OF ToneTaba ISBEGINBEGIN Search:PROCESS(Index)Search:PROCESS(Index)BEGIN BEGIN CASE Index IS -CASE

21、 Index IS -译码电路,查表方式,控制音调的预置数译码电路,查表方式,控制音调的预置数译码电路,查表方式,控制音调的预置数译码电路,查表方式,控制音调的预置数 WHEN0000=Tone=11111111111;CODE=0000;HIGHTone=11111111111;CODE=0000;HIGHTone=01100000101;CODE=0001;HIGHTone=01100000101;CODE=0001;HIGHTone=01110010000;CODE=0010;HIGHTone=01110010000;CODE=0010;HIGHTone=10000001100;CODE

22、=0011;HIGHTone=10000001100;CODE=0011;HIGHTone=10010101101;CODE=0101;HIGHTone=10010101101;CODE=0101;HIGHTone=10100001010;CODE=0110;HIGHTone=10100001010;CODE=0110;HIGHTone=10101011100;CODE=0111;HIGHTone=10101011100;CODE=0111;HIGHTone=10110000010;CODE=0001;HIGHTone=10110000010;CODE=0001;HIGHTone=101110

23、01000;CODE=0010;HIGHTone=10111001000;CODE=0010;HIGHTone=11000000110;CODE=0011;HIGHTone=11000000110;CODE=0011;HIGHTone=11001010110;CODE=0101;HIGHTone=11001010110;CODE=0101;HIGHTone=11010000100;CODE=0110;HIGHTone=11010000100;CODE=0110;HIGHTone=11011000000;CODE=0001;HIGHTone=11011000000;CODE=0001;HIGHN

24、ULL;WHEN OTHERS=NULL;END CASE;END CASE;END PROCESS;END PROCESS;END;END;ToneTaba模块设计模块设计低音低音低音低音“1”“1”:785Hz785Hz,对,对,对,对1MHz1MHz时钟需时钟需时钟需时钟需12741274分频。分频。分频。分频。中音中音中音中音“1”“1”:1570Hz1570Hz,对,对,对,对1MHz1MHz时钟需时钟需时钟需时钟需637637分频。分频。分频。分频。高音高音高音高音“1”“1”:3135Hz3135Hz,对,对,对,对1MHz1MHz时钟需时钟需时钟需时钟需319319分频。分频。

25、分频。分频。SpeakeraDivideCLKDivideCLKCLK PreCLKCLK PreCLKGenSpkSGenSpkSPreCLK FullSpkSPreCLK FullSpkSTone Tone DelaySpkSDelaySpkSSpkS FullSpkSSpkS FullSpkS12MHz12MHzToneToneSpkSSpkS1111位可预置计数位可预置计数位可预置计数位可预置计数器,器,器,器,ToneTone为预置为预置为预置为预置数据输入端口。数据输入端口。数据输入端口。数据输入端口。1212分频器。分频器。分频器。分频器。1MHz1MHz。Speakera模块设

26、计模块设计LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY Speakera IS PORT(clk:IN STD_LOGIC;Tone:IN STD_LOGIC_VECTOR(10 DOWNTO 0);SpkS:OUT STD_LOGIC);END;ARCHITECTURE one OF Speakera IS SIGNAL PreCLK,FullSpkS:STD_LOGIC;BEGIN DivideCLK:PROCESS(clk)VARIABLE Count4:STD_LOGIC_

27、VECTOR(3 DOWNTO 0);BEGIN PreCLK11 THEN PreCLK=1;Count4:=0000;ELSIF clkEVENT AND clk=1 THEN Count4:=Count4+1;END IF;END PROCESS;GenSpkS:PROCESS(PreCLK,Tone)-11位可预置计数器位可预置计数器 VARIABLE Count11:STD_LOGIC_VECTOR(10 DOWNTO 0);BEGIN IF PreCLKENVENT AND PreCLK=1 THEN IF Count11=16#7FF#THEN Count11:=Tone;Ful

28、lSpkS=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;一个音调要放出多一个音调要放出多一个音调要放出多一个音调要放出多少节拍,这取决于少节拍,这取决于少节拍,这取决于少节拍,这取决于ToneTone端口的音调预端口的音调预端口的音调预端口的音调预置数持续的时间。置数持续的时间。置数持续的时间。置数持续的时间。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com