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

標題: 這個單片機最小系統播放音樂的例子真不錯 [打印本頁]

作者: hutians    時間: 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. }
復制代碼



作者: ztflove51    時間: 2015-2-12 10:15
來一首高大上的歌曲
作者: freedomdream    時間: 2015-2-13 07:43
厲害,譜子看起來挺麻煩的
作者: miuifen    時間: 2015-4-12 18:47
上傳個視頻就最好了  樂譜是怎么做的  謝謝了
作者: 還在jl懂    時間: 2015-4-17 23:58
收藏了 哈哈
作者: 1261239924    時間: 2015-4-27 15:57
太棒了
作者: lb688    時間: 2015-4-28 11:35
不錯,謝謝分享。
作者: 香蕉1373    時間: 2015-5-14 11:20
謝謝 分享
作者: sirs    時間: 2015-5-17 12:08
必須收藏。。
作者: LBG    時間: 2015-10-27 12:35
蠻不錯的哦,
作者: 自己要爭口氣啊    時間: 2015-10-31 21:22
編曲子好像很麻煩的樣子
作者: tuoxiaozi    時間: 2015-11-2 15:40
挺不錯的 收藏了

作者: 旭日青草    時間: 2015-11-12 22:05
很贊啊
作者: 阿貴    時間: 2016-5-22 16:58
群主在馬?
作者: 阿貴    時間: 2016-5-22 17:06
老師BUZZER取僅只用于常量,程序中有兩次賦值,到底是變量還是常量呀%
作者: whengfu    時間: 2016-5-29 10:05
用來取代童車上的音樂,要是加一個按鍵控制樂曲切換就更好了
作者: liuzhaoxin1020    時間: 2016-12-25 16:11
能否分享一下譜曲軟件
作者: 東北那誰    時間: 2016-12-31 11:00
挺不錯的 收藏了
作者: 哈哈哈98    時間: 2017-1-1 22:01
還是覺得有點
作者: faridzled    時間: 2017-1-4 20:32
THANKS FOR SHARING
作者: 凌金    時間: 2017-5-30 16:21
找了很久51單片機制作音樂播放器的例子,終于給我找到了
作者: dww465757120    時間: 2017-6-28 12:54
非常感謝樓主分享,謝謝!
作者: 越快樂越墮落    時間: 2017-6-29 16:22
miuifen 發表于 2015-4-12 18:47
上傳個視頻就最好了  樂譜是怎么做的  謝謝了

有專門的譜曲軟件
作者: orc_roll    時間: 2017-7-8 20:08
謝謝分享
作者: shenqing9901    時間: 2017-10-15 15:12
請問樓主,出來的音色動聽嗎?我現在做了一個發聲的,只能發簡單干燥的聲音
作者: 電子FSY    時間: 2017-10-26 15:24
謝謝分享
作者: tkf008    時間: 2017-10-27 08:02
這么厲害,我以為是單片機控制播放器,這個直接用單片機播放旋律的!謝謝!
作者: 穿著安踏去拉薩    時間: 2017-11-2 17:03
如果只是播放旋律而已的話,那么只要有你們想要播的歌曲的譜子,然后再懂得看譜子的話就可以編了。我一開始以為是播放全歌,認真看完之后才知道只是旋律。不過樓主已經好厲害了,寫的程序比較易懂。謝謝
作者: 松鼠    時間: 2017-12-7 15:49
厲害,學習了
作者: 好好hh    時間: 2017-12-7 19:49
sirs 發表于 2015-5-17 12:08
必須收藏。。

咋收藏啊。。。
作者: 勇士小子    時間: 2018-5-20 00:24
穿著安踏去拉薩 發表于 2017-11-2 17:03
如果只是播放旋律而已的話,那么只要有你們想要播的歌曲的譜子,然后再懂得看譜子的話就可以編了。我一開始 ...

你說的旋律和全歌有什么區別嗎
作者: 勇士小子    時間: 2018-5-20 00:33
樓主,我想借鑒一下你的程序,我用的是11.0592的該怎么改程序啊,我有點急用
作者: 141624    時間: 2018-5-20 13:04
不錯,很給力,贊




歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 天天操夜夜操 | 人人射人人干 | 色影视 | 一区二区三区四区视频 | 玖玖视频| 国产三级在线观看视频 | 国产精品呻吟 | 99re在线观看 | 欧美精品二区三区四区免费看视频 | 成人福利在线观看 | 黄色裸体视频 | 天天天天干 | 精品网站999www | 在线观看小视频 | 三级黄色片网站 | 久久久久久久久久国产精品 | 不卡免费视频 | 精品国产乱码久久久久久蜜柚 | 亚洲精品播放 | 国产aⅴ爽av久久久久成人 | 久久综合亚洲 | 欧美日韩在线一区二区 | 综合网久久 | 96在线视频 | 国产精品美女在线观看 | 欧美一区二区三区在线视频 | 欧美日韩成人在线观看 | 精品国产一区二区三区四区 | 日本a在线观看 | 亚洲免费精品视频 | 欧美激情亚洲 | 久久精品久久久久 | 在线观看网址你懂的 | 在线观看黄色片 | 成人精品影院 | 一级黄色性生活片 | 国产精品无遮挡 | 夜夜躁狠狠躁日日躁av | www黄色 | 久久免费网 | 黄网站免费看 |