亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? 單片機io口播放樂曲.c

?? 51單片機IO口播放音樂
?? C
字號:
//標(biāo) 題: 單片機IO口播放樂曲                                                //
//--------------------------------------------------------------------------//
//                                源程序大公開                              //
//                    (c) Copyright 2001-2002                             //
//                            All Rights Reserved                           //
//                                    V1.00                                 //
//--------------------------------------------------------------------------//
//標(biāo) 題: 單片機IO口播放樂曲                                                //
//版 本: V1.00                                                             //
                                                 
//                     
//日 期: 02-11-5                                                           //
//描 述: 單片機利用T1中斷在IO口P1.0輸出樂曲                                //
//聲 明:                                                                   //
//        以下代碼僅免費提供給學(xué)習(xí)用途,但引用或修改后必須在文件中聲明出處. //

//--------------------------------------------------------------------------//


//說 明:                                                                   //
//        單片機用T1中斷在IO口P1.0輸出樂曲(在P1.0口與VCC間接一喇叭即可聽到) //
//        1.由于輸出的是方波,比較難聽:-)你也可以將波形細分用DA輸出正弦波   //
//        2.由于T1頻繁中斷,任何其他中斷發(fā)生都會是樂曲打頓,只適合試驗      //
//        3.優(yōu)化音符編碼:一個字節(jié)中包含節(jié)拍、音符、升降調(diào),可區(qū)分數(shù)據(jù)和命令//
//                        同時人工將音符譯為機器碼非常容易。(格式看下面實例)//
//--------------------------------------------------------------------------//
#include<reg52.h>
#include<absacc.h>
#include<intrins.h>
#define  FREQ 11059200
#define  freq_chn(f)  255-f/24/147/256,256-f/24/147%256

    //  音樂_編碼2 -- 存儲器定義  //
unsigned char code music_tab1[]={    //音符碼格式:| D7 |D6  D5  D4| D3 |D2  D1  D0|
                                     //梁祝       |變調(diào)|      節(jié)拍|升降|     音符 |
    0xcb,                            //示例:0xcb=11001011B,即升調(diào),4/16拍,3Mi低音
    0x35,0x16,0xb9,0x12,0x96,0x99,0xa5,
    0xbd,0x99,0x96,0x15,0x13,0x15,0x62,
    0x32,0x13,0xa7,0x26,0x25,0x16,0xa9,0x22,
    0xa3,0xa9,0x96,0x15,0x16,0x99,0xe5,
    0xbb,0x15,0xa7,0xaa,0x96,0x99,0xd5,
    0x13,0x15,0x23,0x15,0x16,0x17,0x9a,0xd6,0x15,0x16,
    0xb9,0x12,0x25,0x23,0x23,0x22,0x13,0x12,0x21,0x96,0x15,
    0x43,0xc9,0x96,0x99,0x96,0x15,0x13,0x15,0x16,0x99,
    0xd5,                            //功能碼格式:| D7  D6  D5  D4  | D3  D2  D1  D0|
                                     //           |高4位=0時是功能碼|根據(jù)低4位散轉(zhuǎn)  |
    0x00,                            //最后字節(jié)為功能碼必須==0x00退出
};
unsigned char code music_tab2[]={    //康定情歌
    0x23,0x25,0x26,0x16,0x15,    0x36,0x13,0x42,
    0x23,0x25,0x26,0x16,0x15,    0x26,0x53,
    0x23,0x25,0x26,0x16,0x15,    0x26,0x23,0x42,
    0x25,0x23,0x12,0x13,0x12,0x11,    0x22,0xd6,
    0x26,0xda,    0x25,0x53,    0x12,0x11,0xd6,
    0xad,0x23,0x12,0x13,0x12,0x11,    0x22,0xd6,
    0x00,
};
unsigned char code music_tab3[]={    //美酒加咖啡
    0x55,0x23,0x25,0x26,0xa9,0x22,    0x73,
    0x45,0x25,0x26,0x23,0x22,0x21,0x23,    0x72,
    0x52,0x23,0x45,0x43,    0x22,0x21,0xa6,0x25,0x66,
    0xc9,0xa6,0x25,0x23,0x25,0x26,0xa9,    0xf5,
    0x45,0x23,0x25,0x46,0xc9,    0x22,0x13,0x12,0x21,0x22,0x63,
    0x22,0x23,0x25,0x26,0x25,0x23,0x22,0x21,    0x72,
    0x52,0x23,0x45,0x43,    0x22,0x21,0xa6,0x25,0x66,
    0xb9,0x12,0x23,0x25,0x22,0xa5,0xab,0x22,    0x71,
    0x00,
};
unsigned char code music_tab4[]={    //北國之春
    0x15,0x16,0x75,    0x15,0x16,0x55,0x13,0x15,0x16,0x15,0x16,0x99,0x12,0x13,
    0x65,0x45,0x13,0x12,0x11,0x12,    0x73,
    0x62,0x42,0x12,0x11,0x96,0x15,    0x76,
    0x55,0x23,0x45,0xa9,0x22,    0x53,0x12,0x13,0x65,
    0x52,0x22,0x42,0x21,0xa6,    0xe9,0x91,0x12,0x13,0x12,0x13,0x15,0x99,0x12,
    //以上為過門
    0x20,0x23,0x23,0x23,0x63,    0x22,0x23,0x23,0x22,0x41,0xa6,0x25,
    0x53,0x22,0x21,0xa9,0x21,0xa6,    0x75,
    0x26,0xa9,0x21,0xa6,0xc9,0x12,0x11,0x96,0x15,
    0x23,0x25,0x25,0x26,0x45,0x21,0x22,
    0x13,0x35,0x25,0xa9,0xa6,0x25,0x23,0x22,    0x71,
    0x52,0x25,0x45,0x13,0x15,0x13,0x12,    0x21,0x41,0x22,0x43,0x45,
    0x23,0x25,0x26,0xa9,0x42,0x12,0x33,    0x72,
    0x51,0x22,0x43,0x22,0x21,    0xc6,0xc9,0x29,0xc6,0x45,0x23,0x23,
    0x53,0x25,0x26,0x25,0x13,0x12,0x21,    0x62,0x42,0x23,0x25,
    0x55,0x26,0x25,0x23,0x45,    0x26,0xa9,0x21,0x22,0x63,
    0x52,0x22,0x22,0x13,0x12,0x21,0xa6,0xf9,
    0x00,
};

