新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于AT89S52單片機的多功能音樂播放器

        基于AT89S52單片機的多功能音樂播放器

        作者: 時間:2009-03-13 來源:網絡 收藏

        通過Time0的溢出中斷實現單頻產生。Time0的溢出中斷發生后輸出引腳的電壓反向,然后定時器重新裝入初值。所以編程時要確定Time0的工作模式和計數初值。這里采用工作模式1,定時器的初值設定通過軟件重復實現。而且定時器的初值則依據各頻率設置。例如:中音Do是523Hz,其周期T=l/523=1 912μs,其半周期為1912/2=956μs。本設計的計時時鐘周期是lμs,因此設置TimeO的計數器每計956次則中斷一次,從而實現Do的,然后通過中斷觸發實現引腳電壓的循環取反得到相應音頻輸出。圖4為液晶顯示的編程流程框圖。

        自編和自動播放2個模式轉換的程序設計,代碼如下:

        4 仿真與結果
        采用繪制電路圖軟件PROTEUS和用于編寫程序的KeilCμVision2實現系統設計的仿真。圖5為PROTEUS仿真環境下的硬件電路圖。在KeilC μVision2中創建一個新項目,然后在PROTEUS中為該項目加入Keil C源程序。調試后,結果和設計目標完全吻合。上電后液晶顯示器顯示“Wel-come!”,接著顯示第一首歌曲名字,連續播放直到手動選擇。同時4盞彩燈隨著節奏閃動。按下模式轉換按鈕,可以彈奏用戶喜歡的音符和樂曲。

        5 結語
        該設計實現了預期的基本功能和指標。采用最小系統和匯編語言,擴展一般音樂的功能,實現了自彈自唱和自動播放兩種模式的轉換,并且能顯示音樂的節拍跳動和歌曲英文名字。

        蜂鳴器相關文章:蜂鳴器原理

        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 庆安县| 鹤庆县| 普宁市| 焉耆| 石河子市| 台南县| 台前县| 抚远县| 镇康县| 柘荣县| 平远县| 伽师县| 开原市| 黄石市| 广水市| 荥经县| 瑞丽市| 芦山县| 柳州市| 英山县| 万安县| 繁昌县| 五大连池市| 方正县| 鄂托克前旗| 社会| 思南县| 饶平县| 鄂托克旗| 顺平县| 筠连县| 绥棱县| 揭东县| 平顺县| 凤翔县| 孝义市| 高唐县| 贺兰县| 台北市| 香港 | 交城县|