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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7867|回復: 6
收起左側

基于51單片機的小游戲

[復制鏈接]
ID:114320 發表于 2016-5-2 03:29 | 顯示全部樓層 |閱讀模式
仿真圖:
原理圖片.jpg

PCB圖:
物料清單圖片_副本.jpg
  1. #include <reg52.h>
  2. #include<stdlib.h>
  3. #include"ours.h"
  4. #define uchar unsigned char
  5. #define SNAKE 20 //最長蛇身
  6. #define SPEED 50 //運動速度控制,值越大,則掃描整個蛇
  7.                                  //        身的時間越長,即表現為移動速度慢
  8. #define MQ 5         //進入下一關的加速,pace=pace-MQ

  9. sbit P3_0=P3^0;        sbit P3_2=P3^2;        sbit P3_3=P3^3;
  10. //蜂鳴器位                外部中斷0                外部中斷1
  11. sbit P3_7=P3^7;        sbit P3_6=P3^6;        sbit P3_1=P3^1;//指示燈位
  12. sbit P0_7=P0^7;sbit P0_6=P0^6;sbit P0_5=P0^5;sbit P0_4=P0^4;               
  13. //暫停             增關卡,加速          減關卡,退出                 加速                                   
  14. //do                   ruai                          mi                                 fa                               
  15. sbit P0_2=P0^2;sbit P0_1=P0^1;sbit P0_3=P0^3;sbit P0_0=P0^0;
  16. //   左                                 下                           右                          上
  17. //   sao                        la                           xi                          退出
  18. sbit P2_7=P2^7;sbit P2_6=P2^6;sbit P2_5=P2^5;sbit P2_4=P2^4;
  19. sbit P2_3=P2^3;sbit P2_2=P2^2;sbit P2_1=P2^1;sbit P2_0=P2^0;
  20.        
  21. uchar x[SNAKE+1];                //蛇身的坐標 行
  22. uchar y[SNAKE+1];       //蛇身的坐標 列   
  23. uchar n,i,pace,xz;         //當前蛇長,通用變量,當前速度,選擇游戲標志
  24. char bdata guanqia;                //定義關卡,可謂尋址,便于控制指示燈
  25. sbit guanqia_0=guanqia^0;sbit guanqia_1=guanqia^1;sbit guanqia_2=guanqia^2;               
  26. char addx,addy;     //移動方向,同直角坐標系,addx為橫向,addy為縱向
  27. bit again,out;                //再次產生果實變量,停止播放音樂變量
  28. bit pause=0;                //暫停變量,1為暫停
  29. uchar tone_H,tone_L;//定時器初值,用來控制音調
  30. uchar ym;                        //選擇音樂
  31. uchar wait;                        //用于判斷是否已經開始游戲

  32. void display(uchar );           //聲明顯示函數
  33. void display_p(uchar);           //暫停時調用該函數顯示
  34. bit knock();                           //聲明撞擊函數
  35. void key_press();                   //聲明按鍵函數
  36. void play1(unsigned int);
  37. void play(uchar *,uchar *);
  38. /**************************************************************
  39.                 判斷是否碰撞,是則返回1,否則返回0
  40. **************************************************************/
  41. bit knock()                          
  42. {        bit k=0;
  43.         if(x[1]>7||y[1]>7)k=1;                 //撞墻
  44.         for(i=2;i<n;i++)
  45.                 if((x[1]==x[i])&(y[1]==y[i]))k=1;  //撞自己
  46.         return k;
  47. }
  48. /**************************************************************
  49.                 鍵位處理
  50. **************************************************************/
  51. void key_press()  
  52. {        switch(~P0)
  53.         {        case 1:addx=0;addy=addy==-1?-1:1;break;//上
  54.                 case 2:addx=0;addy=addy==1?1:-1; break;//下
  55.                  case 4:addy=0;addx=addx==1?1:-1; break;//左
  56.                 case 8:addy=0;addx=addx==-1?-1:1;break;//右
  57.                 case 5:if(addx!=1||addy!=-1){addx=-1;addy=1;}break;//左上
  58.                 case 9:if(addx!=-1||addy!=-1){addx=1;addy=1;}break;//右上
  59.                 case 6:if(addx!=1||addy!=1){addx=-1;addy=-1;}break;//左下
  60.                 case 10:if(addx!=-1||addy!=1){addx=1;addy=-1;}break;//右下
  61.                 case 128:delay10ms(2);pause=~pause;                                        //暫停
  62.                                  while(~P0_7)if(P0_5)display_p(1);break;
  63.                                  //按住暫停鍵不放且沒有退出游戲請求
  64.         }
  65. }
  66. /*********************************************************
  67. 顯示函數,按點從頭到尾掃描,周期為SNAKE,掃描k個周期運動一格
  68. **********************************************************/
  69. void display(uchar k)                                        //顯示k次
  70. {        while(k--)
  71.         {        for(i=0;i<SNAKE+1;i++)                        //掃描整個虛擬蛇身
  72.                 {        P2=0xff;P1=0xff;                        //滅燈
  73.                         P2=~mux(y[i]);P1=~mux(x[i]);//按點依次顯示
  74.                         delay1ms(1);                           //顯示延時1ms
  75.                         if(~P0) key_press();        //鍵位處理
  76.                         if(~P0_5)k=0;                                //判斷是否退出游戲
  77.                 }
  78.         }
  79. }
  80. /*********暫停時調用該函數顯示,以防閃爍*******************/
  81. void display_p(uchar k)                                        //顯示k次
  82. {        while(k--)
  83.         {        for(i=0;i<SNAKE+1;i++)                        //掃描整個虛擬蛇身
  84.                 {        P2=0xff;P1=0xff;                        //滅燈
  85.                         P2=~mux(y[i]);P1=~mux(x[i]);//按點依次顯示
  86.                         delay1ms(1);                           //顯示延時1ms
  87.                 }
  88.         }
  89. }
  90. /*****外部中斷1,用于切換游戲,xz=0為貪吃蛇,xz=1為電子琴******/
  91. void my_int1(void) interrupt 2
  92. {        delay10ms(2);  //去抖動
  93.         if(wait)           //游戲開始前,用于選擇游戲
  94.                 if(~P3_3)
  95.                         if(++xz==2)xz=0; //共有兩個游戲,所以xz只能為0或1
  96.         if(~wait)                //游戲已開始(只在電子琴里有效)         
  97.                 out=1;                //停止播放音樂
  98.         while(~P3_3);        //直到松開按鍵,才跳出中斷,以防xz連續變化
  99. }
  100. /**************************************************************
  101. *******                主程序                ***************************************
  102. ***************************************************************/       
  103. void main(void)
  104. {        EA=1;                           //開總中斷
  105.         EX0=1;                           //開外部中斷0
  106.         EX1=1;                           //開外部中斷1
  107. /***********************************************************************
  108. *****************         貪吃蛇                ****************************************
  109. ************************************************************************/
  110. TCS:while(1)                  
  111.         {        /**************初始化游戲**********************/
  112.                 for(i=3;i<SNAKE+1;i++)x[i]=100;//初始化虛擬蛇身
  113.                 for(i=3;i<SNAKE+1;i++)y[i]=100;//初始化虛擬蛇身
  114.             n=3;                           //初始蛇身長為n-1
  115.                 y[1]=1;x[1]=0;                 //初始蛇頭位置
  116.                 y[2]=0;x[2]=0;                 //初始蛇尾位置
  117.                 addx=0;addy=0;                 //初始位移偏移
  118.                 pace=SPEED;                                           //給運動速度賦初值
  119.                  /*************產生果實*******************************/
  120.                    do                                               
  121.                 {        x[0]=rand()%8; y[0]=rand()%8;//產生隨機果實
  122.                         again=0;
  123.                         for(i=1;i<n;i++)                     //判斷是否與蛇身重疊
  124.                                 if((x[0]==x[i])&&(y[0]==y[i]))again=1;
  125.                 }while(again);                                          //若重疊則再次產生
  126.                 /************等待開始游戲,貪吃蛇開始前可選關****************/
  127.                 guanqia=1;                                 //第一關
  128.                 P3_7=~guanqia_2;P3_6=~guanqia_1;P3_1=~guanqia_0;//顯示關卡
  129.                 while(1)                                 //等待選擇游戲
  130.                 {        wait=1;                                 //等待選擇游戲
  131.                         if(xz) goto DZQ;         //如果xz=1,則進入電子琴
  132.                         display_p(1);             //顯示貪吃蛇初始位置
  133.                         if(~P0_3|~P0_0)break;//如果按上或右鍵,則開始游
  134.                         /*************選關******************************************/
  135.                         if(~P0_6)        //增關卡
  136.                         {        delay10ms(2);        //去抖動
  137.                                 if(~P0_6)
  138.                                 {        if(++guanqia<=7)//最大到7關         
  139.                                         {        P3_7=~guanqia_2;P3_6=~guanqia_1;P3_1=~guanqia_0;
  140.                                                 //將其值用發光二極管以二進制的形式顯示出來
  141.                                                 pace=pace-MQ;  //加速
  142.                                         }else --guanqia;
  143.                                         while(~P0_6)display_p(1);
  144.                                         //直到松開按鍵才跳出,以防連續增加關卡
  145.                                 }
  146.                         }
  147.                         if(~P0_5)        //減關卡
  148.                         {        delay10ms(2);
  149.                                 if(~P0_5)
  150.                                 {        if(--guanqia>=1)          
  151.                                         {        P3_7=~guanqia_2;P3_6=~guanqia_1;P3_1=~guanqia_0;
  152.                                                 pace=pace+MQ;          
  153.                                         }else ++guanqia;
  154.                                         while(~P0_5)display_p(1);
  155.                                 }
  156.                         }
  157.                 }
  158.                
  159.                 /*************貪吃蛇游戲正在運行**************************/       
  160.                 while(1)         
  161.                 {         wait=0;                //游戲已開始,wait置0
  162.                          if(knock()){pace=SPEED;break;} //判斷是否碰撞
  163.                         /*************顯示部分************************/
  164.                         if(P0_6&P0_4)display(pace); //判斷是否速度運動
  165.                         else display(10);//當P0^4或P0^6被按下時加速運動
  166.                         if(~P0_5)break;         //判斷是否退出
  167.                         /*************判斷是否吃東西,及進入下一關**************/
  168.                 if((y[0]==y[1]+addx)&&(x[0]==x[1]+addy)) //如果吃到
  169.                    {        n++;                                                                   //蛇身加1
  170.                                    if(n==SNAKE+1)                //如果進入下一關
  171.                                    {        n=3;                        //蛇身長從2開始
  172.                                         pace=pace-MQ; guanqia++;        //運動加速,關卡加1
  173.                                         P3_7=~guanqia_2;P3_6=~guanqia_1;P3_1=~guanqia_0;
  174.                                         //將關卡的值用三個指示燈顯示出來
  175.                                            for(i=3;i<SNAKE+1;i++)x[i]=100;        //初始化虛擬蛇身
  176.                                    for(i=3;i<SNAKE+1;i++)y[i]=100;        //初始化虛擬蛇身
  177.                                    }
  178.                            do
  179.                                 {        x[0]=rand()%8;y[0]=rand()%8;//產生隨機果實
  180.                                         again=0;
  181.                                         for(i=1;i<n;i++)                        //判斷是否與蛇身重疊
  182.                                         if((x[0]==x[i])&(y[0]==y[i]))again=1;
  183.                                 }while(again);                                        //若重疊則再次產生
  184.                    }                                                                          
  185.                         /*************判斷蛇身是否移動**********************/
  186.                         if(~pause)                                                  //如果不暫停
  187.                     {        for(i=n-1;i>1;i--)
  188.                                 {        x[i]=x[i-1];y[i]=y[i-1];} //蛇身從尾到頭移動      
  189.                                    y[1]=y[1]+addx;x[1]=x[1]+addy;//蛇頭移動1格
  190.                         }
  191.                   }                                               
  192.         }
  193. /*******************************************************************
  194. ***************                電子琴                ************************************
  195. ********************************************************************/
  196. DZQ:while(1)
  197.         {        P3_0=1;
  198.                 ET0=1;                 //啟用定時器0中斷
  199.                 TMOD=0x01;         //定時器0工作在方式1
  200.                 ym=0;out=0;         //選擇音樂及退出播放位無效
  201.                 /***********等待開始游戲********************************/
  202.                 while(1)
  203.                 {        wait=1;          //等待選擇游戲
  204.                         P2=0x00;P1=0xc7;        //點亮點陣
  205.                         P3_7=1;P3_6=1;P3_1=1;        //關閉指示燈
  206.                         if(~P0_7|~P0_6|~P0_5|~P0_4|~P0_3|~P0_2|~P0_1)break;
  207.                         //7個鍵隨便按一個則開始電子琴
  208.                         if(xz==0)goto TCS;//如果xz=0,則進入貪吃蛇游戲
  209.                 }
  210.                 /***************電子琴正在運行*********************/
  211.                 while(1)
  212.                 {        wait=0;                 //游戲已開始,wait置0
  213.                         P3_7=0;P3_6=0;P3_1=0;//開指示燈
  214.                         if(P0_0==0)break;         //如果按下P0^0則退出電子琴
  215.                         if(ym)                             //如果有音樂請求
  216.                         switch(ym)                 //選擇音樂,最多7首
  217.                         {        case 128:play(song1,beat1);ym=0;out=0;break;
  218.                                 case 64: play(song2,beat2);ym=0;out=0;break;
  219.                                 case 32:play(song3,beat3);ym=0;out=0;break;
  220.                                 case 16: play(song4,beat4);ym=0;out=0;break;
  221.                                 case 4:play(song5,beat5);ym=0;out=0;break;
  222.                                 case 2: play(song6,beat6);ym=0;out=0;break;
  223.                                 case 8: play(song7,beat7);ym=0;out=0;break;
  224.                         }P3_0=1;
  225.                         switch(~P0)
  226.                         {        case 128:P2_0=1;play1(956);P2_0=0;break;
  227.                                 case 64: P2_1=1;play1(852);P2_1=0;break;
  228.                                 case 32: P2_2=1;play1(759);P2_2=0;break;
  229.                                 case 16: P2_3=1;play1(716);P2_3=0;break;
  230.                                 case 4:  P2_4=1;play1(638);P2_4=0;break;
  231.                                 case 2:  P2_5=1;play1(568);P2_5=0;break;
  232.                                 case 8:  P2_6=1;play1(506);P2_6=0;break;
  233.                         }P3_0=1;
  234.                 }
  235.         }
  236. }
  237. /****自己彈奏時調用該函數***********/
  238. void play1(x)
  239. {                tone_H=(65536-x)/256;
  240.                 tone_L=(65536-x)%256;
  241.                 TH0=tone_H;
  242.                 TL0=tone_L;
  243.                 TR0=1;
  244.                 while(~P0);
  245.                 TR0=0;
  246. }
  247. /****播放音樂時調用該函數*******************/
  248. void play(uchar *song,uchar *beat)
  249. {        i=0;
  250.         while(song[i]!=50&&out!=1)
  251.         {        tone_H=(65536-tone[song[i]])/256;
  252.                 tone_L=(65536-tone[song[i]])%256;
  253.                 TH0=tone_H;
  254.                 TL0=tone_L;
  255.                 if(song[i])TR0=1;
  256.                 beat_125ms(beat[i]);
  257.                 i++;
  258.                 TR0=0;
  259.         }
  260. }
  261. /****定時器0中斷用于產生聲******/
  262. void tone_timer(void) interrupt 1
  263. {        TH0=tone_H;
  264.         TL0=tone_L;
  265.         P3_0=~P3_0;
  266. }
  267. /****外部中斷0,用于控制播放那個曲子*****/
  268. void my_int0(void) interrupt 0
  269. {        if(~P0)                        //如果有選擇
  270.                 ym=~P0;                //則將其值賦給ym
  271. }       


  272. ours庫函數
  273. #define uchar unsigned char
  274. /******判斷具體的亮點****************/
  275. unsigned char mux(unsigned char temp)  
  276. {        switch(temp)
  277.         {        case 7:return 128; break;
  278.                 case 6:return 64;  break;
  279.                 case 5:return 32;  break;
  280.                 case 4:return 16;  break;
  281.                 case 3:return 8;   break;
  282.                 case 2:return 4;   break;
  283.                 case 1:return 2;   break;
  284.                 case 0:return 1;   break;
  285.                 default: return 0;                         
  286.         }
  287. }
  288. /*******************************************
  289. **************        延時函數          ****************
  290. ********************************************/
  291. void delay1ms(int x)  //延時1ms
  292. {        int i,j;
  293.         for(i=0;i<x;i++)
  294.                 for(j=0;j<122;j++);
  295. }
  296. void delay10ms(int x) //延時10ms
  297. {        int i,j;
  298.         for(i=0;i<x;i++)
  299.                 for(j=0;j<1934;j++);
  300. }
  301. /**********節拍延時函數**************/
  302. void beat_125ms(uchar x) //延時125ms
  303. {        uchar i;
  304.         unsigned int j;
  305.         for(i=0;i<x;i++)
  306.                 for(j=0;j<24934;j++);
  307. }
  308. /*******************************************************************
  309. ****************樂譜************************************************
  310. *********************************************************************/
  311. unsigned int code tone[]={1012,
  312. 956, 852, 759, 716, 638, 568, 506,  478,         478,478, //中音
  313. 1908,1701,1515,1433,1276,1136,1012, 956,    956,956, //低音
  314. 478, 426, 379, 358, 319, 284, 253,  233 };                         //高音
  315. //dao ruai mi  fa   sao  la   xi   
  316. //song為樂譜,當出現50時表示結束;beat為節奏(以0.125秒為單位),
  317. /*************畫心*************/
  318. uchar code song1[]={
  319. 3,5,  6,6,21,7,6,5,  2,3,3,3,5,  6,6,7,21,5,21,22,
  320. 22,23,23,25,23,  23,22,21,22,21,7,  21,22,7,5,6,3,5,  6,6,23,22,21,7,
  321. 5,6,6,3,4,5,  6,6,21,7,6,5,6,  3,3,3,3,5,  6,6,7,21,5,21,22,
  322. 22,23,23,25,23,  23,22,21,22,21,7,  21,22,7,5,6,3,5,  6,6,23,22,21,7,
  323. 5,6,6,25,23,  23,22,21,22,22,25,  23,23,23,25,23,  23,22,21,22,25,26,  
  324. 22,23,23,25,23,  23,22,21,22,21,7,  21,22,7,5,6,3,5,  6,6,23,22,21,7,
  325. 5,6,6,50};
  326. uchar code beat1[]={
  327. 4,4,  8,4,4,4,4,8,  6,2,16,4,4,  8,4,4,4,4,4,4,
  328. 4,4,16,4,4,  8,4,4,8,4,4,  4,4,4,4,8,4,4,  8,4,4,4,4,8,
  329. 6,2,6,4,4,4,  8,4,4,4,4,4,4,  4,4,8,4,4,  8,4,4,4,4,4,4,
  330. 4,4,16,4,4,  8,4,4,8,4,4,  4,4,4,4,8,4,4,  8,4,4,4,4,8,
  331. 6,2,18,4,4,  8,4,4,8,4,4,  4,4,8,4,4,  8,4,4,4,4,8,
  332. 6,2,16,4,4,  8,4,4,8,4,4,  4,4,4,4,8,4,4,  8,4,4,4,4,8,
  333. 6,2,24,4};
  334. /***********梁祝*********************/
  335. uchar code song2[]={
  336. 7,6,7,  5,6,4,3,  2,3,4,3,5,3,  2,3,5,2,3,4,3,2,
  337. 1,5,  17,2,16,1,  15,16,1,  15,  
  338. 13,15,16,  1,2,16,1,15,  5,21,6,5,3,5,  2,
  339. 2,3,17,16,  15,16,1,2,  13,1,16,15,16,1,  15,  
  340. 3,5,17,2,  16,1,15,  13,15,13,15,16,17,2,  16,15,16,
  341. 1,2,5,3,  2,3,2,1,16,15,  13,1,  16,1,16,15,13,15,16,1,
  342. 15,3,5,  2,3,2,1,17,16,  15,50};
  343. uchar code beat2[]={
  344. 4,4,4,  6,2,4,4,  2,2,2,2,6,2,  2,2,2,2,2,2,2,2,
  345. 12,4,  4,4,4,4,  12,2,2,  16,  
  346. 8,6,2,  6,2,2,2,4,  6,2,2,2,2,2,  16,  
  347. 6,2,4,4,  6,2,4,4,  4,4,2,2,2,2,  16,
  348. 6,2,4,4,  2,2,8,  2,4,2,2,2,2,2,  12,2,2,
  349. 6,2,4,4,  4,2,2,4,2,2,  8,8,  3,1,2,2,2,2,2,2,
  350. 12,2,2,  2,2,2,2,4,4,  16,2};
  351. /***********兄弟無數*******************/
  352. uchar code song3[]={
  353. 6,6,5,6,0,  3,7,21,7,6,0,  7,6,7,5,3,0,  2,2,1,2,3,0,
  354. 6,5,6,5,3,7,6,  5,6,4,3,2,1,2,  6,5,6,5,3,7,6,  5,6,4,3,2,1,2,  
  355. 3,21,21,7,22,  7,6,6,3,5,  3,4,3,2,1,2,3,5,  2,
  356. 22,22,6,  21,7,0,  7,7,6,6,2,5,6,  6,3,
  357. 22,22,6,  21,7,0,  7,7,6,6,2,0,22,  7,6,6,
  358. 7,7,7,6,3,6,4,3,  2,  3,22,7,6,5,6,7,7,  22,0,
  359. 22,23,6,6,
  360. 50};
  361. uchar code beat3[]={
  362. 8,8,4,4,8,  8,4,4,4,4,8,  8,4,4,4,4,8,  8,4,4,4,4,8,
  363. 6,2,4,4,4,8,4,  6,2,4,4,4,4,8,  6,2,4,4,4,8,4,  6,2,4,4,4,4,8,
  364. 4,8,4,8,8,  4,4,4,4,16,  6,2,4,4,4,4,4,4,  24,
  365. 24,4,4,  16,8,8,  8,4,4,4,4,4,4,  8,24,
  366. 24,4,4,  16,8,8,  8,4,4,4,4,4,4,  4,4,24,
  367. 6,2,4,4,4,4,4,4,  24,  6,2,4,4,4,4,4,4,  24,8,
  368. 2,2,4,24,
  369. 4};
  370. /*************傷不起******************/
  371. uchar code song4[]={
  372. 6,6,5,3,3,  6,6,5,3,3,  6,21,3,5,5,  3,2,3,3,
  373. 6,6,5,3,3,  6,6,5,3,3,  5,3,5,7,7,  7,5,6,6,
  374. 5,6,6,6,5,3,  5,6,6,6,  5,6,6,6,21,6,6,  5,6,5,3,3,
  375. 6,6,2,3,2,2,1,  16,2,3,2,  5,5,5,5,5,5,6,  7,6,7,
  376. 5,6,6,6,5,3,  5,6,6,6,  5,6,6,6,21,6,  5,6,5,3,3,
  377. 6,6,2,3,2,2,1,  16,2,3,2,  5,5,5,5,5,6,  7,7,6,7,
  378. 21,7,6,6,5,3,  5,6,7,6,6,  21,6,21,6,21,6,21,22,  3,3,3,2,3,
  379. 22,22,22,21,22,6,21,  22,23,22,21,22,7,  7,7,7,7,22,22,22,23,  7,3,5,6,6,
  380. 21,7,6,6,5,3,  5,6,7,6,6,  21,6,21,6,21,6,21,22,  3,3,3,2,3,
  381. 22,22,22,21,22,6,21,  22,23,22,21,22,7,  7,7,7,7,22,22,22,23,  7,3,5,6,6,
  382. 50};
  383. uchar code beat4[]={
  384. 4,2,4,2,4,  4,2,4,2,4,  4,2,4,2,4,  4,2,2,8,
  385. 4,2,4,2,4,  4,2,4,2,4,  4,2,4,2,4,  4,2,2,8,
  386. 2,2,4,4,2,2,  2,2,4,6,  2,2,2,2,4,2,2,  2,2,2,2,6,
  387. 2,2,2,2,4,2,2,  4,2,2,6,  2,2,2,2,4,2,2,  4,4,6,
  388. 2,2,4,4,2,2,  2,2,4,6,  2,2,2,2,4,4,  2,2,2,2,6,
  389. 2,2,2,2,4,2,2,  4,2,2,6,  2,2,2,2,4,4,  2,2,4,6,
  390. 4,2,2,4,2,2,  4,2,2,4,2,  2,2,2,2,2,2,2,2,  2,2,2,2,6,
  391. 2,2,2,2,4,2,2,  2,2,2,2,6,2,  2,2,2,2,2,2,2,2,  2,2,2,2,6,
  392. 4,2,2,4,2,2,  4,2,2,6,2,  2,2,2,2,2,2,2,2,  2,2,2,2,6,
  393. 2,2,2,2,4,2,2,  2,2,2,2,6,2,  2,2,2,2,2,2,2,2,  2,2,2,2,6,
  394. 4};
  395. /**************蘭若詞******************/
  396. uchar code song5[]={
  397. 16,17,1,  3,17,1,  16,16,16,17,1,  4,17,1,
  398. 16,16,17,1,3,  2,2,2,1,  2,2,3,4,2,  3,3,
  399. 16,17,1,  3,17,1,  16,16,16,17,1,  4,1,1,
  400. 16,16,17,1,3,  2,2,2,1,  2,1,2,3,15,  16,16,
  401. 3,5,6,7,  21,7,6,5,3,  6,5,3,2,1,  2,3,5,2,
  402. 3,3,5,  6,5,6,5,  6,7,21,7,6,5,  6,6,
  403. 6,3,5,6,7,  21,7,6,5,3,  6,5,3,2,1,  2,3,5,2,
  404. 3,2,1,  16,3,2,1,  16,3,2,3,5,  6,6,
  405. 50};
  406. uchar code beat5[]={
  407. 3,3,3,  9,6,3,  6,3,3,3,3,  9,6,3,  
  408. 6,3,3,3,3,  9,3,3,3,  6,3,3,3,3,  9,9,
  409. 3,3,3,  9,6,3,  6,3,3,3,3,  9,6,3,
  410. 6,3,3,3,3,  9,3,3,3,  6,3,3,3,3,  9,9,
  411. 2,2,2,2,  3,3,3,6,3,  3,3,3,6,3,  6,3,6,3,
  412. 9,3,3,  6,3,6,3,  3,3,3,3,3,3,  9,9,
  413. 9,2,2,2,2,  3,3,3,6,3,  3,3,3,6,3,  6,3,6,3,
  414. 9,3,3,  6,3,6,3,  6,3,3,3,3,  9,9,
  415. 4};
  416. /***************二泉映月*******************/
  417. uchar code song6[]={
  418. 6,5,6,4,3, 2,2,3,1,1,2,  3,5,6,5,6,5,6,21,  5,3,5,5,3,2,6,5,6,1,2,
  419. 3,5,2,3,5,21,6,2,3,5,  1,21,6,21,23,23,22,  21,6,21,22,23,23,22,21,21,6,21,22,23, 5,5,3,5,6,5,6,21,
  420. 5,3,5,5,21,6,6,5,6,5,5,  3,5,3,4,3,5,2,3,2,1,16,1,16,  1,1,2,3,5,1,2,5,3,6,  5,
  421. 21,6,21,23,23,22,  21,6,21,22,23,23,22,21,21,6,21,22,23,  5,3,5,3,5,  6,21,21,3,5,3,5,6,5,21,6,
  422. 5,3,5,5,21,6,6,5,6,5,5,  3,5,3,4,3,5,2,3,2,1,16,1,16,  1,16,1,2,3,5,1,2,5,3,5,6,  5,3,5,5,6,5,5,3,5,
  423. 6,
  424. 6,6,6,5,6,21,  5,3,5,5,21,6,6,5,6,5,5,  3,15,3,4,3,5,2,3,2,1,16,1,16,  1,16,1,2,3,5,1,2,5,3,5,6,
  425. 5,
  426. 50};
  427. uchar code beat6[]={
  428. 8,2,2,2,2,  16,6,2,4,2,2,  12,4,4,4,2,2,2,2,  6,2,4,2,2,4,4,2,2,2,2,
  429. 12,4,3,1,2,2,2,2,2,2,  16,4,2,2,4,2,2,  12,4,3,1,2,2,4,6,4,2,2,2,2,  16,4,2,2,2,2,2,2,
  430. 6,2,2,4,2,4,4,2,2,2,2,  6,2,3,1,2,2,3,1,2,2,2,2,4,  8,6,2,2,2,4,2,2,2,2,  16,
  431. 4,2,2,4,2,2,  6,2,3,1,2,2,4,2,2,2,2,2,2,  16,2,2,2,2,  8,4,4,3,1,2,2,2,2,2,2,
  432. 6,2,2,4,2,4,4,2,2,2,2,  6,2,3,1,2,2,2,2,2,2,2,2,4,  6,2,6,2,2,2,4,3,1,2,2,2,  12,4,4,2,2,2,2,2,2,  
  433. 16,
  434. 4,4,2,2,2,2,  6,2,2,4,2,4,4,2,2,2,2,  6,2,3,1,2,2,3,1,2,2,2,2,4,  6,2,6,2,2,2,4,3,1,2,1,1,
  435. 16,
  436. 4};
  437. /***********土耳其進行曲***********/
  438. uchar code song7[]={
  439. 7,6,5,6,  21,0,22,21,7,21,  23,0,24,23,22,23,  27,26,25,26,27,26,25,26,28,26,28,
  440. 27,26,25,26,  27,26,25,26,  27,26,25,24,  23,
  441. 21,22,  23,21,22,  23,22,21,7,  6,7,21,22,
  442. 7,5,21,22,23,21,22,  23,22,21,7,  6,22,7,5,  21,
  443. 23,24,23,22,  21,22,21,7,6,21,7,6,  5,6,7,5,3,4,5,3,6,5,7,6,21,7,21,22,  23,22,23,22,23,24,23,22,
  444. 21,22,21,7,6,21,7,6,  5,6,7,6,3,4,5,3,  4,5,6,4,2,3,4,2,  3,
  445. 5,4,3,2,  1,2,3,4,5,6,7,21,21,7,6,5,4,3,2,  1,2,3,4,5,6,7,21,  21,22,5,4,3,2,
  446. 1,2,3,4,5,6,7,21,  21,7,6,5,4,3,2,  3,5,1,3,2,4,7,2,  1,23,24,23,22,
  447. 21,22,21,7,6,21,7,6,5,6,7,5,3,4,5,3,  6,5,6,7,21,7,21,22,23,22,23,22,23,22,23,21,  24,23,24,23,24,23,24,23,  24,23,22,21,7,21,2,7,
  448. 21,22,23,6,5,6,7,5,  6,
  449. 50};
  450. uchar code beat7[]={
  451. 1,1,1,1,  2,2,1,1,1,1,  2,2,1,1,1,1,  1,1,1,1,1,1,1,1,4,2,2,
  452. 2,2,2,2,  2,2,2,2,  2,2,2,2,  4,
  453. 2,2,  4,2,2,  2,2,2,2,  2,2,2,2,
  454. 2,2,2,2,4,2,2,  2,2,2,2,  2,2,2,2,  4,
  455. 1,1,1,1,  1,1,1,1,1,1,1,1,  1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,  1,1,1,1,1,1,1,1,
  456. 1,1,1,1,1,1,1,1,  1,1,1,1,1,1,1,1,  1,1,1,1,1,1,1,1,  4,
  457. 1,1,1,1,  1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,  1,1,1,1,1,1,1,1,  2,2,1,1,1,1,  
  458. 1,1,1,1,1,1,1,1,  1,1,1,1,1,1,1,  1,1,1,1,1,1,1,1,  4,1,1,1,1,
  459. 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,  1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,  1,1,1,1,1,1,1,1,  1,1,1,1,1,1,1,1,
  460. 1,1,1,1,1,1,1,1,   4,  
  461. 4};
