久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 21727|回復: 33
打印 上一主題 下一主題
收起左側

這個單片機最小系統播放音樂的例子真不錯

  [復制鏈接]
跳轉到指定樓層
樓主
ID:73477 發表于 2015-2-10 20:16 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
         學習單片機,制作單片機最小系統是每個單片機愛好者的都經歷過的階段,單片機最小系統制作好有什么用呢?為提高單片機愛好者學習制作單片機最小系統興趣,這里介紹一個有趣的單片機小程序,就是用單片機最小系統播放歡樂頌及最炫民族風片段。在按下圖制作好單片機最小系統后,再增加三只元件:1個電阻、1個S9012三極管,1個8歐的小喇叭后,即可完成這個單片機最小系統播放歡樂頌及最炫民族風片段的小試驗,單片機愛好者通過這個小試驗后,一定會大大增強對單片機學習的興趣。       這個單片機最小系統播放歡樂頌及最炫民族風片段的小試驗,由于電路比較簡單,所以這里就不畫出原理圖了,直接給出試驗的PCB圖,感興趣的愛好者可以按圖進行焊接制作,制作好后向單片機內燒寫程序后安裝上去就可以工作,感受一下單片機的無窮勉力。
      下載 單片機播放歡樂頌與最炫民族風片段程序包.zip (204.72 KB, 下載次數: 172)



      焊好的單片機最小系統播放歡樂頌及最炫民族風片段試驗板的實物照片




  1. /******************************************************************************/
  2. /**程序名稱:單片機播放歡樂頌與最炫民族風片段
  3. /**其    他:用于時鐘周期為12MHz的STC89C52單片機
  4. /******************************************************************************/
  5. #include<reg52.h>
  6. sbit BUZZER = P3^2;

  7. #define uchar unsigned char
  8. #define uint  unsigned int
  9. #define REST         36                        //休止符
  10. #define A                  0                  //低音1
  11. #define AB          1                  //低音1.5
  12. #define B                  2                  //低音2
  13. #define BC          3                  //低音2.5
  14. #define C                  4                  //低音3
  15. #define D                  5                  //低音4
  16. #define DE                 6                  //低音4.5
  17. #define E                 7                       //低音5
  18. #define EF          8                  //低音5.5
  19. #define F                  9                  //低音6
  20. #define FG          10          //低音6.5
  21. #define G                 11          //低音7
  22. #define L                  12          //中音1
  23. #define LM          13          //中音1.5
  24. #define M                  14          //中音2
  25. #define MN          15          //中音2.5
  26. #define N                  16                 //中音3
  27. #define O                  17          //中音4
  28. #define OP          18          //中音4.5
  29. #define P                  19          //中音5
  30. #define PQ          20          //中音5.5
  31. #define Q                  21          //中音6
  32. #define QR          22          //中音6.5
  33. #define R                  23          //中音7
  34. #define S                  24          //高音1
  35. #define SU          25          //高音1.5
  36. #define U                  26          //高音2
  37. #define UV          27          //高音2.5
  38. #define V                  28          //高音3
  39. #define W                  29          //高音4
  40. #define WX          30          //高音4.5
  41. #define X                  31          //高音5
  42. #define XY          32          //高音5.5
  43. #define Y                  33          //高音6
  44. #define YZ          34          //高音6.5
  45. #define Z                  35          //高音7

  46. //音階
  47. uchar code m_note[][2] = {
  48. {248,136},{248,243},{249,88},{249,184},{250,18},{250,103},{250,184},{251,3},{251,75},
  49. {251,143},{251,206},{252,11},{252,67},{252,121},{252,172},{252,219},{253,9},{253,51},
  50. {253,91},{253,129},{253,165},{253,199},{253,231},{254,5},{254,33},{254,60},{254,85},
  51. {254,109},{254,132},{254,153},{254,173},{254,192},{254,210},{254,227},{254,243},{255,2},
  52. {0,0},
  53. };


  54. //音符(1對應三十二分音符,32對應全音符)
  55. uchar code display[][2] = {
  56. //歡樂頌
  57. {N,8},{N,8},{O,8},{P,8},{P,8},{O,8},{N,8},{M,8},{L,8},{L,8},{M,8},{N,8},{N,12},{M,4},{M,8},{0xff,8},
  58. {N,8},{N,8},{O,8},{P,8},{P,8},{O,8},{N,8},{M,8},{L,8},{L,8},{M,8},{N,8},{M,12},{L,4},{L,8},{0xff,8},
  59. {M,8},{M,8},{N,8},{L,8},{M,8},{N,4},{O,4},{N,8},{L,8},{M,8},{N,4},{O,4},{N,8},{M,8},{L,8},{M,8},{E,8},
  60. {N,8},{N,8},{O,8},{P,8},{P,8},{O,8},{N,8},{M,8},{L,8},{L,8},{M,8},{N,8},{M,12},{L,4},{L,8},{0xff,8},
  61. {M,8},{M,8},{N,8},{L,8},{M,8},{N,4},{O,4},{N,8},{L,8},{M,8},{N,4},{O,4},{N,8},{M,8},{L,8},{M,8},{E,8},
  62. {N,8},{N,8},{O,8},{P,8},{P,8},{O,8},{N,8},{M,8},{L,8},{L,8},{M,8},{N,8},{M,12},{L,4},{L,8},{0xff,8},
  63. //樂譜(最炫民族風)
  64. {N,8},{F,4},{F,4},{L,8},{N,8},{M,4},{M,2},{N,2},{M,4},{L,4},
  65. {M,4},{L,4},{F,8},{N,8},{F,4},{F,4},{L,8},{N,8},
  66. {P,4},{M,2},{N,2},{M,4},{L,4},{M,4},{L,4},{G,4},{E,4},
  67. {N,8},{F,4},{F,4},{L,8},{N,8},{M,4},{M,2},{N,2},{M,4},{L,4},
  68. {M,4},{L,4},{F,4},{E,4},{N,8},{F,4},{F,4},{L,8},{N,8},
  69. {P,4},{N,4},{0xff,24},//前奏
  70. {F,8},{F,4},{E,4},{F,8},{F,4},{L,4},{L,8},{M,4},{L,4},{F,8},
  71. {0xff,8},{L,8},{L,4},{E,4},{L,4},{M,4},{N,4},{P,4},{P,4},{N,4},
  72. {M,8},{N,8},{0xff,8},{Q,4},{Q,4},{Q,4},{P,4},{N,4},{N,8},{L,4},
  73. {F,4},{F,4},{F,4},{N,4},{M,8},{0xff,8},{N,4},{N,4},{P,4},{N,4},
  74. {M,4},{N,4},{M,4},{L,4},{F,8},{E,8},{F,8},{0xff,8},
  75. {F,8},{F,4},{E,4},{F,8},{F,4},{L,4},{L,8},{M,4},{L,4},{F,8},
  76. {0xff,8},{L,8},{L,4},{E,4},{L,4},{M,4},{N,4},{P,4},{P,4},{N,4},
  77. {M,8},{N,8},{0xff,8},{Q,4},{Q,4},{Q,4},{P,4},{N,4},{N,8},{L,4},
  78. {F,4},{F,4},{F,4},{N,4},{M,8},{0xff,8},{N,4},{N,4},{P,4},{N,4},
  79. {M,4},{N,4},{M,4},{L,4},{F,8},{E,8},{F,8},{0xff,8},
  80. {N,4},{N,4},{P,4},{N,4},{N,4},{P,4},{P,4},{Q,4},{S,4},{Q,4},
  81. {P,8},{Q,8},{0xff,8}, //此處有變調
  82. {F,8},{F,4},{E,4},{F,8},{L,8},{M,4},{N,2},{M,2},{L,4},{M,4},
  83. {N,8},{0xff,8},{F,4},{Q,4},{Q,4},{P,4},{M,4},{N,2},{M,2},
  84. {L,4},{M,4},{N,8},{0xff,8},{0xff,16},{L,4},{F,4},{F,4},{L,4},
  85. {M,8},{E,4},{E,4},{N,4},{P,4},{N,4},{M,4},{L,8},{0xff,8},
  86. {F,4},{L,4},{M,4},{N,4},{M,4},{L,4},{E,4},{C,4},{F,8},{0xff,8},{0xff,16},
  87. {F,8},{F,4},{E,4},{F,8},{L,8},{M,4},{N,2},{M,2},{L,4},{M,4},
  88. {N,8},{0xff,8},{F,4},{Q,4},{Q,4},{P,4},{M,4},{N,2},{M,2},
  89. {L,4},{M,4},{N,8},{0xff,8},{0xff,16},{L,4},{F,4},{F,4},{L,4},
  90. {M,8},{E,4},{E,4},{N,4},{P,4},{N,4},{M,4},{L,12},{L,4},
  91. {F,4},{L,4},{M,4},{N,4},{P,4},{N,4},{N,4},{P,4},{Q,8},{0xff,8},{0xff,8},

  92. {Q,6}, {Q,2},{Q,4},{Q,4},{Q,6},{P,2},{N,4},{M,4},{M,6},{M,2},{N,6},{P,2},{N,6},{M,2},
  93. {L,6},{F,2},{F,8},{F,4},{E,4},{F,8},{F,4},{L,4}, {M,4},{N,2},{M,2},        {L,4},{M,4},{N,8},{0xff,8},
  94. {Q,4},{P,4},{N,4},{M,4},{P,4},{N,4},{M,4},{L,4},{L,8},{0xff,8},{F,2}, {A,2},{B,2},{C,2},{B,2},
  95. {A,2}, {F,2},{A,2},

  96. {N,4},{N,4},{P,4},{N,4},{N,4},{P,4},{P,4},{Q,4},{S,4},{Q,4},
  97. {P,8},{Q,8},{0xff,8}, //此處有變調
  98. {F,8},{F,4},{E,4},{F,8},{L,8},{M,4},{N,2},{M,2},{L,4},{M,4},
  99. {N,8},{0xff,8},{F,4},{Q,4},{Q,4},{P,4},{M,4},{N,2},{M,2},
  100. {L,4},{M,4},{N,8},{0xff,8},{0xff,16},{L,4},{F,4},{F,4},{L,4},
  101. {M,8},{E,4},{E,4},{N,4},{P,4},{N,4},{M,4},{L,8},{0xff,8},
  102. {F,4},{L,4},{M,4},{N,4},{M,4},{L,4},{E,4},{C,4},{F,8},{0xff,8},{0xff,16},
  103. {F,8},{F,4},{E,4},{F,8},{L,8},{M,4},{N,2},{M,2},{L,4},{M,4},
  104. {N,8},{0xff,8},{F,4},{Q,4},{Q,4},{P,4},{M,4},{N,2},{M,2},
  105. {L,4},{M,4},{N,8},{0xff,8},{0xff,16},{L,4},{F,4},{F,4},{L,4},
  106. {M,8},{E,4},{E,4},{N,4},{P,4},{N,4},{M,4},{L,12},{L,4},
  107. {F,4},{L,4},{M,4},{N,4},{P,4},{N,4},{N,4},{P,4},{Q,8},{0xff,8},{0xff,8},


  108. {0,0xff},
  109. };
  110. uchar time_h,time_l;
  111. void Delay(uchar x);

  112. void main()
  113. {
  114.         uchar j;
  115.         uint i;
  116.         TMOD = 0x01;
  117.         ET0 = 1;
  118.         EA = 1;
  119.         TR0 = 1;
  120.         i = 0;
  121.         j = 0;
  122.         while(1)
  123.         {
  124.                 while(display[i][1] != 0xff)
  125.                 {
  126.                         if(display[i][0] == 0xff)
  127.                         {
  128.                                 TR0 = 0;
  129.                                 Delay(display[i][1]);
  130.                             BUZZER = 1;       
  131.                         }
  132.                         else
  133.                         {
  134.                                 time_h = m_note[display[i][0]][0];
  135.                                 time_l = m_note[display[i][0]][1];
  136.                                 TH0 = time_h;
  137.                                 TL0 = time_l;
  138.                                 ET0 = 1;
  139.                                 TR0 = 1;
  140.                                 Delay(display[i][1]);
  141.                                 TR0 = 0;
  142.                                 ET0 = 0;
  143.                             BUZZER = 1;       
  144.                         }                       
  145.                         i++;
  146.                 }
  147.                 i = 0;
  148.         }
  149. }

  150. void Timer0() interrupt 1
  151. {
  152.         TR0 = 0;
  153.         TH0 = time_h;
  154.         TL0 = time_l;
  155.         BUZZER = ~BUZZER;
  156.         TR0 = 1;
  157. }

  158. void Delay(uchar x)
  159. {
  160.         uint i,j;
  161.         for(i = 0;i < x;i++)
  162.                 for(j = 0;j < 12000;j++);
  163. }
