新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于51單片機的音樂播放器的仿真與制作

        基于51單片機的音樂播放器的仿真與制作

        作者: 時間:2011-11-07 來源:網絡 收藏

        事實上,按照圖1所示原理圖來焊接電路,其結果可能沒有任何效果。而圖2所示才是單片機的實際制作電路。與圖1相比,實
        際電路多了兩個部分:一是單片機左邊最小系統所需的電路部分,而仿真軟件中則將這些省略了;另一個是單片機右邊多了一個三極管。之所以要加這個三極管,主要是為了放大蜂鳴器的驅動電流,而仿真軟件里面所有的元件都是理想元件,所以,仿真能實現的效果,實際做出來往往沒有效果。因此,要想在實際中實現滿意的效果還要憑借硬件經驗進行反復的摸索和嘗試。

        b.JPG



        2 軟件設計
        2.1 播放原理
        聲音的頻譜范圍通常約為幾十到幾千赫茲,通過程序控制單片機的I/O口可輸出不同頻率的矩形波。當該矩形波的頻率位于聲音頻譜范圍內時,在單片機的I/O口接上喇叭就能發出聲音。然后利用延時程序控制矩形波的高、低電平持續時間,即改變矩形波的頻率,即可產生不同的音調,從而發出不同的聲音,再讓矩形波輸出的長短對應節拍,就可以實現單片機對音樂的演奏。
        2.2 音調和節拍編碼
        單片機奏樂只需弄清楚兩個概念,也就是“音調”和“節拍”。音調表示一個音符唱多高的頻率,節拍表示一個音符唱多長的時間。
        由于各個音調對應的頻率是已知的,因此,播放音樂時,應對樂曲中出現的音調進行編碼,并找出單片機播放這些音調所對應的定時初值。表1所列是音調編碼與定時器的初值表,其中頻率是已知的,編碼可以自己設置,而定時初值是怎樣得來的呢?下面以“低6”為例進行說明?!暗?”的頻率f為440 Hz,其對應的周期為:T=1/f=1/440=272μs。單片機上對應蜂鳴器的I/O口來回取反的時間應為:t=T/2=2272/2=1136μs。單片機奏樂時,其定時器為工作方式1,若以振蕩器的十二分頻信號為計數脈沖,如果單片機晶振為12MHz,則1μs計數一次。所以,對于“低6”,其定時器的初值應該是:216-1136=64400。
        對節拍的控制可通過延時程序來實現。表2所列是節拍編碼表。若以1拍的時長為400ms為例,1/2拍的時長為200ms,1/4拍的時長為100ms。首先,這樣,確定一個基本時長的延時程序,比如以100ms為基本延時時間,那么,1/4拍可以調用一次延時程序,1/2拍需調用二次延時程序,1拍需調用四次延時程序,依次類推。

        51單片機相關文章:51單片機教程




        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 佛学| 修水县| 永仁县| 如皋市| 岳阳市| 福贡县| 惠东县| 新乡市| 新民市| 斗六市| 云梦县| 桦川县| 惠东县| 本溪| 怀化市| 清原| 江西省| 武山县| 东平县| 凤山市| 濉溪县| 正安县| 墨江| 乌兰浩特市| 武清区| 瑞金市| 济源市| 黔江区| 和平县| 梓潼县| 方城县| 长沙县| 西峡县| 富阳市| 高要市| 长宁区| 白山市| 武功县| 洪江市| 五寨县| 洛隆县|