unsigned char code music_l_tab[8]={0,1,2,3,4,6,8,16};//節(jié)拍延時單位
unsigned char code music_freq_tab[64]={             //音符定時器值表
    0xff,0xea,                                      //0 休止符
    freq_chn(131),     //freq_chn(x/256    //1 do 高字節(jié)     //freq_chn(x%256    //1 do 低字節(jié)
    freq_chn(147),       //2 re
    freq_chn(165),        //3 mi
    freq_chn(175),        //4 fa
    freq_chn(196),        //5 suo
    freq_chn(221),        //6 la
    freq_chn(248),        //7 xi

    0xff,0xea,                                      //0 休止符
    freq_chn(262),        //1 do
    freq_chn(294),        //2 re
    freq_chn(330),        //3 mi
    freq_chn(350),        //4 fa
    freq_chn(393),        //5 suo
    freq_chn(441),        //6 la
    freq_chn(495),        //7 xi

    0xff,0xea,                                      //0 休止符
    freq_chn(525),        //1 do
    freq_chn(589),        //2 re
    freq_chn(661),        //3 mi
    freq_chn(700),        //4 fa
    freq_chn(786),        //5 suo
    freq_chn(882),        //6 la
    freq_chn(990),        //7 xi

    0xff,0xea,                                      //0 休止符
    freq_chn(1049),      //1 do
    freq_chn(1178),      //2 re
    freq_chn(1322),      //3 mi
    freq_chn(1400),      //4 fa
    freq_chn(1572),      //5 suo
    freq_chn(1665),      //6 la
    freq_chn(1869),      //7 xi

};