復制代碼


評分

參與人數 4威望 +1 黑幣 +13 收起 理由
祝云章 + 5 很給力!
魔術快斗 + 2 很棒棒
god147 + 1 絕世好帖!
123456love + 1 + 5 共享資料的積分獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏9 分享淘帖 頂4 踩
回復

使用道具 舉報

沙發
ID:73463 發表于 2015-2-12 10:15 | 只看該作者
來一首高大上的歌曲
回復

使用道具 舉報

板凳
ID:73489 發表于 2015-2-13 07:43 來自手機 | 只看該作者
厲害,譜子看起來挺麻煩的
回復

使用道具 舉報

地板
ID:73711 發表于 2015-4-12 18:47 | 只看該作者
上傳個視頻就最好了  樂譜是怎么做的  謝謝了
回復

使用道具 舉報

5#
ID:69803 發表于 2015-4-17 23:58 來自手機 | 只看該作者
收藏了 哈哈
回復

使用道具 舉報

6#
ID:78012 發表于 2015-4-27 15:57 | 只看該作者
太棒了
回復

使用道具 舉報

7#
ID:74143 發表于 2015-4-28 11:35 | 只看該作者
不錯,謝謝分享。
回復

使用道具 舉報

8#
ID:65980 發表于 2015-5-14 11:20 | 只看該作者
謝謝 分享
回復

