




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 梁祝 電子琴程序LIBRARY IEEE; - 硬件演奏電路頂層設(shè)計(jì)USE IEEE.STD_LOGIC_1164.ALL;ENTITY Songer IS PORT (
2、 CLK12MHZ : IN STD_LOGIC; -音調(diào)頻率信號 CLK8HZ : IN STD_LOGIC;
3、0; -節(jié)拍頻率信號 CODE1 : OUT STD_LOGIC_VECTOR (3 DOWNTO 0);- 簡譜碼輸出顯示
4、0; HIGH1 : OUT STD_LOGIC; -高8度指示 SPKOUT : OUT STD_LOGIC );-聲音輸出 END;ARCHITECTURE one OF Songer IS COMPONENT NoteTabs PORT ( clk : IN STD_LOGIC;
5、160; ToneIndex : OUT STD_LOGIC_VECTOR (3 DOWNTO 0) ); END COMPONENT; COMPONENT ToneTaba PORT ( Index : IN STD_LOGIC_VECTOR (3 DOWNTO 0) ; &
6、#160; CODE : OUT STD_LOGIC_VECTOR (3 DOWNTO 0) ; HIGH : OUT STD_LOGIC; T
7、one : OUT STD_LOGIC_VECTOR (10 DOWNTO 0) ); END COMPONENT; COMPONENT Speakera PORT ( clk : IN STD_LOGIC; Ton
8、e : IN STD_LOGIC_VECTOR (10 DOWNTO 0); SpkS : OUT STD_LOGIC ); END COMPONENT; SIGNAL Tone : STD_LOGIC_VECTOR (10 DOWNTO 0); SIGNAL ToneIndex : STD_LOG
9、IC_VECTOR (3 DOWNTO 0); BEGINu1 : NoteTabs PORT MAP (clk=>CLK8HZ, ToneIndex=>ToneIndex);u2 : ToneTaba PORT MAP (Index=>ToneIndex,Tone=>Tone,CODE=>CODE1,HIGH=>HIGH1);u3 : Speakera PORT MAP(clk=>CLK12MHZ,Tone=>Tone, SpkS=>SPKOUT );END; 1 / 14LIBRARY IEE
10、E;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY NoteTabs ISPORT ( clk : IN STD_LOGIC; ToneIndex : OUT STD_LOGIC_VECTOR (3 DOWNTO 0) );END;ARCHITECTURE one OF NoteTabs ISCOMPONENT MUSIC
11、; -音符數(shù)據(jù)ROM PORT(address : IN STD_LOGIC_VECTOR (7 DOWNTO 0); inclock : IN STD_LOGIC ; q : OUT STD_LOGIC_VECTOR (3 DOWNTO 0);END COMPONENT; SIGNAL Counter : ST
12、D_LOGIC_VECTOR (7 DOWNTO 0);BEGIN CNT8 : PROCESS(clk, Counter) BEGIN IF Counter=138 THEN Counter <= "00000000" ELSIF (clk'EVENT AND clk = '1') THEN C
13、ounter <= Counter+1; END IF; END PROCESS; u1 : MUSIC PORT MAP(address=>Counter , q=>ToneIndex, inclock=>clk); END;LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY Speakera ISPORT ( clk : IN STD_LOGIC;
14、; Tone : IN STD_LOGIC_VECTOR (10 DOWNTO 0); SpkS : OUT STD_LOGIC );END Speakera;ARCHITECTURE one OF Speakera IS SIGNAL PreCLK, FullSpkS : STD_LO
15、GIC;BEGIN DivideCLK : PROCESS(clk) VARIABLE Count4 : STD_LOGIC_VECTOR (3 DOWNTO 0) ; BEGIN PreCLK <= '0' - 將CLK進(jìn)行16分頻,PreCLK為CLK的16分頻 &
16、#160; IF Count4>11 THEN PreCLK <= '1' Count4 := "0000" ELSIF clk'EVENT AND clk = '1' THEN Count4 := Count4 + 1; END IF; END PR
17、OCESS; GenSpkS : PROCESS(PreCLK, Tone)- 11位可預(yù)置計(jì)數(shù)器 VARIABLE Count11 : STD_LOGIC_VECTOR (10 DOWNTO 0);BEGIN IF PreCLK'EVENT AND PreCLK = '1' THEN IF Count11 = 16#7F
18、F# THEN Count11 := Tone ; FullSpkS <= '1' ELSE Count11 := Count11 + 1; FullSpkS <= '0' END IF; END IF; END PROCESS; DelaySpkS : PROCESS(FullSpkS)-將
19、輸出再2分頻,展寬脈沖,使揚(yáng)聲器有足夠功率發(fā)音 VARIABLE Count2 : STD_LOGIC;BEGIN IF FullSpkS'EVENT AND FullSpkS = '1' THEN Count2 := NOT Count2; IF Count2 = '1' THEN
20、 SpkS <= '1' ELSE SpkS <= '0' END IF; END IF; END PROCESS;END; LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY ToneTaba ISPORT ( Index :
21、; IN STD_LOGIC_VECTOR (3 DOWNTO 0) ; CODE : OUT STD_LOGIC_VECTOR (3 DOWNTO 0) ; HIGH : OUT STD_LOGIC; &
22、#160; Tone : OUT STD_LOGIC_VECTOR (10 DOWNTO 0) );END;ARCHITECTURE one OF ToneTaba ISBEGIN Search : PROCESS(Index) BEGIN CASE Index IS - 譯碼電路,查表方式,控制音調(diào)的預(yù)置數(shù)WHEN "0000" => Ton
23、e<="11111111111" ; CODE<="0000" HIGH <='0'- 2047 WHEN "0001" => Tone<="01100000101" ; CODE<="0001" HIGH <='0'- 773; WHEN "0010" => Tone<="01110010000" ; CODE<=&
24、quot;0010" HIGH <='0'- 912; WHEN "0011" => Tone<="10000001100" ; CODE<="0011" HIGH <='0'-1036; WHEN "0101" => Tone<="10010101101" ; CODE<="0101" HIGH <='0'-1197
25、; WHEN "0110" => Tone<="10100001010" ; CODE<="0110" HIGH <='0'-1290; WHEN "0111" => Tone<="10101011100" ; CODE<="0111" HIGH <='0'-1372; WHEN "1000" =>
26、Tone<="10110000010" ; CODE<="0001" HIGH <='1'-1410; WHEN "1001" => Tone<="10111001000" ; CODE<="0010" HIGH <='1'-1480; WHEN "1010" => Tone<="11000000110" ; CODE<
27、;="0011" HIGH <='1'-1542; WHEN "1100" => Tone<="11001010110" ; CODE<="0101" HIGH <='1'-1622; WHEN "1101" => Tone<="11010000100" ; CODE<="0110" HIGH <='1'-1
28、668; WHEN "1111" => Tone<="11011000000" ; CODE<="0001" HIGH <='1'-1728; WHEN OTHERS => NULL; END CASE; END PROCESS;END; - Copyright (C) 1991-2006 Altera Corporation- Your use of Altera Cor
29、poration's design tools, logic functions- and other software and tools, and its AMPP partner logic- functions, and any output files any of the foregoing- (including device programming or simulation files), and any- associated documentation or information are expressly subject- to the terms and c
30、onditions of the Altera Program License- Subscription Agreement, Altera MegaCore Function License- Agreement, or other applicable license agreement, including,- without limitation, that your use is for the sole purpose of- programming logic devices manufactured by Altera and sold by- Altera or its a
31、uthorized distributors. Please refer to the- applicable agreement for further details.- Quartus II generated Memory Initialization File (.mif)WIDTH=4;DEPTH=256;ADDRESS_RADIX=UNS;DATA_RADIX=UNS;CONTENT BEGIN 00: 3; 01: 3; 02: 3; 03: 3; 04: 5; 05: 5; 06: 5;
32、0;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; 20:13 ; 21:12 ; 22:10 ; 23:12; 24: 9; 25: 9; 26: 9; 27: 9; 28: 9; 29: 9; 3
33、0: 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; 50: 8 ; 51: 8 ; 52: 6 ; 53:
34、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; 70: 9 ; 71: 9 ; 72: 6 ; 73: 8; 74: 5; 75: 5; 76: 5; 77: 5;
35、0;78: 5; 79: 5; 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; 100:12 ; 101:12 ;
36、102:12 ; 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; 120: 6 ; 121: 8 ; 122: 6 ; 123: 5; 124: 3;
37、 125: 5; 126: 6; 127: 8; 128: 5; 129: 5; 130: 5 ; 131: 5 ; 132: 5 ; 133: 5; 134: 5; 135: 5; 136: 0; 137: 0; 138: 0;END;Tone源程序-TONELIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY TONE IS
38、160; -引導(dǎo)TONE 的子模塊實(shí)體部分PORT(INDEX:IN STD_LOGIC_VECTOR(7 DOWNTO 0); -鍵盤輸入 CODE:OUT INTEGER RANGE 0 TO 15;-輸出對應(yīng)的輸入音階簡譜的顯示數(shù)碼 HIGH:OUT STD_LOGIC
39、; TONE:OUT INTEGER RANGE 0 TO 16#7FF#); END;ARCHITECTURE ONE OF TONE ISBEGIN -BEGIN以下直到END為該模塊的功能描述語句 SENRCH: PROCESS(INDEX)BEGIN CASE INDEX IS
40、160; -譯碼電路,查表方式,控制音調(diào)的預(yù)置數(shù) WHEN "00000001"=>TONE<=773;CODE<=1;HIGH<='0' WHEN "00000010"=>TONE<=912;CODE<=2;HI
41、GH<='0' WHEN "00000100"=>TONE<=1036;CODE<=3;HIGH<='0' WHEN "00001000"=>TONE<=1116;CODE<=4;HIGH<='0'
42、60; WHEN "00010000"=>TONE<=1197;CODE<=5;HIGH<='0' WHEN "00100000"=>TONE<=1290;CODE<=6;HIGH<='0' &
43、#160; WHEN "01000000"=>TONE<=1372;CODE<=7;HIGH<='0' WHEN "10000000"=>TONE<=1410;CODE<=1;HIGH<='1' WHEN
44、 OTHERS=>TONE<=2047;CODE<=0;HIGH<='0' END CASE; END PROCESS; -進(jìn)程語句結(jié)束END; Speaker源程序-SPEAKERLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY SPEAKER ISPORT(CLK1:IN STD_LOGIC;
45、160; - 輸入時鐘脈沖 TONE1:IN INTEGER RANGE 0 TO 16#7FF#; SPKS:OUT STD_LOGIC);END;ARCHITECTURE ONE OF SPEAKER ISSIGNAL PRECLK,FULLSPKS:STD_LOGIC;BEGINDIVIDECLK:PROCESS(CLK1)VARIABLE COUNT4:INTEGER RANGE 0 TO 15;BEGIN PRECLK<=&
46、#39;0' -將CLK進(jìn)行16分頻,PRECLK為CLK的16分頻 IF COUNT4>11 THEN -開始IF語句 PRECLK<='1'
47、 COUNT4:=0; ELSIF CLK1'EVENT AND CLK1='1' THEN COUNT4:=COUNT4+1; END IF; -IF語句結(jié)束END PROCESS;GENSPKS:PROCESS(PRECLK,TONE1)
48、; -11位可預(yù)置計(jì)數(shù)器VARIABLE COUNT11:INTEGER RANGE 0 TO 16#7FF#;BEGIN IF PRECLK'EVENT AND PRECLK='1' THEN IF COUNT11=16#7FF# THEN COUNT11:=TONE1; &
49、#160; FULLSPKS<='1' ELSE COUNT11:=COUNT11+1; FULLSPKS<='0' END IF;
50、160; -IF語句結(jié)束 END IF;END PROCESS;DELAYSPKS:PROCESS(FULLSPKS) -將輸出再二分頻,展寬脈沖,使揚(yáng)聲器有足夠的功率發(fā)音VARIABLE COUNT2:STD_LOGIC;BEGIN IF FULLSPKS'EVENT AND FULLSPKS='1' THEN
51、; COUNT2:=NOT COUNT2; IF COUNT2='1' THEN SPKS<='1' ELSE SPKS<='0' END IF; END IF;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 民航安全技術(shù)管理專業(yè)教學(xué)標(biāo)準(zhǔn)(高等職業(yè)教育??疲?025修訂
- 2025年中國聚合丁苯橡膠(SSBR)行業(yè)市場全景分析及前景機(jī)遇研判報(bào)告
- 心理咨詢案例培訓(xùn)課件
- 中國飛行模擬器行業(yè)市場發(fā)展現(xiàn)狀及前景趨勢與投資分析研究報(bào)告(2024-2030)
- 全自動凝膠成像系統(tǒng)行業(yè)深度研究分析報(bào)告(2024-2030版)
- 法治大培訓(xùn)課件
- 2025年中國蕪菁種植行業(yè)市場運(yùn)行現(xiàn)狀及投資戰(zhàn)略研究報(bào)告
- 中試總結(jié)報(bào)告范文
- 2025年 無錫市工會社會工作者招聘考試筆試試題附答案
- 2025年 聊城東昌府區(qū)事業(yè)單位青人才引進(jìn)考試試題附答案
- JT-T-795-2011事故汽車修復(fù)技術(shù)規(guī)范
- JBT 10437-2024 電線電纜用可交聯(lián)聚乙烯絕緣料(正式版)
- 初中數(shù)學(xué)教育教學(xué)案例(3篇模板)
- DZ∕T 0289-2015 區(qū)域生態(tài)地球化學(xué)評價(jià)規(guī)范(正式版)
- 《祝?!氛n件 統(tǒng)編版高中語文必修下冊
- 《技術(shù)成果投資入股個人所得稅遞延納稅備案表》
- MOOC 油氣田應(yīng)用化學(xué)-西南石油大學(xué) 中國大學(xué)慕課答案
- 《HSK標(biāo)準(zhǔn)教程4上》第4課自用課件
- 七年級數(shù)學(xué)下冊期中測試卷(完整)
- 智慧消防建設(shè)投標(biāo)方案(技術(shù)方案)
- 罐體吊裝施工方案
評論
0/150
提交評論