新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > #單片機#歌曲——世上只有媽媽

        #單片機#歌曲——世上只有媽媽

        作者: 時間:2016-11-27 來源:網絡 收藏
        #include
        #define uchar unsigned char
        #define uint unsigned int
        sbit k3=P3^5;
        sbit sound=P0^4;
        bit FY=0; //放樂曲時FY=1, 電子琴彈奏時FY=0
        uchar Song_Index=0,Tone_Index=0; //放音樂的參數
        uchar k, key,flag;
        uchar code DSY_CODE[]= {0xc0,0xf9,0xa4,0xb0,
        0x99,0x92,0x82,0xf8,
        0x80,0x90,0x88,0x83,
        0xc6,0xa1,0x86,0x8e};
        uchar code Song[]= //世上只有媽媽好的旋律
        {13,12,10,12,15,13,12,13,10,12,13,12,10,8,1,12,10,9,9,10,12,12,13,10,9,8,12,10,9,8,6,8,5,-1};
        char code Len[]= //旋律每個音符對應
        {3,1,2,2,2,1,1,4,2,1,1,2,2,1,1,1,1,4,3,1,2,1,1,2,2,4,3,1,1,1,1,1,6,-1};
        uint code tab[]= {0,63628,63835,64021,64103,64260,64400,64524, //0,低1,低2,低3,低4,低5,低6,
        64580,64684,64777,64820,64898,64968,65030, //中1,中2,中3,中4,中5,中6,中7
        65058,65110,65157,65178,65217,65252,65283 }; //高1,高2,高3,高4,高5,高6,高7
        void delay(uint z)
        {
        uint x,y;
        for(x=z;x>0;x--)
        for(y=114;y>0;y--);
        }
        void main()
        {
        TMOD=0x01;//設置定時器0工作方式1
        TH0=(tab[0])/256;
        TL0=(tab[0])%6;//賦初值
        EA=1;//開總中斷
        ET0=1;//開定時器中斷0
        P2=0X00;
        while(1)
        {
        Tone_Index=0;
        while(Song[Tone_Index]!=-1)
        {
        P0=DSY_CODE;
        TH0=(tab[Song[Tone_Index]])/256;
        TL0=(tab[Song[Tone_Index]])%6;
        TR0 = 1;
        delay(250*Len[Tone_Index]);
        Tone_Index ;
        TR0=0;
        }
        }
        }
        void timer0() interrupt 1
        {
        TH0=(tab[Song[Tone_Index]])/256;
        TL0=(tab[Song[Tone_Index]])%6;
        sound=!sound;
        }


        關鍵詞: 單片機歌

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 平舆县| 波密县| 长治市| 明水县| 太原市| 临颍县| 三台县| 固原市| 横峰县| 安龙县| 太保市| 双鸭山市| 明光市| 深圳市| 从化市| 甘泉县| 云阳县| 彭阳县| 化州市| 鹤峰县| 轮台县| 杭锦后旗| 株洲县| 临海市| 徐水县| 宣化县| 慈利县| 衡南县| 榆社县| 兴仁县| 桃江县| 阜康市| 沈丘县| 平罗县| 马鞍山市| 八宿县| 四平市| 天等县| 潞西市| 五常市| 石楼县|