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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于Proteus的單片機演奏音樂的實現(xiàn)

          基于Proteus的單片機演奏音樂的實現(xiàn)

          作者: 時間:2012-08-27 來源:網(wǎng)絡(luò) 收藏

          2.3 電路

          因為一首曲子不止一個音符,我們不可能對每一個音符的音階都去手工的提供時間常數(shù),為了的簡化,我們編制一個將每一音符的時間常數(shù)和其相應(yīng)的節(jié)拍常數(shù)作為一組,按順序?qū)非械乃谐?shù)排列成的表格,在程序里用查表指令依次查出每一個音符的頻率和對應(yīng)節(jié)拍時間,產(chǎn)生音符并控制節(jié)奏,就可以效果。

          此外,結(jié)束符和體止符可以分別用代碼00H 和FFH 來表示,若查表結(jié)果為00H,則表示曲子終了;若查表結(jié)果為FFH,則產(chǎn)生相應(yīng)的停頓效果。

          為了產(chǎn)生手彈的節(jié)奏感,在某些音符(例兩個相同音符)音插入一個時間單位的頻率略有不同的音符。

          程序框圖如下圖4. 本程序的是民歌八月桂花遍地開,C 調(diào),節(jié)奏為94 拍/min。

          用Keil 對程序進(jìn)行編譯,見圖5,具體方法可文獻(xiàn)[5],編譯無誤后生成。hex 文件,然后雙擊環(huán)境下的原理圖中的AT89C51,找到這個。 hex 文件,然后點按鈕Play,這時控制的蜂鳴器就可以開始播放了。

          圖4 程序流程圖
          圖4 程序流程圖

          圖5 在Keil 環(huán)境下對程序進(jìn)行編譯
          圖5 在Keil 環(huán)境下對程序進(jìn)行編譯

          3 結(jié)論

          以上介紹的方法已通過測試,運行良好。 對初學(xué)者有一定的啟示作用。 讀者也可以自行找出一首歌,將樂曲翻譯成碼表輸入,而程序不變。 本實驗方法簡便,即使不懂的人,也可方便地將一首陌生的曲子翻譯成代碼。

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

          上一頁 1 2 3 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(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); })();