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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2412|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)中斷+Proteus仿真音樂實(shí)現(xiàn)《天空之城》

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
隨手做的天空之城音樂播放
附帶流水燈實(shí)現(xiàn)的燈譜效果
代碼與proteus仿真都為原創(chuàng)
請(qǐng)大家多多指教

仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機(jī)源程序如下:
  1. #include <reg51.h>
  2. #include "yinfu.h"
  3. #define uchar unsigned char
  4. #define uint unsigned int
  5. sbit k1=P0^0;
  6. sbit BEEP = P2^7;
  7. unsigned char tab[] = {0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
  8. //天空之城
  9. uchar code SONG_TONE[] = {         
  10. z6,z7, g1,z7,g1,g3, z7,z3,z3, z6,z5,z6,g1, z5,0,z3,z3, z4,z3,z4,g1,
  11. z3,0,g1,g1,g1, z7,g4,g4,z7, z7,0,z6,z7, g1,z7,g1,g3, z7,0,z3,z3, z6,z5,z6,g1,
  12. z5,0,z3, z4,g1,z7,z7,g1, g2,g2,g3,g1,0, g1,z7,z6,z6,z7,z5, z6,0,g1,g2, g3,g2,g3,g5,
  13. g2,0,z5,z5, g1,z7,g1,g3, g3,0,0, z6,z7,g1,z7,g2,g2, z1,z5,z5,0, g4,g3,g2,g1,
  14. g3, g3,0,g3, g6,g5,g5, g3,g2,g1,0,g1, g2,g1,g2,g2,g5, g3,0,g3,
  15. g6,g5, g3,g3,g1,0,g1, g2,g1,g2,g2,z7, z6,0,z6,z7, z6,0
  16. };

  17. uchar code SONG_LONG[] = {
  18. 6,6, 12,6,12,12, 36,6,6, 12,6,12,12, 24,12,6,6, 12,6,6,12,
  19. 24,3,3,3,3, 12,6,12,12, 24,12,6,6, 12,6,12,12, 24,12,6,6, 12,6,12,12,
  20. 36,6,6, 12,6,6,12,12, 4,4,4,12,12, 12,6,6,6,12,12, 24,12,6,6, 12,6,12,12,
  21. 24,12,6,6, 6,6,12,12, 24,12,12, 6,6,12,12,6,6, 12,6,12,12, 12,12,12,12,
  22. 48, 24,12,12, 24,12,12, 6,6,12,6,6,12,6,6,6,12, 24,12,12,
  23. 24,24, 6,6,24,6,6, 12,6,6,6,12, 24,12,6,6, 48,0
  24. };


  25. void delay12u(uint j)         //延時(shí)12us
  26. {
  27.         uint i;
  28.         for(i=0;i<j;i++)
  29.         {;}
  30. }

  31. void dengpu(uint a)                        // 等譜實(shí)現(xiàn)
  32. {
  33.         switch(a)
  34.         {
  35.                 case d7:
  36.                         P1 = 0x7f;
  37.                 break;
  38.                 case d6:
  39.                         P1 = 0xbf;
  40.                 break;
  41.                 case d5:
  42.                         P1 = 0xdf;
  43.                 break;
  44.                 case d4:
  45.                         P1 = 0xef;
  46.                 break;
  47.                 case d3:
  48.                         P1 = 0xf7;
  49.                 break;
  50.                 case d2:
  51.                         P1 = 0xfb;
  52.                 break;
  53.                 case d1:
  54.                         P1 = 0xfd;
  55.                 break;

  56.                 case z7:
  57.                         P1 = 0x7f;
  58.                 break;
  59.                 case z6:
  60.                         P1 = 0xbf;
  61.                 break;
  62.                 case z5:
  63.                         P1 = 0xdf;
  64.                 break;
  65.                 case z4:
  66.                         P1 = 0xef;
  67.                 break;
  68.                 case z3:
  69.                         P1 = 0xf7;
  70.                 break;
  71.                 case z2:
  72.                         P1 = 0xfb;
  73.                 break;
  74.                 case z1:
  75.                         P1 = 0xfd;
  76.                 break;

  77.                 case g7:
  78.                         P1 = 0x7f;
  79.                 break;
  80.                 case g6:
  81.                         P1 = 0xbf;
  82.                 break;
  83.                 case g5:
  84.                         P1 = 0xdf;
  85.                 break;
  86.                 case g4:
  87.                         P1 = 0xef;
  88.                 break;
  89.                 case g3:
  90.                         P1 = 0xf7;
  91.                 break;
  92.                 case g2:
  93.                         P1 = 0xfb;
  94.                 break;
  95.                 case g1:
  96.                         P1 = 0xfd;
  97.                 break;
  98.                 default:
  99.                         P1 = 0xff;
  100.         }
  101. }

  102. void PlayMusic()
  103. {
  104.          uint i=0,j;
  105.         while(SONG_LONG[i]!=0||SONG_TONE[i]!=0)
  106.         {
  107.                 dengpu(SONG_TONE[i]);
  108.                  for(j=0;j<SONG_LONG[i]*50;j++)
  109.                 {
  110.                          BEEP = ~BEEP;
  111.                         delay12u(SONG_TONE[i]);
  112.                 }
  113.                 i++;
  114.         }
  115. }

  116. void main()
  117. {
  118.         k1=1;
  119.          while(1)
  120.         {
  121.                  if(k1==0)
  122.                 {
  123.                         delay12u(900);
  124.                         if(k1==0)
  125.                         {
  126.                                 PlayMusic();
  127.                                 delay12u(5000);
  128.                         }
  129.                 }
  130.         }
  131. }
復(fù)制代碼

yinfu.h代碼
  1. #ifndef __YINFU_H__
  2. #define __YINFU_H__

  3. #define d1 159
  4. #define d2 142
  5. #define d3 126
  6. #define d4 119
  7. #define d5 106
  8. #define d6 95
  9. #define d7 84

  10. #define z1 80
  11. #define z2 71
  12. #define z3 63
  13. #define z4 60
  14. #define z5 53
  15. #define z6 47
  16. #define z7 42

  17. #define g1 40
  18. #define g2 35
  19. #define g3 32
  20. #define g4 30
  21. #define g5 27
  22. #define g6 24
  23. #define g7 21


  24. #endif
復(fù)制代碼
proteus元件連接圖與程序:
51單片機(jī)天空之城音樂實(shí)現(xiàn).zip (65.75 KB, 下載次數(shù): 27)

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

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 在线观看国产精品视频 | 自拍视频精品 | 欧美在线观看一区 | 精品一区av| 日韩三级在线 | 一区二区蜜桃 | 亚洲香蕉| 国产黄色在线观看 | 欧美中文一区 | 国产69精品久久久久777 | 你懂的在线视频播放 | 午夜电影网址 | 欧美看片| 自拍偷拍第一页 | 成年人免费在线视频 | 精品国产一区二区三区久久久久久 | 日韩精品一区二区三区中文在线 | 亚洲成人激情在线观看 | 国产一区二区免费 | 综合伊人| 欧美日本一区二区 | 国产片侵犯亲女视频播放 | 特级一级黄色片 | 亚洲高清一区二区三区 | 亚洲巨乳自拍在线视频 | 欧美日韩成人 | 久久91av | 天天操综合网 | 欧美日韩在线一区二区三区 | av日韩高清 | 超碰人人人人 | 久久精品综合 | 久久av.com| 精品伊人久久 | 国产精品av久久久久久久久久 | 午夜精品网站 | 国产一区二区三区久久久久久久久 | 国产电影一区二区三区爱妃记 | www.中文字幕 | 国产婷婷综合 | 九九热热九九 |