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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2065|回復: 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 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 成人av网站在线观看 | 欧美在线一区二区视频 | 亚洲日日夜夜 | 天天射视频 | 毛片久久久 | 亚洲最大看片网站 | 91精品国产色综合久久 | 福利视频一区二区三区 | 亚洲精品99 | 欧美性大战xxxxx久久久 | 久久精品免费一区二区三 | 狠狠躁躁夜夜躁波多野结依 | 亚洲精品在线视频 | 国产精品精品视频一区二区三区 | 精品久久成人 | 国产精品日韩一区二区 | 日韩精彩视频 | 日韩亚洲一区二区 | 日韩欧美中文字幕在线视频 | 网络毛片 | 激情久久av一区av二区av三区 | 一级片在线免费看 | 日本不卡一区二区三区在线观看 | 黄色一级大片在线免费看产 | 国产福利在线 | 亚洲精品18| 一区在线观看 | 美日韩一区二区 | 日韩一区在线播放 | 亚洲一区电影 | 天堂中文在线观看 | 视频一区在线 | av手机在线免费观看 | 欧美精品一区二区三区在线播放 | 日韩在线视频观看 | 欧美a区| 成人一区在线观看 | 野狼在线社区2017入口 | 亚洲不卡一 | 国产日产欧产精品精品推荐蛮挑 | 久久久久中文字幕 |