unsigned char code music_frequp_tab[64]={           //升半音
    0xff,0xea,                                      //0 休止符
    freq_chn(139),        //1 do 高字節(jié)
    freq_chn(156),        //2 re
    freq_chn(175),        //3 mi
    freq_chn(185),        //4 fa
    freq_chn(208),        //5 suo
    freq_chn(234),        //6 la
    freq_chn(262),        //7 xi

    0xff,0xea,                                      //0 休止符
    freq_chn(278),        //1 do
    freq_chn(312),        //2 re
    freq_chn(350),        //3 mi
    freq_chn(371),        //4 fa
    freq_chn(416),        //5 suo
    freq_chn(467),        //6 la
    freq_chn(525),        //7 xi

    0xff,0xea,                                      //0 休止符
    freq_chn(556),        //1 do
    freq_chn(624),        //2 re
    freq_chn(700),        //3 mi
    freq_chn(742),        //4 fa
    freq_chn(833),        //5 suo
    freq_chn(935),        //6 la
    freq_chn(1049),      //7 xi

    0xff,0xea,                                      //0 休止符
    freq_chn(1112),      //1 do
    freq_chn(1248),      //2 re
    freq_chn(1400),      //3 mi
    freq_chn(1484),      //4 fa
    freq_chn(1618),      //5 suo
    freq_chn(1764),      //6 la
    freq_chn(1968),      //7 xi
};
unsigned char temp_TH1;
unsigned char temp_TL1;

    //  音樂_編碼2 -- IO定義  //
sbit PIN_MSC=P1^0;                   //  音樂輸出端口  //

    //  音樂_編碼2 -- 函數(shù)原型//
void music_delay(unsigned char x);   //音樂節(jié)拍延時
void music_play(unsigned char *msc); //播放音樂子程序

    //  音樂_編碼2 -- 函數(shù)    //
//---------------------------------------------------------------------------//
void music_int_t1 (void) interrupt 3 using 1    //定時中斷1//
    {
    PIN_MSC=~PIN_MSC;
    TH1=temp_TH1;
    TL1=temp_TL1;
}

//---------------------------------------------------------------------------//
void music_delay(unsigned char n)     //延時 125*n 毫秒
    {
    unsigned char i=125,j;
    do {
        do {
            for (j=0; j<230; j++) _nop_(); //j=(11159KHz/12-10)/4
        }while(--i);
    }while(--n);
}

//---------------------------------------------------------------------------//
void music_play(unsigned char *msc)   //音樂
    {
    unsigned char music_freq=32;      //音高 
    unsigned char music_long;         //節(jié)拍
    unsigned char music_data=0;       //音符數(shù)據(jù)
    bit music_up=0;                   //升半音
    bit music_break=0;                //斷奏
    temp_TH1=0xff;
    temp_TL1=0xea;                    //關(guān)輸出(輸出超聲波)
    TMOD=0x11;                        //T0:16位定時器、T1:16位定時器
//    ET0=0;                          //關(guān)T0定時器中斷
    ET1=1;                            //開T1定時器中斷
//---------------------------------------------------------
    while (*msc != 0x00)
        {
        music_data=*msc & 0x07;
        music_long=*msc>>4;
        //---------------------------------------------------------
        if (music_long != 0)          //是音符
            {
            if (*msc >=128)           //需升降調(diào)
                {
                if (((*msc) & 0x08) == 0)
                    {if (music_freq >= 16) music_freq -= 16;}    //音高下降 
                else
                    {if (music_freq <  48) music_freq += 16;}    //音高上升
            }
            //---------------------------------------------------------
            if (music_up==1)          //升半音
                {
                temp_TH1=music_frequp_tab[(music_freq  + (music_data <<1))];
                temp_TL1=music_frequp_tab[(music_freq + (music_data <<1)+1)];
            }
            else                      //不升半音
                {
                temp_TH1=music_freq_tab[(music_freq + (music_data <<1))];
                temp_TL1=music_freq_tab[(music_freq + (music_data <<1)+ 1)];
            }
            //---------------------------------------------------------
            if (music_break)          //斷奏
                {
                music_delay(music_l_tab[music_long&0x07]-1);
                temp_TH1=0xff;
                temp_TL1=0xea;
                music_delay(1);
            }
            else                      //連奏
                music_delay(music_l_tab[music_long&0x07]);
        }
        //---------------------------------------------------------
        else                          //是功能碼
            {
            switch(music_data)
                {
                case 0x04:
                    music_up=0;       //不升半音
                    break;
                case 0x05:
                    music_up=1;       //升半音
                    break;
                case 0x06:
                    music_break=0;    //斷奏
                    break;
                case 0x07:
                    music_break=1;    //連奏
                    break;
                default:
                    break;
            }
        }
        //---------------------------------------------------------
        msc++;
    }
    ET1=0;                           //播放結(jié)束,關(guān)T1中斷
    PIN_MSC=1;                       //關(guān)輸出
//    temp_TH1=0xff;
//    temp_TL1=0xea;                 //關(guān)輸出(輸出超聲波)
//    ET0=1;                         //開T0定時器中斷
//    TMOD=0x51;                     //T0:16位定時器、T1:16位計數(shù)器
}

