新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 單片機演奏音樂原理與模擬實驗

        單片機演奏音樂原理與模擬實驗

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

        利用大概是愛好者感興趣的問題之一。這里我們用網(wǎng)站提供的板來做這個,并且了解的基本,和相關(guān)的源程序。

        本文引用地址:http://www.104case.com/article/172389.htm

        首先來完成必要的硬件部分,硬件部分比較簡單,如下圖:

        AT89C51單片機的P2.5口控制一個8550的三極管,三極管控制電磁蜂鳴器的電源通斷。

        我們知道,聲音的頻譜范圍約在幾十到幾千赫茲,若能利用程序來控制單處機某個口線的高電平或低電平,則在該口線上就能產(chǎn)生一定頻率的矩形波,接上喇叭就能發(fā)出一定頻率的聲音,若再利用延時程序控制“高”“低”電平的持續(xù)時間,就能改變輸出頻率,從而改變音調(diào)。

        例如,要產(chǎn)生200HZ的音頻信號,200HZ音頻的變化周期為1/200秒,即5ms。這樣,當P2.5的高電平或低電平的持續(xù)時間為2.5ms時就能發(fā)出200HZ的音調(diào)。

        樂曲中,每一音符對應(yīng)著確定的頻率,我們將每一音符的時間常數(shù)和其相應(yīng)的節(jié)拍常數(shù)作為一組,按順序?qū)非械乃谐?shù)排列成一個表,然后由查表程序依次取出,產(chǎn)生音符并控制節(jié)奏,就可以實現(xiàn)效果。

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

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

        程序框圖如圖2所示。

        下面給出程序序請單,可直接在51板上進行演奏。本程序演奏的是民歌“八月桂花遍地開”,C調(diào),節(jié)奏為94拍/分。網(wǎng)友也可以自行找出一首歌,將樂曲翻譯成碼表輸入機器,而程序不變。本實驗方法簡便,即使不懂的人,將一首陌生的曲子翻譯成代碼也是易事,和著機器的演奏學(xué)唱一首歌曲,其趣味無窮。


        上一頁 1 2 下一頁

        關(guān)鍵詞: 模擬 實驗 原理 音樂 演奏 單片機

        評論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 饶平县| 尼勒克县| 德惠市| 兴安县| 汝州市| 英超| 洛宁县| 澎湖县| 蒙阴县| 和田县| 新巴尔虎右旗| 淳安县| 漳浦县| 南城县| 和平县| 鹤山市| 周口市| 长沙县| 郓城县| 大石桥市| 丰城市| 静海县| 宁蒗| 沙坪坝区| 墨玉县| 五莲县| 莫力| 唐河县| 七台河市| 江孜县| 海门市| 融水| 昌邑市| 页游| 新乡县| 伊吾县| 朝阳市| 星子县| 江达县| 喀什市| 新闻|