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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

各位大佬求幫忙改改程序 可以幫忙把花樣燈的程序去掉么,只保留播放和切換歌曲的功...

[復制鏈接]
跳轉到指定樓層
樓主
ID:154324 發表于 2016-12-16 10:49 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

可以幫忙把花樣燈的程序去掉么,只保留播放和切換歌曲的功能即可

  1. #include <reg52.h>
  2. #define uchar unsigned char
  3. #define uint  unsigned int
  4. sbit key1=P3^2;//按key1可切換花樣
  5. sbit key2=P3^3;//按key2可切換歌曲
  6. sbit key3=P3^1;//總開關,用于總體控制花樣燈跟歌曲。
  7. sbit fm=P3^7;//蜂鳴器連續到I/O口P3^7上
  8. //---------------------六種花樣燈閃爍代碼----------------------------------
  9. uchar code huayang1[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,
  10.                                                 0xfd,0xfb,0xf7,0xef,0xdf,0xbf};//花樣燈1
  11. uchar code huayang2[]={0x7f,0xfe,0xbf,0xfd,0xdf,0xfb,0xef,0xf7,
  12.                                                 0xef,0xfb,0xdf,0xfd,0xbf,0xfe};//花樣燈2
  13. uchar code huayang3[]={0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x0,
  14.                                                 0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff};//花樣燈3
  15. uchar code huayang4[]={0x3f,0x9f,0xcf,0xe7,0xf3,0xf9,0xfc,
  16.                         0xf9,0xf3,0xe7,0xcf,0x9f,0x3f};         //花樣燈4
  17. uchar code huayang5[]={0x3f,0xfc,0x9f,0xf9,0xcf,0xf3,0xe7,
  18.                          0xcf,0xf3,0x9f,0xf9,0x3f,0xfc};  //花樣燈5
  19. uchar code huayang6[]={0x55,0xaa,0xcc,0x33,0x99,0x66,0x0f,0xf0};  //花樣燈6
  20. uchar count1;//花樣標志        
  21. uchar count2;//歌曲標志        
  22. uchar timeh,timel,i;
  23. //---------------------------音樂代碼---------------------------------------
  24. //音樂代碼中,字節高位控制頻率,即為音調。字節低位控制該音調持續的時間,
  25. //代表多少個十六分音符。
  26. //1-7代表中央C調,8-E代表高八度,0代表停頓
  27. //最后的0是結束標志即0xff。
  28. uchar code yldbwdx[]={         //月亮代表我的心
  29. 0x02,0x82,
  30. 0x16,0x32,0x54,0x02,0x52,
  31. 0xA6,0x32,0x54,0x02,0x52,
  32. 0x64,0x74,0xB6,0x64,
  33. 0x52,0x5C,0x32,0x22,
  34. 0x16,0x12,0x14,0x32,0x22,
  35. 0x16,0x12,0x14,0x22,0x32,
  36. 0x26,0x12,0x94,0x22,0x32,
  37. 0x2C,
  38. 0x32,0x52,
  39. 0x36,0x22,0x14,0x54,
  40. 0xAC,0x92,0xA2,
  41. 0x96,0xA2,0x96,0x82,
  42. 0x3C,0x54,
  43. 0x36,0x22,0x14,0x54,
  44. 0xAC,0x92,0xA2,
  45. 0x16,0x12,0x14,0x22,0x32,
  46. 0x2C,0x02,0x82,
  47. 0x16,0x32,0x56,0x12,
  48. 0xA6,0x32,0x56,0x52,
  49. 0x66,0x72,0xB6,0x62,
  50. 0x1C,                                                                                                                                                        
  51. 0xff//結束標志
  52. };
  53. uchar code kdqg[]={//康定情歌
  54. 0x64,0x84,0x92,0x91,0x81,0x93,0x61,0x54,0x62,
  55. 0x82,0x92,0x91,0x81,0x92,0x64,0x62,0x82,0x92,0x91,0x81,0x93,0x61,
  56. 0x54,0x82,0x62,0x51,0x61,0x51,0x41,0x52,0x24,0x92,0x54,0x82,0x64,0x52,
  57. 0x42,0x94,0x82,0x62,0x51,0x61,0x51,0x41,0x52,0x24,
  58. 0xff
  59. };
  60. uchar code lzh[]={//國歌
  61. 0x03,
  62. 0x04,0x04,0xc2,0x14,0x12,0x12,0x12,0x11,0x11,0xc2,0xd1,
  63. 0xe1,0x14,0x02,0x32,0x12,0x21,0x31,0x52,0x51,0x51,0x54,
  64. 0x32,0x31,0x31,0x12,0x11,0x31,0x52,0x51,0x31,0x24,0x24,
  65. 0x24,0x64,0x54,0x24,0x34,0x52,0x32,0x21,0x31,0x12,0x11,0x21,0x34,0x04,   
  66. 0x52,0x51,0xd1,0x12,0x12,0x32,0x31,0x31,0x52,0x51,0x51,0x22,0x22,0x22,
  67. 0xd2,0xd1,0x24,0x22,0xc2,0x14,0x12,0x34,0x32,0x32,0x54,0x54,0x54,0x54,
  68. 0x12,0x11,0x31,0x52,0x51,0x51,0x64,0x54,0x32,0x31,0x11,0x52,0x52,0x52,
  69. 0x32,0x02,0x12,0x02,0xc4,0x14,
  70. 0xa2,0xa1,0x11,0x52,0x52,0x52,0x32,0x02,0x12,0x02,
  71. 0xc4,0x14,0xc4,0x14,0xc4,0x14,0x14,0x04,
  72. 0x04,0x04,0x04,0x04,
  73. 0xff
  74. };
  75. uchar code jmszl[]={ //寂寞沙洲冷
  76. 0x12,0x12,0x22,0x32,0x31,0x22,0x21,0x22,
  77. 0x21,0x31,0x51,0x52,0x31,0x52,0x61,0x15,0x14,
  78. 0x51,0x52,0x31,0x52,0x62,0x13,0x11,0x13,0x32,0x28,0x08,0x28,
  79. 0x31,0x32,0x31,0x32,0x11,0x21,0x51,0x52,0x51,0x52,
  80. 0x51,0x51,0x31,0x32,0x31,0x32,0x81,0x72,0x63,
  81. 0x62,0x71,0x81,0x72,0x61,0x61,0x52,0x31,0x21,0x32,0x51,0x54,
  82. 0x22,0x12,0x11,0x12,0x11,0x12,0x12,0x14,0x26,0x32,0x26,
  83. 0x32,0x61,0x51,0x51,0x31,0x31,0x21,0x31,0x51,0x61,0x51,0x31,0x51,
  84. 0x02,0x32,0x81,0x81,0x81,0x81,0x62,0x52,0x34,                                                                                                                          
  85. 0x31,0x81,0x81,0x81,0x61,0x91,0x82,
  86. 0x51,0x51,0x51,0x51,0x31,0x61,0x53,
  87. 0x21,0x11,0x21,0x11,0x22,0x11,0x21,0x26,
  88. 0x32,0x61,0x51,0x51,0x31,0x31,0x21,0x31,0x51,0x61,0x51,0x31,0x51,0x52,
  89. 0x31,0x31,0x81,0x81,0x81,0x61,0x91,0x81,0x61,0x31,0x56,
  90. 0x32,0x32,0x81,0x81,0x81,0x81,0x91,0x81,0x61,0x81,0x61,0x51,0x31,0x51,0x34,
  91. 0x21,0x31,0x51,0x31,0x21,0x11,0x61,0x21,0x16,
  92. 0xff};
  93. uchar code qnzl[]={         //千年之戀
  94. 0x12,0x22,0x34,0x84,0x74,0x54,0x38,0x42,0x32,0x22,0x42,0x34,0x84,0x72,0x82,0x94,0xA8,0x08,
  95. 0x32,0x31,0x21,0x32,0x52,0x32,0x31,0x21,0x32,0x62,
  96. 0x32,0x31,0x21,0x32,0x82,0x71,0x81,0x71,0x51,0x32,0x22,
  97. 0x32,0x31,0x21,0x32,0x52,0x32,0x31,0x21,0x32,0x62,
  98. 0x32,0x31,0x21,0x32,0x83,0x82,0x71,0x72,0x02,
  99. 0x63,0xA1,0xA2,0x62,0x92,0x82,0x52,
  100. 0x31,0x51,0x63,0x51,0x63,0x51,0x63,0x51,0x62,0x82,0x7C,0x02,
  101. 0x61,0x71,0x82,0x71,0x62,0xA2,0x71,0x76,
  102. 0x61,0x71,0x82,0x71,0x62,0x52,0x31,0x36,
  103. 0x61,0x71,0x82,0x71,0x62,0xA3,0x73,0x62,0x53,
  104. 0x42,0x63,0x83,0x83,0x91,0x91,
  105. 0x61,0x71,0x82,0x71,0x62,0x0A2,0x71,0x76,
  106. 0x61,0x71,0x82,0x71,0x62,0x52,0x31,0x36,
  107. 0x61,0x71,0x82,0x71,0x62,0xA3,0x73,0x62,0x53,
  108. 0x42,0x82,0x88,0x02,0x74,0x93,0x89,
  109. 0xff};
  110. //----------------------------不同音調對應的定時器初值---------------------------
  111. //適合11.0592M的晶振
  112. uchar code chuzhi[]={
  113.          0xff,0xff,//占位
  114.          0xFC,0x8E,//中央C調1-7
  115.          0xFC,0xED,        
  116.          0xFD,0x43,        
  117.          0xFD,0x6A,        
  118.          0xFD,0xB3,        
  119.          0xFD,0xF3,        
  120.          0xFE,0x2D,
  121.          0xFE,0x47,        //高八度1-7         
  122.          0xFE,0x76,
  123.          0xFE,0xA1,
  124.          0xFE,0xC7,        
  125.          0xFE,0xD9,
  126.          0xFE,0xF9,
  127.          0xFF,0x16
  128.          };
  129. uchar yinyue[]={0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0x0,0x0};
  130. //將音調轉化為對應的LED樣式
  131. void delay1(uint z);        //延時1MS
  132. void delay(uint z);        //延時165MS,即十六分音符
  133. void song();
  134. void beep();//蜂鳴器叫一聲
  135. //------------------------主函數---------------------------------------
  136. main()
  137. {        uchar x;
  138.     count1=0;//流水燈無花樣
  139.         count2=1;//唱第一首歌
  140.         EA=1;//開總中斷
  141.         EX0=1;//開外部中斷0
  142.         IT0=1;//外部中斷0下降沿觸發方式
  143.         EX1=1;//開外部中斷1
  144.         IT1=1;//外部中斷1下降沿觸發方式
  145.         TMOD=0x01;//定時器0工作在方式1
  146.         TH0=0;
  147.         TL0=0;
  148.         ET0=1;
  149.         
  150.         while(1)   
  151.                 {
  152.                 if(count1!=0)
  153.                 {
  154.                         switch(count1)
  155.                         {
  156.                                 case 1:
  157.                                         for(x=0;x<14;x++)
  158.                                         {  if(key3==1)
  159.                                                 {P1=0xff;
  160.                                                 fm=0;
  161.                                                 break;}
  162.                                                 P1=huayang1[x];
  163.                                                 beep();
  164.                                                 delay1(300);                                                
  165.                                                 if(count1!=1)
  166.                                                         break;        
  167.                                         }
  168.                                 break;
  169.                                 case 2:
  170.                                         for(x=0;x<14;x++)
  171.                                         {        if(key3==1)
  172.                                                 {P1=0xff;
  173.                                                 fm=0;
  174.                                                 break;}
  175.                                                 P1=huayang2[x];
  176.                                                 beep();
  177.                                                 delay1(300);                                                
  178.                                                 if(count1!=2)
  179.                                                         break;        
  180.                                         }
  181.                                 break;
  182.                                 case 3:
  183.                                         for(x=0;x<16;x++)
  184.                                         {        if(key3==1)
  185.                                                 {P1=0xff;
  186.                                                 fm=0;
  187.                                                 break;}
  188.                                                 P1=huayang3[x];
  189.                                                 beep();
  190.                                                 delay1(300);                                                
  191.                                                 if(count1!=3)
  192.                                                         break;        
  193.                                         }
  194.                                 break;
  195.                                 case 4:
  196.                                         for(x=0;x<13;x++)
  197.                                         {        if(key3==1)
  198.                                                 {P1=0xff;
  199.                                                 fm=0;
  200.                                                 break;}
  201.                                                 P1=huayang4[x];
  202.                                                 beep();
  203.                                                 delay1(300);                                                
  204.                                                 if(count1!=4)
  205.                                                         break;        
  206.                                         }
  207.                                 break;
  208.                                 case 5:
  209.                                         for(x=0;x<13;x++)
  210.                                         {  if(key3==1)
  211.                                                 {P1=0xff;
  212.                                                 fm=0;
  213.                                                 break;}
  214.                                                 P1=huayang5[x];
  215.                                                 beep();
  216.                                                 delay1(300);                                                
  217.                                                 if(count1!=5)
  218.                                                         break;        
  219.                                         }
  220.                                 break;
  221.                                 case 6:
  222.                                         for(x=0;x<8;x++)
  223.                                         {         if(key3==1)
  224.                                                 {P1=0xff;
  225.                                                 fm=0;
  226.                                                 break;}
  227.                                                 P1=huayang6[x];
  228.                                                 beep();
  229.                                                 delay1(300);                                       
  230.                                                 if(count1!=6)
  231.                                                         break;
  232.                                         } break;
  233.                                                         
  234.                         }
  235.                 }
  236.                 //else
  237.                 if(count1==0)
  238.                 {
  239.                         song();
  240.                         delay1(1000);                        
  241.                 }                 
  242.          }
  243.     }        
  244. void int0() interrupt 0
  245. {
  246.         EA=0;//關總中斷
  247.         delay1(1);//去抖
  248.         if(key1==0)
  249.         {
  250.                 count2=0;//不讓蜂鳴器唱歌
  251.                 TR0=0;
  252.                 count1++;
  253.                 if(count1==7)
  254.                          count1=1;
  255.         }
  256.         EA=1;//開總中斷
  257. }
  258. void int1() interrupt 2
  259. {
  260.         EA=0;//關總中斷
  261.         delay1(1);//去抖
  262.         if(key2==0)
  263.         {
  264.                 count1=0;//流水燈無花樣
  265.                 TR0=1;
  266.                 i=0;//從頭開始唱
  267.                 count2++;
  268.                 if(count2==6)
  269.                          count2=1;
  270.         }
  271.         EA=1;//開總中斷
  272. }
  273. void timer0() interrupt 1         //用于產生各種音調
  274. {
  275.         TH0=timeh;
  276.         TL0=timel;
  277.         fm=~fm;
  278. }
  279. //-----------------------子函數--------------------------------------
  280. void beep()        //蜂鳴器叫一聲
  281. {        uchar i;
  282.         for(i=0;i<50;i++)
  283.         {        fm=~fm;
  284.                 delay1(1);
  285.         }
  286.         fm=1;
  287. }
  288. void delay(uint z)        //延時165MS,即十六分音符
  289. {        uint x,y;
  290.         for(x=z;x>0;x--)
  291.                  for(y=19000;y>0;y--);
  292. }
  293. void delay1(uint z)        //延時1MS
  294. {        uint x,y;
  295.         for(x=z;x>0;x--)
  296.                  for(y=112;y>0;y--);
  297. }
  298. void song()
  299. {
  300.         uint temp;
  301.         uchar jp;//jp是簡譜
  302.         i=0;
  303.         while(1)
  304.         {        if(count2==0)
  305.                 {        
  306.                         break;
  307.                 }
  308.                 if(key3==1)
  309.                         {P1=0xff;
  310.                          fm=0;
  311.                          break;}
  312.                 if(count2==1)         //conut2==1選擇月亮代表我的心
  313.                          temp=yldbwdx[i];
  314.                 if(count2==2)         //count2==2選擇寂寞沙洲冷
  315.                         temp=jmszl[i];
  316.                 if(count2==3)         //count2==3選擇千年之戀
  317.                         temp=qnzl[i];
  318.             if(count2==4)         //count2==4康定情歌
  319.                         temp=kdqg[i];
  320.                 if(count2==5)         //count2==5國歌
  321.                         temp=lzh[i];
  322.                 if(temp==0xff)          //到0xff一首歌曲結束
  323.                         break;        
  324.                 jp=temp/16; //取數的高4位
  325.                 P1=yinyue[jp];
  326.                 if(jp!=0)
  327.                 {
  328.                 timeh=chuzhi[jp*2];
  329.                 timel=chuzhi[jp*2+1];
  330.                 }
  331.                 else
  332.                 {
  333.                 TR0=0;
  334.                 fm=0;//關蜂鳴器
  335.                 }
  336.                 delay(temp%16); //取數的低4位
  337.                 TR0=0;         
  338.                 fm=1;
  339.                 delay1(10);          //唱完一個音停10MS
  340.                 TR0=1;
  341.                 i++;
  342.             }
  343.         TR0=0;
  344.         fm=1;
  345.         
  346. }