使用道具 舉報

9#
ID:80238 發表于 2015-5-17 12:08 | 只看該作者
必須收藏。。
回復

使用道具 舉報

10#
ID:93449 發表于 2015-10-27 12:35 | 只看該作者
蠻不錯的哦,
回復

使用道具 舉報

11#
ID:94143 發表于 2015-10-31 21:22 | 只看該作者
編曲子好像很麻煩的樣子
回復

使用道具 舉報

12#
ID:94402 發表于 2015-11-2 15:40 | 只看該作者
挺不錯的 收藏了
回復

使用道具 舉報

13#
ID:92858 發表于 2015-11-12 22:05 | 只看該作者
很贊啊
回復

使用道具 舉報

14#
ID:122598 發表于 2016-5-22 16:58 | 只看該作者
群主在馬?
回復

使用道具 舉報

15#
ID:122598 發表于 2016-5-22 17:06 | 只看該作者
老師BUZZER取僅只用于常量,程序中有兩次賦值,到底是變量還是常量呀%
回復

使用道具 舉報

16#
ID:92231 發表于 2016-5-29 10:05 來自手機 | 只看該作者
用來取代童車上的音樂,要是加一個按鍵控制樂曲切換就更好了
回復

使用道具 舉報

17#
ID:153199 發表于 2016-12-25 16:11 | 只看該作者
能否分享一下譜曲軟件
回復

