版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、簡(jiǎn)易電子琴實(shí)驗(yàn)報(bào)告綜合設(shè)計(jì): 程序編寫: 實(shí)驗(yàn)報(bào)告撰寫:北京郵電大學(xué) 計(jì)算機(jī)學(xué)院 某人 一實(shí)驗(yàn)?zāi)康?.掌握較復(fù)雜邏輯的設(shè)計(jì)和調(diào)試。2.掌握用VHDL語言設(shè)計(jì)數(shù)字邏輯電路。3.掌握ispLEVER軟件的使用方法。4.掌握ISP器件的使用。5.用途: 有電子琴的基本功能,可彈奏出簡(jiǎn)單的樂曲。二實(shí)驗(yàn)器材1.在系統(tǒng)可編程邏輯器件1032E2.示波器3.邏輯測(cè)試筆4.TEC-5實(shí)驗(yàn)系統(tǒng)三實(shí)驗(yàn)內(nèi)容設(shè)計(jì)一個(gè)簡(jiǎn)易電子琴,有兩種模式,既可以音階彈奏,也可以自動(dòng)播放樂曲。要求音階彈奏的時(shí)候,可以彈奏高音低音一共14個(gè)不同音符,自動(dòng)播放樂曲的時(shí)候,要求可以按一定節(jié)奏自動(dòng)播放一首預(yù)存在系統(tǒng)中的樂曲。四實(shí)驗(yàn)設(shè)計(jì)原理從試
2、驗(yàn)系統(tǒng)外部接入一個(gè)時(shí)鐘信號(hào),對(duì)時(shí)鐘信號(hào)進(jìn)行分頻,可以得到不同分頻的脈沖信號(hào)。當(dāng)這個(gè)分頻值設(shè)定為一定的數(shù)值時(shí),就可以使試驗(yàn)系統(tǒng)的喇叭發(fā)出不同的音符,從而完成音階演奏。自動(dòng)演奏時(shí),除了對(duì)外部時(shí)鐘進(jìn)行分頻得到不同的音符外,還需要通過時(shí)鐘信號(hào)對(duì)節(jié)拍進(jìn)行控制,設(shè)置該音樂最短的音符為基本單位,一步一步往后執(zhí)行,根據(jù)某個(gè)音符的節(jié)拍數(shù)來確定執(zhí)行時(shí)間,從而可以按照節(jié)奏將一段音樂自動(dòng)演奏出來。五設(shè)計(jì)方案1.一共有14個(gè)琴鍵,表示中音的1-7到低音的1-7,按照電子琴的排列布局來安排琴鍵位置。2根據(jù)不同音符的頻率,用多模計(jì)數(shù)器對(duì)時(shí)鐘信號(hào)進(jìn)行分頻,得到特定的脈沖信號(hào),為了使信號(hào)穩(wěn)定,需要對(duì)其進(jìn)行翻轉(zhuǎn)得到2分頻信號(hào)再輸
3、出。3.綜合原理圖4.外部輸入50kHz的時(shí)鐘信號(hào),根據(jù)下表用多模計(jì)數(shù)器對(duì)時(shí)鐘信號(hào)進(jìn)行分頻,得到分頻系數(shù)。低音部分音符 (C)1234567頻率(Hz)262294330349392440494模191170151143128114101高音部分音符 (C)1234567頻率(Hz)5205816586947818931000模96867672645650六程序?qū)崿F(xiàn)*實(shí)體部分*library ieee;use ieee.std_logic_1164.all;use ;use ;entity Orgen is port ( moderm:in std_logic;-模式選擇,0為音階自演奏模式,
4、1為自動(dòng)播放模式 clk:in std_logic;-時(shí)鐘信號(hào) Index:in std_logic_vector(13 downto 0);-琴鍵選擇信號(hào),1表示選擇摸個(gè)琴鍵,共有14個(gè)琴鍵,可以選擇14個(gè)音,分別是低音1-7和中音1-7 Code:out std_logic_vector(6 downto 0);-七段發(fā)光二極管編碼,用于顯示彈奏的音符 high:out std_logic;-如果是中音,小燈亮,反之不亮 tone0:inout integer range 0 to 2047;-分頻系數(shù) result:inout std_logic-輸出音頻信號(hào) );end Orgen;*
5、結(jié)構(gòu)體部分*architecture Orgen_Player of Orgen is-程序使用的是50kHz的時(shí)鐘信號(hào)begin Search:process(Index,clk,moderm)-Search進(jìn)程,根據(jù)琴鍵選擇信號(hào)得到不同的分頻系數(shù) variable step:integer range 0 to 2000; variable count2:integer range 0 to 2000;begin*音階演奏模式部分* if Moderm=0 then-手動(dòng)音階演奏模式 case Index is when 00000000000001= tone0=96;Code=0000
6、110;high tone0=85;Code=1011011;high tone0=76;Code=1001111;high tone0=72;Code=1100110;high tone0=64;Code=1101101;high tone0=57;Code=1111101;high tone0=51;Code=0000111;high tone0=48;Code=0000110;high tone0=43;Code=1011011;high tone0=38;Code=1001111;high tone0=0;Code=0000000;high=0;-根據(jù)不同的琴鍵信號(hào),分配了不同的分頻系
7、數(shù),為不同音名的發(fā)光二極管編碼,同時(shí)調(diào)整高低音顯示信號(hào) end case; end if; *自動(dòng)演奏部分* if (moderm=1) and (clkevent and clk=1) then-自動(dòng)演奏模式 -tone0=0;-從手動(dòng)音階模式切換到自動(dòng)演奏模式,首先將tone0變?yōu)?,防止影響 if count2 tone0 tone0 tone0 tone0 tone0 tone0 tone0 tone0 tone0 tone0 tone0 tone0 tone0 tone0 tone0 tone0=57; step:=step+1;-step不同,表示樂曲演奏到不同的位置,賦予不同的分
8、頻系數(shù),然后step+1 end case; end if; end if;end process;*發(fā)生進(jìn)程,控制喇叭發(fā)聲* Made_Code:process(clk)-發(fā)聲進(jìn)程,發(fā)出不同的音頻 variable count1:integer range 0 to 2000; begin if clkevent and clk=1 then if count1tone0 then count1:=count1+1;-事先查好每個(gè)音名的頻率,根據(jù)音頻系數(shù)進(jìn)行分頻,得到是正確頻率兩倍的音 else count1:=0; result=not result;-對(duì)得到的音頻再進(jìn)行2分頻,得到穩(wěn)定的
9、正確的音頻信號(hào) end if; end if; end process; end Orgen_Player;七基于QuartusII9.0的仿真實(shí)現(xiàn)1.仿真電路圖2.仿真波形圖八基于TEC-5試驗(yàn)系統(tǒng)的實(shí)現(xiàn)效果1.音階模式下,可以根據(jù)琴鍵的輸入演奏低音1-7和中音1-7一共14個(gè)音符。2.自動(dòng)演奏模式下,可以自動(dòng)演奏事先存入的一段音樂閃爍小星星的片段。3.演奏不同的音符時(shí),數(shù)碼顯示管會(huì)顯示不同的音符,同時(shí)用一個(gè)信號(hào)等表示是中音還是低音。九實(shí)驗(yàn)中出現(xiàn)的問題以及解決方法1.由于分頻信號(hào)采用tone0表示,當(dāng)模式在手動(dòng)音階演奏模式和自動(dòng)演奏模式之間切換時(shí),由tone0的影響,有時(shí)會(huì)導(dǎo)致自動(dòng)演奏不成功
10、或者音階演奏出現(xiàn)雜音,這是一個(gè)相對(duì)比較難處理的問題。后來經(jīng)過多次嘗試,加了一個(gè)判斷的標(biāo)志位,當(dāng)在不同模式之間切換的時(shí)候,首先對(duì)原先的tone0清零,消除原先模式帶來的影響。最后取得了不錯(cuò)的切換效果。2.剛開始調(diào)試硬件的時(shí)候,琴鍵并不靈敏,有時(shí)候在高電平的時(shí)候發(fā)聲有時(shí)候卻在低電平的時(shí)候發(fā)聲,出現(xiàn)了很大的邏輯錯(cuò)誤。原先以為是程序的邏輯有問題,但是在Quartus上作了仿真卻沒有發(fā)現(xiàn)太大的問題。經(jīng)過討論,覺得是硬件的接觸問題,將邏輯輸入信號(hào)改由脈沖同步輸入,使輸入信號(hào)更加穩(wěn)定,使演奏信號(hào)穩(wěn)定下來。3.調(diào)試硬件的時(shí)候,演奏到中音的時(shí)候,小燈泡卻始終不亮,首先檢查了代碼,沒發(fā)現(xiàn)有太明顯的邏輯不合理現(xiàn)象。于是用邏輯筆去測(cè)試輸入輸出管腳的電平,發(fā)現(xiàn)無論什么時(shí)候管腳都是輸出低電平,可能是芯片內(nèi)部出了問題。于是我們重新固定好管腳,重新將程序燒入,終于使小燈泡在中音演奏的時(shí)候發(fā)光。十實(shí)驗(yàn)收獲與總結(jié)1.簡(jiǎn)易電子琴雖然看起來比較簡(jiǎn)單,但是要真正實(shí)現(xiàn)還是要花一番功夫,計(jì)算分頻系數(shù),連線等都是細(xì)致的工作,這更加考驗(yàn)人的耐心和細(xì)心。2.由于數(shù)字邏輯這門課是在大二上學(xué)期開設(shè)的,已經(jīng)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 32235.1-2024工業(yè)過程測(cè)量、控制和自動(dòng)化數(shù)字工廠框架第1部分:通用要求
- 2024年中秋國慶備貨建議-28正式版
- 汽車發(fā)動(dòng)機(jī)構(gòu)造與維修 教案 8.3認(rèn)識(shí)曲軸飛輪總成的故障點(diǎn)
- 人教版初中英語八年級(jí)(上冊(cè))第一至十單元語法知識(shí)梳理
- 記賬實(shí)操-毛利率、盈虧平衡點(diǎn)、投資回收期的計(jì)算公式
- 2025高考物理步步高同步練習(xí)第四章 力學(xué)單位制含答案
- 《文學(xué)社團(tuán)活動(dòng)》團(tuán)隊(duì)合作教案
- 《兩小兒辯日》古代智慧教案
- 安置小區(qū)外電供配電工程工程量清單
- 專升本(英語)模擬試卷18(共845題)
- 脂溢性皮炎的課件
- 創(chuàng)傷急救(中醫(yī)骨傷科學(xué)十三五教材)
- 萬物之理-愛因斯坦之夢(mèng)智慧樹知到課后章節(jié)答案2023年下中國海洋大學(xué)
- 幼兒園優(yōu)質(zhì)公開課:中班科學(xué)《動(dòng)物的超級(jí)本領(lǐng)》課件
- 【基于PLC的交通信號(hào)燈控制系統(tǒng)設(shè)計(jì)7000字(論文)】
- 就業(yè)設(shè)計(jì)第三版(高職就業(yè)指導(dǎo))PPT完整全套教學(xué)課件
- 路肩土方開挖施工方案
- 疲勞試驗(yàn)測(cè)試報(bào)告
- 防火墻入侵檢測(cè)與VPN-部分
- 滬科版七年級(jí)上冊(cè)初一數(shù)學(xué)全冊(cè)教案(教學(xué)設(shè)計(jì))
- 部編版二年級(jí)道德與法治上冊(cè)教案及教學(xué)反思
評(píng)論
0/150
提交評(píng)論