復制代碼

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美国产一区二区 | 国产精品18久久久久久久 | 国产精品国产三级国产aⅴ入口 | 亚洲乱码一区二区三区在线观看 | 欧美午夜精品理论片a级按摩 | 波多野结衣精品在线 | 狠狠躁18三区二区一区 | 久久久久久久久久久久久九 | 国产一区免费视频 | 成人一级视频在线观看 | 欧美在线视频免费 | 中文字幕三区 | 国产欧美一级二级三级在线视频 | 在线一区二区三区 | 国产精品久久久久久婷婷天堂 | 国产www. | 区一区二在线观看 | 国产在线中文字幕 | 亚洲高清免费观看 | 国产精品爱久久久久久久 | av免费观看在线 | 欧美日韩一区二区三区四区 | 99视频在线播放 | 久久久国产亚洲精品 | av免费看在线 | 欧美在线精品一区 | 欧美中文字幕 | 一区二区高清 | 久久久精品 | 亚洲人成人网 | 欧美日韩久久精品 | 国产一区二区三区在线 | 波多野吉衣久久 | 欧美.com | 日韩在线三级 | 国产一区二区三区免费观看在线 | 精品成人在线观看 | 日韩一区二区在线播放 | 性一交一乱一伦视频免费观看 | wwwxxx国产| 日韩不卡视频在线 |