使用道具 舉報

18#
ID:136460 發表于 2016-12-31 11:00 | 只看該作者
挺不錯的 收藏了
回復

使用道具 舉報

19#
ID:154654 發表于 2017-1-1 22:01 | 只看該作者
還是覺得有點
回復

使用道具 舉報

20#
ID:89286 發表于 2017-1-4 20:32 | 只看該作者
THANKS FOR SHARING
回復

使用道具 舉報

21#
ID:205064 發表于 2017-5-30 16:21 | 只看該作者
找了很久51單片機制作音樂播放器的例子,終于給我找到了
回復

使用道具 舉報

22#
ID:193383 發表于 2017-6-28 12:54 | 只看該作者
非常感謝樓主分享,謝謝!
回復

使用道具 舉報

23#
ID:99130 發表于 2017-6-29 16:22 | 只看該作者
miuifen 發表于 2015-4-12 18:47
上傳個視頻就最好了  樂譜是怎么做的  謝謝了

有專門的譜曲軟件
回復

使用道具 舉報

24#
ID:217472 發表于 2017-7-8 20:08 | 只看該作者
謝謝分享
回復

使用道具 舉報

25#
ID:91202 發表于 2017-10-15 15:12 | 只看該作者
請問樓主,出來的音色動聽嗎?我現在做了一個發聲的,只能發簡單干燥的聲音
回復

