新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機C語言程序設計:播放生日快樂歌

        單片機C語言程序設計:播放生日快樂歌

        作者: 時間:2013-06-27 來源:網絡 收藏

        /* 名稱:播放音樂

        說明:程序運行時播放生日快樂歌, 未使用定時器中斷,所有頻率完全用延時實現

        */

        #includereg51.h>

        #define uchar unsigned char

        #define uint unsigned int

        sbit BEEP=P3^7;

        //生日快樂歌的音符頻率表,不同頻率由不同的延時來決定

        uchar code SONG_TONE[]={212,212,190,212,159,169,212,212,190,212,142,159,

        212,212,106,126,159,169,190,119,119,126,159,142,159,0};

        //生日快樂歌節拍表,節拍決定每個音符的演奏長短

        uchar code SONG_LONG[]={9,3,12,12,12,24,9,3,12,12,12,24,

        9,3,12,12,12,12,12,9,3,12,12,12,24,0};

        //延時

        void DelayMS(uint x)

        {

        uchar t;

        while(x--) for(t=0;t120;t++);

        }

        //播放函數

        void PlayMusic()

        {



        uint i=0,j,k;


        while(SONG_LONG[i]!=0||SONG_TONE[i]!=0)

        { //播放各個音符,SONG_LONG 為拍子長度

        for(j=0;jSONG_LONG[i]*20;j++)

        {

        BEEP=~BEEP;

        //SONG_TONE 延時表決定了每個音符的頻率

        for(k=0;kSONG_TONE[i]/3;k++);

        }

        DelayMS(10);

        i++;

        }

        }

        c語言相關文章:c語言教程


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


        單片機相關文章:單片機視頻教程


        單片機相關文章:單片機工作原理



        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 原阳县| 饶平县| 南丹县| 图木舒克市| 浙江省| 景谷| 泗洪县| 永靖县| 正蓝旗| 石门县| 蒲江县| 乌鲁木齐县| 台山市| 巩留县| 墨脱县| 雅安市| 汶上县| 太湖县| 蚌埠市| 环江| 长治市| 视频| 清镇市| 漳州市| 常宁市| 长治县| 洪雅县| 内黄县| 特克斯县| 娄底市| 鄂温| 荥经县| 安义县| 海晏县| 东丰县| 泰州市| 新津县| 留坝县| 维西| 新营市| 任丘市|