色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > 基于FPGA的音樂流水燈控制系統(tǒng)的設(shè)計

          基于FPGA的音樂流水燈控制系統(tǒng)的設(shè)計

          作者: 時間:2011-02-28 來源:網(wǎng)絡(luò) 收藏


          按照樂譜,將音階對應(yīng)的索引值連續(xù)地存儲到ROM中。例如,樂譜上一個4分音符的中音3,在ROM存儲器中對應(yīng)的索引值是10,并且連續(xù)放置4次,而一個8分音符5也就是半拍的5,則是將對應(yīng)索引值5在ROM中連續(xù)存放兩次。播放時在播放時鐘(8 Hz)的驅(qū)動下,索引值不斷地從ROM輸出。索引值送到音階分頻模塊中,轉(zhuǎn)換為計數(shù)初值輸出,再送到音階分頻產(chǎn)生模塊中,作為計數(shù)初值,產(chǎn)生音階頻率輸出驅(qū)動蜂鳴器。這樣,就能在蜂鳴器上發(fā)出要播放的樂曲了。確定了樂譜后,即ROM的存儲內(nèi)容后,就可以定制ROM,將其初始化文件指定為.mif文件即可。
          2.2 流水燈控制模塊設(shè)計
          由于此設(shè)計是基于DE2.70開發(fā)板之上的,因此將對應(yīng)的音階輸出,應(yīng)用LED燈來顯示流水燈閃爍效果。根據(jù)音調(diào)“hight”的高低設(shè)置點亮燈的數(shù)量,當“hight”為低時播放低音信號,為高時播放中音信號。如果要用到高音信號可以將“hight”長度改為2bit。選取板上的oLEDR[6..0]前7盞燈與低音信號對應(yīng),oLEDR[13..7]與中音信號對應(yīng)。在本設(shè)計中,為了看到明顯的流水燈變化,當發(fā)出中音時低音顯示燈全亮。
          2.3 LCD顯示模塊設(shè)計
          首先需要在SOPC Builder中構(gòu)建SOPC系統(tǒng),按要求依次添加NioslI處理器,4 kB的片上RAM,LCD模塊,4位輸入口,給處理器分配復位向量地址和異常向量地址。
          LCD顯示模塊用來實現(xiàn)樂譜和強度的實時顯示,可以顯示16×2個字符,其軟件流程如圖2所示。


          其中LCD初始化包括對LCD的功能設(shè)置,顯示開關(guān)設(shè)置和模式設(shè)置。LCD定位到首行首列是通過對LCD寫定位指令,將顯示位置確定到第一行第一列。寫字符“jian pu”到第一行是通過寫數(shù)據(jù)指令將字符jian pu:和實時變化的樂譜顯示在液晶屏的第一行。低、中、高音分別用L、M、H表示并且加上對應(yīng)的音階值進行顯示。LCD顯示換行是通過定位指令來實現(xiàn)的。顯示強度到第二行是用符號“>”的個數(shù)表示音調(diào)的高低,一個表示低音1,兩個表示低音2,依次類推。
          在對LCD模塊進行顯示控制時,用到了寫控制命令和寫數(shù)據(jù)命令。這些命令是針對具體配置的硬件電路而編寫的.h頭文件。LCD模塊的頭文件如下

          這樣編寫是為了和具體的硬件電路相對應(yīng),在LCD模塊的硬件描述語言中,液晶模塊RW和RS的地址分配如下:

          分頻器相關(guān)文章:分頻器原理
          蜂鳴器相關(guān)文章:蜂鳴器原理


          關(guān)鍵詞: 音頻

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