国产免费AV|泡泡玛特欧洲总部将设在伦敦|中文天堂网www新版资源在线|一本久道综合在线中文|国精产品一二三产区的使用方法|香蕉鱼在线观看|www.27eee

ELEOK

標題: 基于51單片機音樂播放仿真 樂譜制作軟件 音樂資料 [打印本頁]

作者: coolice    時間: 2020-1-22 13:37
標題: 基于51單片機音樂播放仿真 樂譜制作軟件 音樂資料
基于51單片機音樂播放仿真 樂譜制作軟件 音樂資料.rar (668.85 KB, 售價: 1 E幣)

  1. 單片機源程序如下:
  2. #include <REG52.H>
  3. #include "MusicBox.h"
  4. /*********************代碼說明**************************
  5. 音樂驅動參考部分網上代碼,感謝原作者
  6. T0,T1用于翁鳴器頻率計時和控制
  7. 使用P1.0口控制翁鳴器,高電平導通
  8. 使用外部中斷0,實現曲目控制。設置中斷0為最高優先級
  9. 在開發板上調試使用STC89C51芯片,4K flash
  10. 在手工焊板上使用STC89C52芯片,8K flash,能放置更多歌曲文件
  11. ********************************************/

  12. #define  MSC_NUM  5                             //總曲目數
  13. unsigned char play_num = 0;                     //當前播放曲目號            
  14. unsigned char play_state = 1;   


  15. unsigned char code Music_SummerNut[];        //盛夏的果實
  16. unsigned char code Music_leftTrouble[];      //忘憂草
  17. unsigned char code Music_moonHeart[];        //月亮代表我的心
  18. unsigned char code Music_JiXiang[];          //吉祥三寶
  19. unsigned char code Music_twoButterFly[];     //兩只蝴蝶


  20. //定義歌曲播放指針數組
  21. unsigned char* pMusic[] = {Music_SummerNut, Music_leftTrouble, Music_twoButterFly, Music_moonHeart, Music_JiXiang};

  22. void main(void)
  23. {
  24.    unsigned char degree = 3;          //設定播放音調,升八度
  25.    unsigned int play_speed = 300;     //設定播放速度,默認為300

  26.         InitialSound();
  27.         while(1)
  28.         {        
  29.            //調用歌曲播放函數
  30.                 Play(pMusic[play_num], 0, degree, play_speed);

  31.                 //單曲完畢后,延時1S
  32.                 Delay1ms(1000);
  33.                
  34.                 //重設播放狀態為1
  35.       play_state = 1;
  36.         }
  37. }



  38. void Delay1ms(unsigned int count)  //延時,ms級
  39. {
  40.         unsigned int i,j;
  41.         for(i=0; i<count; i++)
  42.         for(j=0; j<120; j++);
  43. }

  44. void Int_1(void) interrupt 2  //中斷1,累加全局變量,暫停當前歌曲播放,曲目跳轉
  45. {
  46.    EA = 0;

  47.         //設置為不播放狀態
  48.         play_state = 0;

  49.         P0 = 0x80;

  50.         //曲目號累加
  51.    play_num++;

  52.         if(play_num >= MSC_NUM){  //若當前播放曲目為最后一條,則回零播放
  53.           play_num = 0;  
  54.         }

  55.    EA = 1;
  56. }


  57. //***********************************Music files**************************************************
  58. //吉祥三寶,一遍,后段轉換不成功,未加入
  59. unsigned char code Music_JiXiang[] = { 0x17,0x03, 0x19,0x17, 0x19,0x16, 0x19,0x02, 0x19,0x0D,
  60.                                        0x19,0x03, 0x19,0x0D, 0x19,0x03, 0x17,0x03, 0x16,0x03,
  61.                                        0x17,0x03, 0x19,0x17, 0x19,0x02, 0x19,0x0D, 0x19,0x03,
  62.                                        0x19,0x0D, 0x19,0x03, 0x17,0x03, 0x16,0x03, 0x17,0x03,
  63.                                        0x16,0x17, 0x15,0x02, 0x15,0x0D, 0x15,0x03, 0x15,0x0D,
  64.                                        0x15,0x03, 0x10,0x03, 0x0F,0x03, 0x17,0x03, 0x16,0x17,
  65.                                        0x16,0x03, 0x16,0x03, 0x16,0x03, 0x17,0x03, 0x16,0x0D,
  66.                                        0x15,0x03, 0x10,0x0D, 0x0F,0x03, 0x19,0x01, 0x18,0x01,
  67.                                        0x17,0x01, 0x17,0x01, 0x00,0x00 };

  68. //盛夏的果實
  69. unsigned char code Music_SummerNut[] = { 0x17,0x02, 0x17,0x03, 0x16,0x03, 0x16,0x16, 0x10,0x03,
  70.                                   0x15,0x02, 0x15,0x03, 0x16,0x03, 0x16,0x02, 0x15,0x03,
  71.                                   0x11,0x03, 0x10,0x02, 0x15,0x02, 0x16,0x03, 0x16,0x03,
  72.                                   0x15,0x03, 0x16,0x03, 0x17,0x02, 0x17,0x03, 0x16,0x03,
  73.                                   0x16,0x01, 0x17,0x03, 0x17,0x03, 0x17,0x03, 0x19,0x03,
  74.                                   0x19,0x16, 0x19,0x03, 0x1A,0x03, 0x17,0x03, 0x17,0x03,
  75.                                   0x16,0x03, 0x17,0x01, 0x17,0x03, 0x17,0x03, 0x17,0x03,
  76.                                   0x19,0x03, 0x19,0x03, 0x19,0x03, 0x19,0x03, 0x1A,0x03,
  77.                                   0x17,0x03, 0x17,0x03, 0x17,0x16, 0x17,0x03, 0x16,0x03,
  78.                                   0x15,0x03, 0x10,0x03, 0x15,0x03, 0x17,0x04, 0x16,0x04,
  79.                                   0x16,0x02, 0x15,0x03, 0x16,0x03, 0x17,0x02, 0x19,0x67,
  80.                                   0x1A,0x04, 0x1A,0x02, 0x17,0x03, 0x16,0x03, 0x15,0x02,
  81.                                   0x15,0x03, 0x17,0x03, 0x16,0x02, 0x15,0x03, 0x10,0x03,
  82.                                   0x10,0x14, 0x16,0x66, 0x16,0x03, 0x15,0x66, 0x17,0x03,
  83.                                   0x19,0x03, 0x17,0x03, 0x17,0x15, 0x16,0x15, 0x15,0x03,
  84.                                   0x11,0x03, 0x10,0x03, 0x10,0x14, 0x16,0x66, 0x16,0x03,
  85.                                   0x15,0x02, 0x16,0x02, 0x17,0x02, 0x19,0x67, 0x1A,0x04,
  86.                                   0x1A,0x16, 0x1F,0x03, 0x1F,0x66, 0x1B,0x03, 0x1B,0x66,
  87.                                   0x1F,0x03, 0x1B,0x03, 0x1A,0x03, 0x1A,0x02, 0x17,0x02,
  88.                                   0x17,0x03, 0x16,0x03, 0x16,0x16, 0x10,0x03, 0x15,0x02,
  89.                                   0x15,0x03, 0x16,0x03, 0x16,0x02, 0x15,0x03, 0x11,0x03,
  90.                                   0x10,0x02, 0x15,0x02, 0x16,0x03, 0x16,0x03, 0x15,0x03,
  91.                                   0x16,0x03, 0x17,0x02, 0x17,0x03, 0x16,0x03, 0x16,0x01,
  92.                                   0x17,0x03, 0x17,0x03, 0x17,0x03, 0x19,0x03, 0x19,0x16,
  93.                                   0x19,0x03, 0x1A,0x03, 0x17,0x03, 0x17,0x03, 0x16,0x03,
  94.                                   0x17,0x01, 0x17,0x03, 0x17,0x03, 0x17,0x03, 0x19,0x03,
  95.                                   0x19,0x03, 0x19,0x03, 0x19,0x03, 0x1A,0x03, 0x17,0x03,
  96.                                   0x17,0x03, 0x17,0x16, 0x17,0x03, 0x16,0x03, 0x15,0x03,
  97.                                   0x10,0x03, 0x15,0x03, 0x17,0x04, 0x16,0x04, 0x16,0x02,
  98.                                   0x15,0x03, 0x16,0x03, 0x17,0x02, 0x19,0x67, 0x1A,0x04,
  99.                                   0x1A,0x02, 0x17,0x03, 0x16,0x03, 0x15,0x02, 0x15,0x03,
  100.                                   0x17,0x03, 0x16,0x02, 0x15,0x03, 0x11,0x03, 0x10,0x14,
  101.                                   0x16,0x66, 0x15,0x66, 0x17,0x03, 0x19,0x03, 0x17,0x03,
  102.                                   0x17,0x15, 0x16,0x15, 0x15,0x03, 0x11,0x03, 0x10,0x03,
  103.                                   0x10,0x14, 0x16,0x66, 0x16,0x03, 0x15,0x02, 0x16,0x02,
  104.                                   0x17,0x02, 0x19,0x03, 0x1A,0x03, 0x1A,0x16, 0x1A,0x03,
  105.                                   0x1F,0x01, 0x1B,0x66, 0x1F,0x03, 0x1A,0x03, 0x1A,0x03,
  106.                                   0x1A,0x00, 0x00,0x00 };
  107. //忘憂草
  108. unsigned char code Music_leftTrouble[] = { 0x15,0x66, 0x16,0x03, 0x17,0x03, 0x16,0x03, 0x15,0x02,
  109.                                   0x17,0x03, 0x19,0x02, 0x1A,0x03, 0x19,0x16, 0x1A,0x66,
  110.                                   0x1F,0x03, 0x1A,0x03, 0x19,0x03, 0x17,0x03, 0x1A,0x03,
  111.                                   0x19,0x03, 0x19,0x02, 0x17,0x03, 0x16,0x16, 0x17,0x66,
  112.                                   0x19,0x03, 0x1A,0x0D, 0x19,0x03, 0x17,0x03, 0x16,0x03,
  113.                                   0x16,0x03, 0x16,0x02, 0x15,0x03, 0x15,0x16, 0x10,0x66,
  114.                                   0x15,0x03, 0x16,0x03, 0x17,0x02, 0x16,0x04, 0x15,0x0E,
  115.                                   0x15,0x04, 0x15,0x71, 0x15,0x01, 0x15,0x03, 0x16,0x03,
  116.                                   0x17,0x66, 0x19,0x03, 0x1A,0x03, 0x19,0x03, 0x17,0x02,
  117.                                   0x1A,0x03, 0x19,0x03, 0x17,0x03, 0x1A,0x03, 0x19,0x16,
  118.                                   0x1A,0x66, 0x1F,0x03, 0x1A,0x03, 0x19,0x03, 0x17,0x03,
  119.                                   0x1A,0x0D, 0x19,0x03, 0x19,0x0D, 0x19,0x16, 0x17,0x66,
  120.                                   0x19,0x03, 0x1A,0x0D, 0x19,0x03, 0x17,0x03, 0x16,0x03,
  121.                                   0x16,0x03, 0x17,0x03, 0x16,0x03, 0x15,0x03, 0x15,0x02,
  122.                                   0x10,0x03, 0x0F,0x03, 0x15,0x02, 0x16,0x03, 0x17,0x03,
  123.                                   0x16,0x03, 0x15,0x0D, 0x15,0x17, 0x10,0x04, 0x15,0x03,
  124.                                   0x15,0x0D, 0x15,0x16, 0x17,0x03, 0x19,0x03, 0x19,0x66,
  125.                                   0x17,0x03, 0x19,0x16, 0x19,0x03, 0x1A,0x66, 0x1F,0x03,
  126.                                   0x1F,0x0D, 0x1A,0x0D, 0x1A,0x02, 0x1A,0x66, 0x1F,0x03,
  127.                                   0x20,0x03, 0x1F,0x03, 0x1A,0x03, 0x19,0x03, 0x19,0x66,
  128.                                   0x1A,0x04, 0x19,0x04, 0x17,0x0D, 0x16,0x03, 0x16,0x02,
  129.                                   0x17,0x66, 0x19,0x03, 0x19,0x02, 0x17,0x03, 0x16,0x03,
  130.                                   0x16,0x02, 0x16,0x03, 0x15,0x03, 0x15,0x02, 0x10,0x03,
  131.                                   0x0F,0x03, 0x15,0x02, 0x16,0x03, 0x17,0x03, 0x16,0x03,
  132.                                   0x15,0x03, 0x10,0x03, 0x15,0x03, 0x15,0x01, 0x17,0x02,
  133.                                   0x19,0x02, 0x1A,0x15, 0x1A,0x03, 0x1F,0x66, 0x1A,0x03,
  134.                                   0x19,0x16, 0x1A,0x66, 0x1F,0x03, 0x20,0x66, 0x21,0x0D,
  135.                                   0x20,0x03, 0x20,0x0D, 0x20,0x16, 0x1F,0x03, 0x20,0x03,
  136.                                   0x21,0x66, 0x23,0x03, 0x21,0x66, 0x21,0x03, 0x20,0x66,
  137.                                   0x1F,0x03, 0x1F,0x16, 0x1A,0x66, 0x1F,0x03, 0x20,0x03,
  138.                                   0x1F,0x03, 0x1A,0x03, 0x19,0x03, 0x19,0x66, 0x1A,0x04,
  139.                                   0x19,0x04, 0x17,0x0D, 0x16,0x03, 0x16,0x02, 0x15,0x66,
  140.                                   0x16,0x03, 0x17,0x02, 0x1F,0x0D, 0x1A,0x03, 0x1A,0x15,
  141.                                   0x19,0x03, 0x1A,0x16, 0x1F,0x03, 0x20,0x02, 0x20,0x03,
  142.                                   0x1F,0x0D, 0x1F,0x17, 0x1F,0x16, 0x00,0x00 };
  143. //兩只蝴蝶
  144. unsigned char code Music_twoButterFly[] = { 0x17,0x03, 0x16,0x03, 0x17,0x0C, 0x17,0x03, 0x16,0x03,
  145.                                   0x17,0x03, 0x16,0x03, 0x15,0x01, 0x10,0x03, 0x15,0x03,
  146.                                   0x16,0x02, 0x16,0x0D, 0x17,0x03, 0x16,0x03, 0x15,0x03,
  147.                                   0x10,0x03, 0x15,0x03, 0x0F,0x01, 0x17,0x03, 0x16,0x03,
  148.                                   0x17,0x0B, 0x17,0x03, 0x16,0x03, 0x17,0x03, 0x16,0x03,
  149.                                   0x15,0x01, 0x10,0x03, 0x15,0x03, 0x16,0x02, 0x16,0x0D,
  150.                                   0x17,0x03, 0x16,0x03, 0x15,0x03, 0x10,0x03, 0x15,0x03,
  151.                                   0x16,0x01, 0x17,0x03, 0x16,0x03, 0x17,0x0B, 0x17,0x03,
  152.                                   0x16,0x03, 0x17,0x03, 0x16,0x03, 0x15,0x01, 0x10,0x03,
  153.                                   0x15,0x03, 0x16,0x02, 0x16,0x0D, 0x17,0x03, 0x16,0x03,
  154.                                   0x15,0x03, 0x10,0x03, 0x15,0x03, 0x19,0x01, 0x17,0x03,
  155.                                   0x19,0x03, 0x19,0x0B, 0x19,0x03, 0x19,0x03, 0x1A,0x03,
  156.                                   0x19,0x03, 0x17,0x01, 0x16,0x03, 0x17,0x03, 0x16,0x02,
  157.                                   0x16,0x0D, 0x17,0x03, 0x16,0x03, 0x15,0x03, 0x10,0x03,
  158.                                   0x10,0x0E, 0x15,0x0E, 0x15,0x03, 0x15,0x0D, 0x15,0x79,
  159.                                   0x19,0x03, 0x19,0x03, 0x1A,0x03, 0x1F,0x03, 0x1B,0x03,
  160.                                   0x1B,0x03, 0x1A,0x03, 0x17,0x03, 0x16,0x0D, 0x16,0x03,
  161.                                   0x17,0x0D, 0x17,0x15, 0x17,0x03, 0x17,0x03, 0x19,0x03,
  162.                                   0x1A,0x02, 0x1A,0x66, 0x10,0x03, 0x17,0x0D, 0x16,0x03,
  163.                                   0x16,0x01, 0x17,0x03, 0x19,0x03, 0x19,0x03, 0x17,0x03,
  164.                                   0x19,0x16, 0x1F,0x02, 0x1B,0x03, 0x1A,0x03, 0x1B,0x03,
  165.                                   0x17,0x16, 0x1A,0x03, 0x1A,0x03, 0x1B,0x03, 0x1A,0x03,
  166.                                   0x19,0x03, 0x17,0x03, 0x16,0x02, 0x17,0x0D, 0x16,0x03,
  167.                                   0x17,0x03, 0x19,0x02, 0x00,0x00 };

  168. //月亮代表我的心
  169. unsigned char code Music_moonHeart[] ={ 0x0F,0x03, 0x15,0x66, 0x17,0x03, 0x19,0x66, 0x15,0x03,
  170.                                   0x11,0x66, 0x17,0x03, 0x19,0x16, 0x19,0x03, 0x1A,0x03,
  171.                                   0x1B,0x02, 0x1F,0x66, 0x1A,0x03, 0x1A,0x03, 0x19,0x0D,
  172.                                   0x19,0x02, 0x17,0x03, 0x16,0x03, 0x15,0x66, 0x15,0x03,
  173.                                   0x15,0x02, 0x17,0x03, 0x16,0x03, 0x15,0x66, 0x15,0x03,
  174.                                   0x15,0x02, 0x16,0x03, 0x17,0x03, 0x16,0x02, 0x15,0x03,
  175.                                   0x10,0x02, 0x16,0x0D, 0x17,0x03, 0x16,0x15, 0x0F,0x03,
  176.                                   0x17,0x0D, 0x19,0x03, 0x17,0x66, 0x16,0x03, 0x15,0x02,
  177.                                   0x19,0x02, 0x11,0x01, 0x10,0x03, 0x11,0x03, 0x10,0x02,
  178.                                   0x11,0x03, 0x10,0x02, 0x0F,0x02, 0x17,0x01, 0x19,0x02,
  179.                                   0x17,0x66, 0x16,0x03, 0x15,0x02, 0x19,0x02, 0x11,0x01,
  180.                                   0x10,0x03, 0x11,0x03, 0x15,0x66, 0x15,0x03, 0x15,0x02,
  181.                                   0x16,0x0D, 0x17,0x03, 0x16,0x15, 0x0F,0x03, 0x15,0x66,
  182.                                   0x17,0x03, 0x19,0x66, 0x15,0x03, 0x11,0x66, 0x17,0x03,
  183.                                   0x19,0x66, 0x19,0x03, 0x1A,0x66, 0x1B,0x03, 0x1F,0x66,
  184.                                   0x1A,0x03, 0x1A,0x03, 0x19,0x0D, 0x19,0x02, 0x17,0x03,
  185.                                   0x16,0x03, 0x15,0x66, 0x15,0x03, 0x15,0x02, 0x17,0x03,
  186.                                   0x16,0x03, 0x15,0x66, 0x15,0x03, 0x15,0x02, 0x16,0x03,
  187.                                   0x17,0x03, 0x16,0x66, 0x10,0x03, 0x11,0x02, 0x15,0x0D,
  188.                                   0x16,0x03, 0x15,0x15, 0x00,0x00 };

復制代碼





歡迎光臨 ELEOK (http://m.afoofa.cn/) Powered by Discuz! X5.0