使用道具 舉報

26#
ID:241152 發表于 2017-10-26 15:24 | 只看該作者
謝謝分享
回復

使用道具 舉報

27#
ID:160782 發表于 2017-10-27 08:02 來自手機 | 只看該作者
這么厲害,我以為是單片機控制播放器,這個直接用單片機播放旋律的!謝謝!
回復

使用道具 舉報

28#
ID:244589 發表于 2017-11-2 17:03 | 只看該作者
如果只是播放旋律而已的話,那么只要有你們想要播的歌曲的譜子,然后再懂得看譜子的話就可以編了。我一開始以為是播放全歌,認真看完之后才知道只是旋律。不過樓主已經好厲害了,寫的程序比較易懂。謝謝

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 贊一個!

查看全部評分

回復

使用道具 舉報

29#
ID:258673 發表于 2017-12-7 15:49 | 只看該作者
厲害,學習了
回復

使用道具 舉報

30#
ID:256184 發表于 2017-12-7 19:49 | 只看該作者
sirs 發表于 2015-5-17 12:08
必須收藏。。

咋收藏啊。。。
回復

使用道具 舉報

31#
ID:318304 發表于 2018-5-20 00:24 來自手機 | 只看該作者
穿著安踏去拉薩 發表于 2017-11-2 17:03
如果只是播放旋律而已的話,那么只要有你們想要播的歌曲的譜子,然后再懂得看譜子的話就可以編了。我一開始 ...

你說的旋律和全歌有什么區別嗎
回復

使用道具 舉報

32#
ID:318304 發表于 2018-5-20 00:33 來自手機 | 只看該作者
樓主,我想借鑒一下你的程序,我用的是11.0592的該怎么改程序啊,我有點急用
回復

使用道具 舉報

33#
ID:332040 發表于 2018-5-20 13:04 | 只看該作者
不錯,很給力,贊
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩成年人视频在线 | 高清av一区| 欧美 日韩 视频 | 久久国产精品-国产精品 | 在线观看亚洲精品 | 欧美一区二区三区在线 | 国产偷录叫床高潮录音 | 殴美黄色录像 | 涩涩片影院 | 日韩在线播放一区 | 超碰在线人 | 99久久久99久久国产片鸭王 | 一级在线免费观看 | 亚洲电影免费 | 黑人巨大精品欧美一区二区免费 | 99精品国产在热久久 | 亚洲精品一区二区三区 | 欧美日韩国产一区二区三区 | 国产综合久久久 | 成人免费大片黄在线播放 | 欧美在线观看免费观看视频 | 国产精品亚洲一区 | 在线播放国产一区二区三区 | 91 久久 | 日韩一区二区三区视频 | 夜夜操天天操 | 久久久精品一区 | 欧美一级全黄 | 国产国拍亚洲精品av | 精品国产一区二区三区久久久蜜月 | 亚洲一区中文字幕 | 亚洲精品视频一区二区三区 | 久久国产欧美一区二区三区精品 | 久久久久电影 | 久久久久一区 | 国产精品女人久久久 | a级片在线 | 亚洲久久| 九九热视频这里只有精品 | 亚洲色图在线观看 | 在线精品一区二区三区 |