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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機最小系統播放歡樂頌及最炫民族風片段

[復制鏈接]
跳轉到指定樓層
樓主
ID:76686 發表于 2015-4-12 02:19 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
      學習單片機,制作單片機最小系統是每個單片機愛好者的都經歷過的階段,單片機最小系統制作好有什么用呢? 為提高單片機愛好者學習制作單片機最小系統興趣,這里介紹一個有趣的單片機小程序,就是用單片機最小系統播放歡樂頌及最炫民族風片段。在按下圖制作好單片 機最小系統后,再增加三只元件:1個電阻、1個S9012三極管,1個8歐的小喇叭后,即可完成這個單片機最小系統播放歡樂頌及最炫民族風片段的小試驗, 單片機愛好者通過這個小試驗后,一定會大大增強對單片機學習的興趣。

       這個單片機最小系統播放歡樂頌及最炫民族風片段的小試驗,由于電路比較簡單,所以這里就不畫出原理圖了,直接給出試驗的PCB圖,感興趣的愛好者可以按圖進行焊接制作,制作好后向單片機內燒寫程序后安裝上去就可以工作,感受一下單片機的無窮勉力。
      焊好的單片機最小系統播放歡樂頌及最炫民族風片段試驗板的實物照片


       播放板的單片機最小系統PCB圖


       焊好的單片機最小系統播放試驗板未裝單片機的照片

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


程序源碼:完整下載地址: 單片機播放歡樂頌與最炫民族風片段程序包.zip (204.72 KB, 下載次數: 34)
  1. /******************************************************************************/
  2. /**程序名稱:單片機播放歡樂頌與最炫民族風片段
  3. /**其    他:用于時鐘周期為12MHz的STC89C52單片機
  4. /**由電子樂屋整理制作,更詳細的制作資料請到電子樂屋下載http://hi.baidu.com/mifklrxdjqbadoq
  5. /******************************************************************************/
  6. #include<reg52.h>
  7. sbit BUZZER = P3^2;

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

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


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

  93. {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},
  94. {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},
  95. {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},
  96. {A,2}, {F,2},{A,2},

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


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

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

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

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



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

使用道具 舉報

沙發
ID:80953 發表于 2015-5-24 11:43 | 只看該作者
挺好 請問樂譜是怎么寫的呢? 我按照你的做了一個但是想換一個音樂 求大神點明
回復

使用道具 舉報

板凳
ID:153199 發表于 2016-12-25 16:10 | 只看該作者
不錯的帖子,問一下樓主如果用stc89c52,電路是否一樣
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 狠狠操操 | 欧美激情第一区 | 亚洲伊人久久综合 | 欧美在线天堂 | 特黄特色大片免费视频观看 | 久久这里只有精品首页 | 欧美a∨| 国产在线拍偷自揄拍视频 | 免费观看一级毛片视频 | 国产高清精品一区二区三区 | 久久久久久久久国产精品 | 亚洲一区二区中文字幕 | 久久国产精品99久久久久久丝袜 | 久久久久久久久久久久亚洲 | 伊人影院在线观看 | 欧美一区二区三区在线播放 | 欧美成人手机视频 | 一区二区三区四区在线 | 日韩福利片 | 国产精品国产成人国产三级 | 亚洲欧美综合 | 在线播放国产一区二区三区 | 中文字幕精品一区 | 国产日韩久久 | 激情免费视频 | 盗摄精品av一区二区三区 | 中文字幕一区在线观看视频 | 九九久久国产精品 | 成人免费网视频 | 91网站在线看 | 久久精品视频亚洲 | 成人免费精品 | 午夜精品一区二区三区在线视频 | 日韩av啪啪网站大全免费观看 | 欧美1页| 欧美日本高清 | 中文字幕乱码视频32 | 亚洲一区国产精品 | 亚洲精品久 | 欧美福利影院 | 中文在线一区二区 |