//---------------------------------------------------------------------------//
void main(void)                      //示例
{
    //    設(shè)置定時器--------------------------------------
        TMOD   =  0x11;         // TMOD: 定時器1:模式1:16位;定時器2:模式1:16位   //
//        TCON   =  0x50;       // TCON: 定時器 1運行;      定時器 2運行         //
    //    設(shè)置并開啟中斷: 
        IP  = 0x08;             //中斷優(yōu)先寄存器IP:|D7_x |x|x  |PS|PT1|PX1|PT0|D0_PX0|//
        IE  = 0x88;             //中斷允許寄存器IE:|D7_EA|x|ET2|ES|ET1|EX1|ET0|D0_EX0|//
   for (;;) {
      //在此調(diào)用鍵盤和顯示函數(shù)//
      music_play(music_tab1);
      music_play(music_tab2);
      music_play(music_tab3);
      music_play(music_tab4);
   }
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩中文国产| 蜜桃视频在线观看一区| 99久久婷婷国产综合精品 | 欧美日韩一区二区三区在线看| 亚洲免费观看高清| 91在线免费播放| 亚洲综合丁香婷婷六月香| 91在线免费播放| 天天射综合影视| 日韩一二三区视频| 国产91高潮流白浆在线麻豆| 中文字幕在线播放不卡一区| 在线精品视频一区二区三四| 午夜精品影院在线观看| 精品国产一二三区| 99精品欧美一区二区三区小说 | 成人免费视频在线观看| 精品视频免费在线| 国产精品伊人色| 亚洲激情第一区| 日韩欧美国产综合| 91丨九色丨蝌蚪富婆spa| 亚洲国产综合视频在线观看| 精品人伦一区二区色婷婷| 成人性生交大片免费看视频在线| 亚洲午夜精品网| 国产欧美一区二区三区在线老狼| 日本电影亚洲天堂一区| 看片网站欧美日韩| 亚洲三级理论片| 日韩精品资源二区在线| 色综合色狠狠天天综合色| 免费观看91视频大全| 日韩毛片一二三区| 精品久久久久久久久久久久久久久| 粉嫩一区二区三区性色av| 天天色综合成人网| 亚洲欧美视频在线观看视频| 欧美大片在线观看| 欧美在线观看视频在线| 风间由美中文字幕在线看视频国产欧美| 亚洲一级二级在线| 国产精品久久久久婷婷二区次| 91精品国产综合久久精品麻豆| 成人福利视频网站| 极品美女销魂一区二区三区 | 免费观看在线综合色| 亚洲欧美电影一区二区| 国产婷婷色一区二区三区四区| 国产丝袜在线精品| 欧美一级国产精品| 色香色香欲天天天影视综合网| 国产精品一区二区在线观看不卡| 亚洲va韩国va欧美va精品| 国产精品久久久久久久久久免费看| 日韩一区二区精品葵司在线| 欧美日韩一区二区电影| 色先锋资源久久综合| 成人美女视频在线观看18| 国产在线看一区| 日本视频一区二区三区| 亚洲国产精品一区二区久久恐怖片| 中文字幕一区在线观看| 国产日产精品1区| 2020国产成人综合网| 日韩一区二区三区观看| 欧美日本在线播放| 精品1区2区3区| 在线观看一区二区精品视频| 成人99免费视频| av成人老司机| 91尤物视频在线观看| 99亚偷拍自图区亚洲| 成人久久久精品乱码一区二区三区 | 91麻豆精品国产91久久久久久| 在线观看亚洲精品视频| 91免费视频网址| 在线观看日韩精品| 欧美三级韩国三级日本一级| 欧美在线free| 欧美三级资源在线| 欧美日韩电影一区| 5月丁香婷婷综合| 欧美一级艳片视频免费观看| 日韩欧美高清dvd碟片| 欧美mv日韩mv| 国产免费观看久久| 亚洲人成网站影音先锋播放| 一区二区三区在线观看动漫| 亚洲国产一二三| 午夜欧美视频在线观看 | 午夜视频在线观看一区二区 | 久久综合精品国产一区二区三区| 欧美xxxxxxxxx| 国产人久久人人人人爽| 亚洲欧洲精品一区二区三区| 亚洲黄色免费电影| 日韩电影免费在线看| 国产在线视视频有精品| 成人精品鲁一区一区二区| 一本色道久久加勒比精品| 欧美日韩aaaaaa| 精品国产乱子伦一区| 亚洲国产精品成人综合 | 日韩欧美不卡在线观看视频| 久久综合久久综合亚洲| 日本伊人色综合网| 国产真实乱偷精品视频免| www.欧美精品一二区| 欧美色欧美亚洲另类二区| 2023国产精品| 亚洲欧美日韩成人高清在线一区| 午夜精品视频在线观看| 国产成人亚洲综合a∨婷婷图片 | 中文字幕一区二区三区精华液| 一二三区精品视频| 精品一区二区三区视频| 色婷婷国产精品久久包臀 | 国产人伦精品一区二区| 亚洲韩国精品一区| 国产高清成人在线| 欧美日韩精品一区二区三区 | 亚洲精品视频在线观看免费| 日本vs亚洲vs韩国一区三区二区| 国产成都精品91一区二区三| 欧美日韩国产高清一区二区三区 | 欧美一级精品大片| 亚洲乱码精品一二三四区日韩在线| 免费不卡在线观看| 99re免费视频精品全部| 日韩精品一区二区三区老鸭窝| 一区二区三区视频在线看| 精品一区二区三区蜜桃| 欧美三级电影网| 中文字幕一区在线观看| 国产在线精品免费| 欧美人成免费网站| 亚洲品质自拍视频| 国产成人丝袜美腿| 欧美大片一区二区三区| 樱花影视一区二区| 成人爽a毛片一区二区免费| 日韩欧美一区二区不卡| 一区二区高清视频在线观看| 国产成人日日夜夜| 久久影院电视剧免费观看| 日韩精彩视频在线观看| 在线观看国产一区二区| 中文字幕不卡的av| 国产成人午夜片在线观看高清观看| 日韩欧美www| 青青青爽久久午夜综合久久午夜| 欧美综合久久久| 亚洲欧美乱综合| 91一区一区三区| 亚洲色图欧洲色图| 99久久精品一区| 中文字幕一区二区三中文字幕| 国产suv精品一区二区6| 欧美zozo另类异族| 国模一区二区三区白浆| 日韩欧美在线综合网| 日本午夜一区二区| 制服.丝袜.亚洲.中文.综合| 亚洲成人综合网站| 欧美日韩国产小视频在线观看| 亚洲免费三区一区二区| 色婷婷激情久久| 亚洲电影第三页| 欧美日韩精品免费| 五月综合激情婷婷六月色窝| 欧美日本一区二区在线观看| 欧美aa在线视频| 欧美tickle裸体挠脚心vk| 精品午夜久久福利影院| 久久久久久一二三区| 91精品国产综合久久久久久久久久| 日韩中文字幕1| 日韩精品一区二区三区在线观看 | 国产一区二区三区黄视频| 久久麻豆一区二区| 懂色一区二区三区免费观看| 中文字幕av一区二区三区免费看| 成人美女视频在线观看18| 一区二区三区中文字幕电影| 欧美撒尿777hd撒尿| 日本女优在线视频一区二区 | 中文字幕国产一区| 91久久精品国产91性色tv| 香蕉久久夜色精品国产使用方法| 欧美日韩免费一区二区三区| 日本麻豆一区二区三区视频| 欧美精品一区二区三区四区 | 国产伦精品一区二区三区视频青涩| 国产丝袜欧美中文另类| 91捆绑美女网站| 免费成人在线播放| 国产精品成人一区二区三区夜夜夜| 在线视频一区二区三区| 久久电影网电视剧免费观看|