<li id="8g3ty"><tbody id="8g3ty"><th id="8g3ty"></th></tbody></li>
    <label id="8g3ty"><samp id="8g3ty"></samp></label>
  • <span id="8g3ty"></span>

    1. <center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
    2. <bdo id="8g3ty"><meter id="8g3ty"><bdo id="8g3ty"></bdo></meter></bdo><center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
      <label id="8g3ty"><samp id="8g3ty"></samp></label>

    3. 電子開發(fā)網(wǎng)

      電子開發(fā)網(wǎng)電子設(shè)計(jì) | 電子開發(fā)網(wǎng)Rss 2.0 會(huì)員中心 會(huì)員注冊
      搜索: 您現(xiàn)在的位置: 電子開發(fā)網(wǎng) >> 電子開發(fā) >> 單片機(jī) >> 正文

      51單片機(jī)蜂鳴器播放音樂代碼

      作者:佚名    文章來源:本站原創(chuàng)    點(diǎn)擊數(shù):    更新時(shí)間:2016-11-21

       /*生日快樂歌曲*/
      /*******************************************/

      #include <reg51.h>
      #define uint unsigned int
      #define uchar unsigned char
      sbit beep = P1^5;
      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};

      //延時(shí)
      void DelayMS(uint x)
      {
      uchar t;
      while(x--) for(t=0;t<120;t++);
      }

      void PlayMusic()
      {
      uint i=0,j,k;
      while(SONG_LONG[i]!=0||SONG_TONE[i]!=0)
      { //播放各個(gè)音符,SONG_LONG 為拍子長度
          for(j=0;j<SONG_LONG[i]*20;j++)
      {
          beep=~beep;
      //SONG_TONE 延時(shí)表決定了每個(gè)音符的頻率
          for(k=0;k<SONG_TONE[i]/3;k++);
      }
          DelayMS(10);
          i++;
      }
      }


      void main()
      {

      beep=0;
      while(1)
      {
      PlayMusic(); //播放生日快樂
      DelayMS(500); //播放完后暫停一段時(shí)間
      }
      }

      /*兩只蝴蝶歌曲*/  
      /*******************************************/

      #include <reg51.h>             // 這是  單片機(jī)音樂代碼生成器  生成的代碼
      #define uchar unsigned char
      sbit beepIO=P1^5;                 // 輸出 為 P1.5  可以修改 成 其它 IO 口
      uchar m,n;
      uchar code T[49][2]={{0,0},
      {0xF8,0x8B},{0xF8,0xF2},{0xF9,0x5B},{0xF9,0xB7},{0xFA,0x14},{0xFA,0x66},{0xFA,0xB9},{0xFB,0x03},{0xFB,0x4A},{0xFB,0x8F},{0xFB,0xCF},{0xFC,0x0B},
      {0xFC,0x43},{0xFC,0x78},{0xFC,0xAB},{0xFC,0xDB},{0xFD,0x08},{0xFD,0x33},{0xFD,0x5B},{0xFD,0x81},{0xFD,0xA5},{0xFD,0xC7},{0xFD,0xE7},{0xFE,0x05},
      {0xFE,0x21},{0xFE,0x3C},{0xFE,0x55},{0xFE,0x6D},{0xFE,0x84},{0xFE,0x99},{0xFE,0xAD},{0xFE,0xC0},{0xFE,0x02},{0xFE,0xE3},{0xFE,0xF3},{0xFF,0x02},
      {0xFF,0x10},{0xFF,0x1D},{0xFF,0x2A},{0xFF,0x36},{0xFF,0x42},{0xFF,0x4C},{0xFF,0x56},{0xFF,0x60},{0xFF,0x69},{0xFF,0x71},{0xFF,0x79},{0xFF,0x81}
      };
      uchar code music[][2]={{0,4},
      {23,4},{21,4},{23,16},{23,4},{21,4},{23,4},{21,4},{19,16},{16,4},{19,4},{21,8},{21,4},{23,4},{21,4},{19,4},{16,4},{19,4},{14,24},
      {23,4},{21,4},{23,16},{23,4},{21,4},{23,4},{21,4},{19,24},{16,4},{19,4},{21,8},{21,4},{23,4},{21,4},{19,4},{16,4},{19,4},{21,24},
      {23,4},{21,4},{23,16},{23,4},{21,4},{23,4},{21,4},{19,16},{16,4},{19,4},{21,8},{21,4},{23,4},{21,4},{19,4},{16,4},{19,4},{14,24},
      {23,4},{26,4},{26,16},{26,4},{28,4},{26,4},{23,24},{21,4},{23,4},{21,8},{21,4},{23,4},{21,4},{19,4},{16,4},{16,2},{19,2},{19,24},{0,20},
      {26,4},{26,4},{28,4},{31,4},{30,4},{30,4},{28,4},{23,4},{21,4},{21,4},{23,16},{0,4},{23,4},{23,4},{26,4},{28,8},{28,12},{16,4},{23,4},{21,4},
      {21,24},{23,4},{26,4},{26,4},{23,4},{26,8},{0,4},{31,8},{30,4},{28,4},{30,4},{23,8},{0,4},{28,4},{28,4},{30,4},{28,4},{26,4},{23,4},{21,8},{23,4},{21,4},{23,4},{26,16},
      {0xFF,0xFF}};
      void delay(uchar p)
      {
          uchar i,j;
          for(;p>0;p--)
          for(i=181;i>0;i--)
          for(j=181;j>0;j--);
      }
      void pause()
      {
          uchar i,j;
          for(i=150;i>0;i--)
          for(j=150;j>0;j--);
      }
      void T0_int() interrupt 1
      {
       beepIO=!beepIO;
       TH0=T[m][0]; TL0=T[m][1];
      }
      void main()
      {
       uchar i=0;
       TMOD=0x01;  EA=1; ET0=1;
       while(1)
            {
              m=music[i][0];n=music[i][1];
                 if(m==0x00)
                   {TR0=0;delay(n);i++;}
                 else if(m==0xFF)
                   {TR0=0;delay(30);i=0;}
                 else if(m==music[i+1][0])
                   {TR0=1;delay(n);TR0=0;pause();i++;}
                 else
                   {TR0=1;delay(n);i++;}
            }
      }

       

      /*祝你平安*/  
      /*******************************************/

      #include "reg52.h"
      unsigned char Count;
      sbit _Speak =P1^5 ;
      unsigned char code SONG[] ={      //祝你平安
      0x26,0x20,0x20,0x20,0x20,0x20,0x26,0x10,0x20,0x10,0x20,0x80,0x26,0x20,0x30,0x20,
      0x30,0x20,0x39,0x10,0x30,0x10,0x30,0x80,0x26,0x20,0x20,0x20,0x20,0x20,0x1c,0x20,
      0x20,0x80,0x2b,0x20,0x26,0x20,0x20,0x20,0x2b,0x10,0x26,0x10,0x2b,0x80,0x26,0x20,
      0x30,0x20,0x30,0x20,0x39,0x10,0x26,0x10,0x26,0x60,0x40,0x10,0x39,0x10,0x26,0x20,
      0x30,0x20,0x30,0x20,0x39,0x10,0x26,0x10,0x26,0x80,0x26,0x20,0x2b,0x10,0x2b,0x10,
      0x2b,0x20,0x30,0x10,0x39,0x10,0x26,0x10,0x2b,0x10,0x2b,0x20,0x2b,0x40,0x40,0x20,
      0x20,0x10,0x20,0x10,0x2b,0x10,0x26,0x30,0x30,0x80,0x18,0x20,0x18,0x20,0x26,0x20,
      0x20,0x20,0x20,0x40,0x26,0x20,0x2b,0x20,0x30,0x20,0x30,0x20,0x1c,0x20,0x20,0x20,
      0x20,0x80,0x1c,0x20,0x1c,0x20,0x1c,0x20,0x30,0x20,0x30,0x60,0x39,0x10,0x30,0x10,
      0x20,0x20,0x2b,0x10,0x26,0x10,0x2b,0x10,0x26,0x10,0x26,0x10,0x2b,0x10,0x2b,0x80,
      0x18,0x20,0x18,0x20,0x26,0x20,0x20,0x20,0x20,0x60,0x26,0x10,0x2b,0x20,0x30,0x20,
      0x30,0x20,0x1c,0x20,0x20,0x20,0x20,0x80,0x26,0x20,0x30,0x10,0x30,0x10,0x30,0x20,
      0x39,0x20,0x26,0x10,0x2b,0x10,0x2b,0x20,0x2b,0x40,0x40,0x10,0x40,0x10,0x20,0x10,
      0x20,0x10,0x2b,0x10,0x26,0x30,0x30,0x80,0x00};

      void Time0_Init()
      {
       TMOD = 0x01;
       IE   = 0x82;
       TH0  = 0xD8;
       TL0  = 0xEF;  //12MZ晶振,10ms
      }

      void Time0_Int() interrupt 1
      {
       TH0 = 0xD8;
       TL0 = 0xEF;
       Count++;   //長度加1
      }

      /*-------------------------------------------------
      功能:1MS延時(shí)子程序
      -------------------------------------------------*/
      void Delay_xMs(unsigned int x)
      {
          unsigned int i,j;
          for( i =0;i < x;i++ )
          {
              for( j =0;j<3;j++ );
          }
      }

      void Play_Song(unsigned char i)
      {
       unsigned char Temp1,Temp2;
       unsigned int Addr;
       Count = 0;      //中斷計(jì)數(shù)器清0
       Addr = i * 217;
       while(1)
       {
        Temp1 = SONG[Addr++];
           if ( Temp1 == 0xFF )          //休止符
           {
            TR0 = 0;
            Delay_xMs(100);
           }
           else if ( Temp1 == 0x00 )   //歌曲結(jié)束符
           {
            return;
           }
           else
           {
            Temp2 = SONG[Addr++];
            TR0 = 1;
           while(1)
           {
             _Speak = ~_Speak;
             Delay_xMs(Temp1);
             if ( Temp2 == Count )
             {
              Count = 0;
              break;
             }
            }
           }
       }
      }
      /*-------------------------------------------------
      功能:主程序
      -------------------------------------------------*/
      void main()
      {
       Time0_Init();   //定時(shí)器0中斷初始化
       while(1)
       {
        Play_Song(0);  //播放
       }
      }

      Tags:51單片機(jī),編程,歌曲  
      責(zé)任編輯:admin
      請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
      1分 2分 3分 4分 5分

      還可以輸入 200 個(gè)字
      [ 查看全部 ] 網(wǎng)友評論
      關(guān)于我們 - 聯(lián)系我們 - 廣告服務(wù) - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
      返回頂部
      刷新頁面
      下到頁底
      晶體管查詢
      主站蜘蛛池模板: 久久婷婷成人综合色综合| 亚洲狠狠综合久久| 天天做天天做天天综合网| 天天做天天爱天天爽综合网| 色综合久久中文色婷婷| 一本久久综合亚洲鲁鲁五月天| 精品综合久久久久久88小说| 亚洲国产国产综合一区首页| 亚洲国产精品成人综合色在线| 国产91久久综合| 亚洲综合一区国产精品| 色诱久久久久综合网ywww| 亚洲av综合av一区二区三区| 国产综合一区二区| 久久综合伊人77777麻豆| 图图资源网亚洲综合网站| 狠狠色丁香婷婷综合久久来来去| 精品综合久久久久久97超人| 狠狠色综合7777久夜色撩人| 丁香婷婷色五月激情综合深爱| 99久久婷婷国产综合精品| 久久综合综合久久综合| 亚洲综合另类小说色区| 一本大道AV伊人久久综合| 色噜噜狠狠狠狠色综合久不| 色成年激情久久综合| 亚洲精品天天影视综合网| 婷婷五月综合缴情在线视频| 色综合天天综合网国产成人| 小说区 图片区色 综合区| 亚洲综合久久久久久中文字幕| 伊人久久大香线蕉综合电影| 伊人色综合久久88加勒| 久久亚洲综合色一区二区三区| 国产成人AV综合久久| 久久久综合亚洲色一区二区三区| 久久综合综合久久狠狠狠97色88| 99热婷婷国产精品综合| 亚洲综合小说久久另类区| 天天欲色成人综合网站| 国产综合无码一区二区三区|