freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

基于cpld的midi音樂播放器設計畢業(yè)設計論文(編輯修改稿)

2025-08-16 07:41 本頁面
 

【文章內容簡介】 系數應綜合考慮加以選擇,從而保證音樂不會走調。如在 48MHz 時鐘下,中音 1(對應的頻率值是 )的分頻系數應該為: 48000000/(2*)=45867,這樣只需對系統(tǒng)時鐘進行 45867 次分頻即可得到所要的中音 M1(分頻系數計算公式為 /2D F K? ,由于 /2FK之后,會使分頻系數 D 變小,所以功能模塊中語句: beep_r=!beep_r,使得輸出取反, / 2 _K F co u n t en d? ,消除了前面除以 2K 的影響)。至于其他音符,可以同樣求出對應的分頻系數。在程序中設置一個狀態(tài)機,每 250ms 改變一個狀態(tài)(即一個節(jié)拍),組成樂曲的每個音符的頻率值(音調)相對應于狀態(tài)機的每一個狀態(tài)。只要讓狀態(tài)機的狀態(tài)按順序轉換,就可以自動演奏播放音樂了。《友誼地久天長》樂曲的簡譜 見 附錄 5 所示,(注: N 一拍; N 兩拍; N四拍; N八拍; N 為音譜)。 宜賓職業(yè)技術學院電子信息與控制工程系 基于 CPLD 的 MIDI 音樂播放器設計 9 音 樂 節(jié) 奏 時鐘彩 燈 閃 爍 節(jié)奏 時 鐘音 調 發(fā) 生 器中 央 控 制 器彩 燈 閃 爍 控制 器彩 燈蜂 鳴 器光 電 傳 感 器基 準 時 鐘C P L D數 碼 管數 碼 管顯 示 控制 器 圖 CPLD 內部芯片 設計原理 有限狀態(tài)機 有限狀態(tài)機 FSM 思想廣泛應用于硬件控制電路設計,也是軟件上常用的一種處理方法 (軟件上稱為 FMM有限消息機 )。它把復雜的控制邏輯分解成有限個穩(wěn)定狀態(tài),在每個狀態(tài)上判斷事件,變連續(xù)處理為離散數字處理,符合計算機的工作特點。同時,因為有限狀態(tài)機具有有限個狀態(tài),所以可以在實際的工程上實現(xiàn)。但這并不意味著其只能進行有限次的處理,相反,有限狀態(tài)機是閉環(huán)系統(tǒng),有限無窮,可以用有限的狀態(tài),處理無窮的事務。 有限 狀態(tài) 機是指輸出取決于過去輸入部分和當前輸入部分的 時序邏輯電路 。一般來說,除了輸入部分和輸出部分外,有限 狀態(tài) 機還含有一組具有 “記憶 ”功能的 寄存器 ,這些寄存器的功能是記憶有限狀態(tài)機的內部狀態(tài),它們常被稱為狀態(tài)寄存器。在有限 狀態(tài)機中,狀態(tài) 寄存器 的的下一個狀態(tài)不僅與輸入信號有關,而且還與該寄存器的當前狀態(tài)有關,因此 有限狀態(tài)機又可以認為是組合邏輯和寄存器邏輯的一種組合。其中, 寄存器邏輯的功能是存儲有限 狀態(tài) 機的內部狀態(tài);而組合邏輯又可以分為次態(tài)邏輯和輸出邏輯兩部分,次態(tài)邏輯的功能是確定有限狀態(tài)機的下一個狀態(tài),輸出邏輯的功能是確定有限狀態(tài)機的輸出。 有限狀態(tài)機的工 作原理如圖 所示,發(fā)生事件 (event)后,根據當前狀態(tài) (cur_state),決定執(zhí)行的動作 (action),并設置下一個狀態(tài) (nxt_state)。 宜賓職業(yè)技術學院電子信息與控制工程系 基于 CPLD 的 MIDI 音樂播放器設計 10 發(fā) 生 事 件 e v e n t當 前 狀 態(tài)c u r _ s t a t e執(zhí) 行 動 作 a c t i o n設 置 下 一 狀 態(tài)n x t _ s t a t e 圖 有限狀態(tài)機工作原理 狀態(tài)機的現(xiàn)態(tài)(當前狀態(tài))和次態(tài)(下一狀態(tài)),分別表示現(xiàn)在演奏的音調和將要演奏的音調,而每個音調持續(xù)的時間都是 TIME 變量的整數倍。在程序中, TIME 的值在時鐘 50MHz 頻率下,設定為 250ms。 中央控制 器設計 中央控制器 包括節(jié)拍控制電路和音符產生電路。 節(jié)拍控制電路以樂曲中最短音符的節(jié)拍為基準,產生樂曲所需要的全部節(jié)拍。 在大部分音樂中,多以 1/4 為一拍,一拍則為一秒,同時在樂譜中,一般最短的音符多為 1/16 音符,因此為了達到四首歌曲的統(tǒng)一,我們將 1/16 音符設置為計數器的一個計數,對應的 1/4 音符則是四個計數。為了節(jié)省內部資源,我們只演奏一首歌曲。另外,在設計中為了讓歌曲循環(huán)播放,計數器設定計滿自動清零計數的功能,這樣,只要不斷電,不關開關,歌曲就可以自動循環(huán)播放了。 音調發(fā)生器設計 控制好每一個音符的頻率和維持的頻率時間,就可以組成兩個連續(xù)的音 符,從而發(fā)出連續(xù)的樂曲,如表 音符與頻率對照表所示。 表 音符與頻率對照表 音名 頻率 /Hz 分頻系數 低音 5 61225 低音 6 440 54545 中音 1 45867 中音 2 40863 中音 3 36402 中音 5 30612 中音 6 880 27273 高音 1 22956 休止符 0 8191 0 宜賓職業(yè)技術學院電子信息與控制工程系 基于 CPLD 的 MIDI 音樂播放器設計 11 由于音階頻率多為非整數,而分頻系數又不能為小數,故必須將得到的分頻數四舍五入取整。 根據系統(tǒng) 最大 的分頻系數為 61225,故采用 16 位二進制計數器已能滿足分頻要求。在表 中,可以看到不同音階對應的不同初始值。對于不同的分頻系數,只要加載不同的初始值即可。采用加載初始值而不將分頻輸出譯碼反饋,可以有效地減少設計占用可編程邏輯器件的資源。 “0”表示休止符,在很多音樂中,休止符也是一個重要的音符。對于休止符,只要將分頻系數設為 0,蜂鳴器就不會發(fā)聲了,程序代碼如下所示。 parameter L_5 = 1639。d61224, //低音 5 L_6 = 1639。d54545, //低音 6 M_1 = 1639。d45863, //中音 1 M_2 = 1639。d40865, //中音 2 M_3 = 1639。d36402, //中音 3 M_5 = 1639。d30612, //中音 5 M_6 = 1639。d27273, //中音 6 H_1 = 1639。d22956。 //高音 1 parameter TIME=120xx000。 //控制音的長短 (250ms) assign beep=beep_r。 //輸出音樂 光電傳感器設計 光電傳感器根據電路設計,當它檢測到有光時,它內部為低電平,蜂鳴器不會叫,沒有檢測到光時,它內部為高電平,蜂鳴器會叫,程序代碼如下所示。 always@(posedge sys_clk) begin count=count + 139。b1。 //計數器加 1 if(count==count_end) begin count=1639。h0。 //計數器清零 if(ke==139。b0) //如果有光 beep_r=0。 //蜂鳴器不叫 else 宜賓職業(yè)技術學院電子信息與控制工程系 基于 CPLD 的 MIDI 音樂播放器設計 12 beep_r=!beep_r。 //輸出取反 (蜂鳴器叫 ) end end 彩燈閃爍設計 彩燈閃爍主要是控制燈的亮和滅,輸出高低電平信號,就可以直接驅動發(fā)光二極管。在彩燈閃爍程序中,如果設計為不同音名,對應不同的亮滅,那么,閃爍出來的效 果很單調,因此,設計為每次音符一變對應的閃爍也就改變,這樣閃爍出來的效果也有很多種。當音樂演奏時,隨著歌曲的變化,彩燈也因為不同的音符閃動起來,本次程序設計中共設計了 6 個發(fā)光二極管,彩燈邏輯電路如圖 所示。 s y s _ c l k ( G N D )k e ( G N D ) f a [ 5 . . 0 ]6 39。 h 0 0 圖 彩燈閃爍邏輯圖 數碼管顯示設計 數碼管顯示采用 case 語句,芯片內部處理好程序后,送給數碼管顯示電路模塊。當音樂演奏時,隨著 樂 曲聲起,數碼管也會開始顯示時間,本次程序設計中設計了 3 個八段共陽數碼管的代碼,數碼管部分邏輯電路如圖 所示。 圖 數碼管部分邏輯圖 所有程 序代碼見附錄 6,綜合出的部分 RTL 電路圖見附錄 3。 宜賓職業(yè)技術學院電子信息與控制工程系 基于 CPLD 的 MIDI 音樂播放器設計 13 5 產品制作 PCB 設計 使用 Protel 99 SE軟件進行 PCB 設計,繪制原理圖的過程為圖紙設置、添加元件庫、放置元件、元件布局、開始連線、布線調整、電氣規(guī)則檢查,檢查無誤后就可以保存并打印。繪制 PCB 圖的過程為更新 PCB、規(guī)劃印制電路板的大小、元件布局、設置布線規(guī)則、開始布線、檢查布線,檢查無誤后就可以保存并打印。 采用萬用板制作電路板,為了焊接美觀選用材質好點的萬用板,按照原理圖裝配元器件, 電路 原理圖見附錄 1,系統(tǒng)板 PCB 圖見附錄 2。 元器件裝配 元器件檢測 主要元器件的檢測如下: 數碼管:用萬用表檢測數碼管,先判定數碼管 DS1 是共陰還是共陽,用萬用表的正極接數碼管 10 腳(即數碼管中間的引腳),負極接剩下的引腳,如果亮了則是共陽數碼管,沒亮則把表筆對調,亮了則是共陰,沒亮就有可能數碼管已壞,判斷出共陰和共陽后就檢測每段的亮度是否正常,其余數碼管測試方法一樣。 發(fā)光二極管:用萬用表檢測 LED 發(fā)光二極管 D1(大頭為正,小頭為負),萬用表的正極接 D1 的正極,負極接 D1 的負極,看 D1 是否發(fā)光,發(fā)光就正常,沒發(fā)光就說明D1 已損壞。 電阻:用萬用表檢測電阻的阻值看是不是所需的 470Ω,也可以通過讀取色環(huán)來判斷電阻的大小,雖然一般電阻都無損壞,但是安全起見還是全部檢測。 CPLD:先看 CPLD 的引腳是否有損壞,在通過寫入相應程序看能不能實現(xiàn)功能,依此來判斷 CPLD 的好壞。 光電傳感器:用萬用表正極接 VCC,負極接光電傳感器 D0 端,這時開關那顆發(fā)光二極管發(fā)光證明此時為低電平(有光),反之則為高電平(無光)。 元器件安裝 先安裝數碼管,要注意數碼管的高度,接著安裝電阻,注意引腳要直,安裝位置可參照電路原理圖,最后安裝發(fā)光二極管。 宜賓職業(yè)技術學院電子信息與控制工程系 基于 CPLD 的 MIDI 音樂播放器設計 14 同 時 元器件安裝時應按照以下原則: ( 1)安裝的順序 :先低后高,先小后大,先輕后重。 ( 2)元器件的標識 :電子元器件的標記和色碼部位應朝上,以便于辯認;橫向插件的數值讀法應從左至右,而豎向插件的數值讀法則應從下至上。 ( 3)元器件的間距:在印制板上的元器件之間的距離不能小于 1mm;引線間距要大于 2mm(必要時,引線要套上絕緣套管)。一般元器件應緊密安裝,使元器件貼在印制板上,緊貼的容限在 左右。安裝時要注意元件的位置及走線,防止出現(xiàn)跳線。 元器件焊接 在焊接時, 先把數碼管的一端固定在萬用 板上,再把電阻的兩端固定在板子上,發(fā)光二極管焊接時要再次確認極性,當極性確認無誤后就可以固定在板子上,元器件固定好后要仔細檢查元器件位置有沒有固定錯,沒有就可以 根據 原理圖 連接 各個器件之間 的印制線,為了保證元 器 件的好壞焊接時間不能過長。焊接完成后, 需 要仔細的檢查電路,看看 是否有漏焊、虛焊、短路等現(xiàn)象。 同時 焊接時應按以下步驟: ( 1)準備工作。首先把被焊件、錫絲和烙鐵準備好,處于隨時可焊的狀態(tài)。 ( 2)加熱被焊件。把烙鐵頭放在焊盤和元器件引腳處進行加熱。 ( 3)放上焊錫絲。被焊件進加熱達到一定溫度后,立即將手 中的錫絲觸到被焊件上使之融化。 ( 4)移開焊錫絲。當錫絲融化一定量后(焊料不能太多),迅速移開錫絲。 ( 5)移開電烙鐵。當焊料的擴散范圍到達要求后移開電烙鐵。 當硬件電路焊接完成后,就可以把硬件電路跟 CPLD 相連, 在連接數碼管 電路 時,因為用的是共陽數碼管,所以 需要準確的判斷出數碼管的每段,在連接其它電路時注意不要把電源與地接反即可。 宜賓職業(yè)技術學院電子信息與控制工程系 基于 CPLD 的 MIDI 音樂播放器設計 15 6 系統(tǒng)調試 本次設計采用的是 Aletra 公司的 MAX II 系列,因此,必須用 Quartus II 軟件系列才能對該芯片進行編譯、仿真、下載等功能。下載模式我們進行 USB Blaster 線的下載方式。 CPLD 程序編譯 當程序編寫完成后即可進行編譯,警告不影響結果 , 程序編譯 結果 如圖 所示。 圖 程序編譯 結果 CPLD 引腳配置 選擇 PIN_20 為系統(tǒng)時鐘 (sys_clk)引腳,選擇 PIN_1 為蜂鳴器輸
點擊復制文檔內容
研究報告相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1