復制代碼




回復

使用道具 舉報

ID:146284 發表于 2016-11-5 17:21 | 顯示全部樓層
厲害了樓主,參考參考。
回復

使用道具 舉報

ID:146746 發表于 2016-11-8 06:56 | 顯示全部樓層
留名,等積分,哈哈
回復

使用道具 舉報

ID:440750 發表于 2018-12-6 11:05 | 顯示全部樓層
小白求回答:為啥出現下面的報錯啊?求回答
09985.c(3): warning C318: can't open file 'ours.h'
09985.C(63): warning C206: 'delay10ms': missing function-prototype
09985.C(63): error C267: 'delay10ms': requires ANSI-style prototype
回復

使用道具 舉報

ID:420302 發表于 2018-12-27 20:33 | 顯示全部樓層
請問有沒有拼數游戲的程序?
回復

使用道具 舉報

ID:420302 發表于 2018-12-27 20:33 | 顯示全部樓層
請問有沒有拼數游戲的程序
回復

使用道具 舉報

ID:457083 發表于 2019-1-8 19:48 | 顯示全部樓層
耀月 發表于 2018-12-6 11:05
小白求回答:為啥出現下面的報錯啊?求回答
09985.c(3): warning C318: can't open file 'ours.h'
09985. ...

樓主沒發那文件出來你直接抄不得
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产99精品 | 日韩高清av | 国产精品一区二区在线 | a黄毛片 | 国产一区二区在线免费观看 | 男女啪啪网址 | 91性高湖久久久久久久久_久久99 | 天天天天天操 | 亚洲欧美在线视频 | 亚洲综合一区二区三区 | 欧美一级www片免费观看 | 99re在线视频观看 | 欧美成人免费在线视频 | 在线免费观看a级片 | 成人在线观看欧美 | 男人电影天堂 | 99精品免费 | 一区二区三区精品视频 | 91成人免费 | 黄视频免费 | 亚洲精品久久区二区三区蜜桃臀 | 午夜久久久久久久久久一区二区 | 亚洲最新在线视频 | 午夜国产一级 | 黄色毛片大全 | 亚洲综合色丁香婷婷六月图片 | 国产精品毛片无码 | 亚洲一区 | 天天操网 | 亚洲在线一区二区 | 操视频网站| 欧美日韩国产精品激情在线播放 | 国产精品视频不卡 | 国产精品亚洲一区 | 欧美激情在线精品一区二区三区 | 韩日在线观看视频 | 日韩av在线免费 | 久久精品国产一区老色匹 | 色婷婷综合久久久中文字幕 | 中文字幕精品视频 | 999精品视频在线观看 |