<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

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

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

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

          其中RS信號(hào)是命令與數(shù)據(jù)線(xiàn),高電平表示目前數(shù)據(jù)線(xiàn)上交換的是數(shù)據(jù),低電平表示目前數(shù)據(jù)線(xiàn)上交換的是命令。液晶模塊根據(jù)這個(gè)信號(hào)做出正確的響應(yīng)。RW是電平信號(hào),高電平表示對(duì)液晶模塊執(zhí)行讀取操作,低電平表示對(duì)液晶模塊寫(xiě)入數(shù)據(jù)或命令。這樣便可以確定各讀寫(xiě)操作對(duì)應(yīng)于基地址的偏移量。

          3 頂層設(shè)計(jì)和驗(yàn)證
          系統(tǒng)的頂層設(shè)計(jì)就是將各個(gè)底層功能模塊例化,在頂層調(diào)用,進(jìn)行正確的連接,構(gòu)成最后的系統(tǒng)。整個(gè)系統(tǒng)的硬件電路如圖3所示。

          本文引用地址:http://www.ex-cimer.com/article/162367.htm


          至此,一個(gè)硬件音樂(lè)流水燈電路就完成了。外部提供兩路時(shí)鐘信號(hào)(12 MHz和8 Hz),再將樂(lè)曲輸出端連接到帶有驅(qū)動(dòng)裝置的蜂鳴器或揚(yáng)聲器上,就可以欣賞所添加的樂(lè)曲了。若硬件設(shè)計(jì)上只有一路時(shí)鐘信號(hào)輸入,可在FPGA內(nèi)部設(shè)計(jì)分頻器,將其分頻到8 Hz再使用,還可以在此基礎(chǔ)上更改。另外還可以在一個(gè)ROM種存儲(chǔ)多首樂(lè)曲,通過(guò)按鍵選擇播放樂(lè)曲。最后將軟硬件的配置文件下載到DE2.70開(kāi)發(fā)板上進(jìn)行系統(tǒng)的功能驗(yàn)證。顯示結(jié)果如圖4所示。



          4 結(jié)束語(yǔ)
          介紹了一種基于FPGA的音樂(lè)流水燈控制系統(tǒng)的設(shè)計(jì)。用VHDL硬件描述語(yǔ)言對(duì)整個(gè)樂(lè)曲播放控制模塊和同步流水燈閃爍模塊進(jìn)行描述,并在SOPC系統(tǒng)中搭建了LCD顯示模塊,為硬件系統(tǒng)的靈活配置和軟件系統(tǒng)的靈活設(shè)計(jì)提供了方便,也有利于系統(tǒng)的優(yōu)化和升級(jí)。系統(tǒng)以FPGA為控制核心,具有簡(jiǎn)單、穩(wěn)定、便于修改和移植、可重用性好等特點(diǎn)。

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

          上一頁(yè) 1 2 3 下一頁(yè)

          關(guān)鍵詞: 音頻

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();