仿真图:
PCB图:
- #include <reg52.h>
- #include<stdlib.h>
- #include"ours.h"
- #define uchar unsigned char
- #define SNAKE 20 //最长蛇身
- #define SPEED 50 //运动速度控制,值越大,则扫描整个蛇
- // 身的时间越长,即表现为移动速度慢
- #define MQ 5 //进入下一关的加速,pace=pace-MQ
- sbit P3_0=P3^0; sbit P3_2=P3^2; sbit P3_3=P3^3;
- //蜂鸣器位 外部中断0 外部中断1
- sbit P3_7=P3^7; sbit P3_6=P3^6; sbit P3_1=P3^1;//指示灯位
- sbit P0_7=P0^7;sbit P0_6=P0^6;sbit P0_5=P0^5;sbit P0_4=P0^4;
- //暂停 增关卡,加速 减关卡,退出 加速
- //do ruai mi fa
- sbit P0_2=P0^2;sbit P0_1=P0^1;sbit P0_3=P0^3;sbit P0_0=P0^0;
- // 左 下 右 上
- // sao la xi 退出
- sbit P2_7=P2^7;sbit P2_6=P2^6;sbit P2_5=P2^5;sbit P2_4=P2^4;
- sbit P2_3=P2^3;sbit P2_2=P2^2;sbit P2_1=P2^1;sbit P2_0=P2^0;
-
- uchar x[SNAKE+1]; //蛇身的坐标 行
- uchar y[SNAKE+1]; //蛇身的坐标 列
- uchar n,i,pace,xz; //当前蛇长,通用变量,当前速度,选择游戏标志
- char bdata guanqia; //定义关卡,可谓寻址,便于控制指示灯
- sbit guanqia_0=guanqia^0;sbit guanqia_1=guanqia^1;sbit guanqia_2=guanqia^2;
- char addx,addy; //移动方向,同直角坐标系,addx为横向,addy为纵向
- bit again,out; //再次产生果实变量,停止播放音乐变量
- bit pause=0; //暂停变量,1为暂停
- uchar tone_H,tone_L;//定时器初值,用来控制音调
- uchar ym; //选择音乐
- uchar wait; //用于判断是否已经开始游戏
- void display(uchar ); //声明显示函数
- void display_p(uchar); //暂停时调用该函数显示
- bit knock(); //声明撞击函数
- void key_press(); //声明按键函数
- void play1(unsigned int);
- void play(uchar *,uchar *);
- /**************************************************************
- 判断是否碰撞,是则返回1,否则返回0
- **************************************************************/
- bit knock()
- { bit k=0;
- if(x[1]>7||y[1]>7)k=1; //撞墙
- for(i=2;i<n;i++)
- if((x[1]==x[i])&(y[1]==y[i]))k=1; //撞自己
- return k;
- }
- /**************************************************************
- 键位处理
- **************************************************************/
- void key_press()
- { switch(~P0)
- { case 1:addx=0;addy=addy==-1?-1:1;break;//上
- case 2:addx=0;addy=addy==1?1:-1; break;//下
- case 4:addy=0;addx=addx==1?1:-1; break;//左
- case 8:addy=0;addx=addx==-1?-1:1;break;//右
- case 5:if(addx!=1||addy!=-1){addx=-1;addy=1;}break;//左上
- case 9:if(addx!=-1||addy!=-1){addx=1;addy=1;}break;//右上
- case 6:if(addx!=1||addy!=1){addx=-1;addy=-1;}break;//左下
- case 10:if(addx!=-1||addy!=1){addx=1;addy=-1;}break;//右下
- case 128:delay10ms(2);pause=~pause; //暂停
- while(~P0_7)if(P0_5)display_p(1);break;
- //按住暂停键不放且没有退出游戏请求
- }
- }
- /*********************************************************
- 显示函数,按点从头到尾扫描,周期为SNAKE,扫描k个周期运动一格
- **********************************************************/
- void display(uchar k) //显示k次
- { while(k--)
- { for(i=0;i<SNAKE+1;i++) //扫描整个虚拟蛇身
- { P2=0xff;P1=0xff; //灭灯
- P2=~mux(y[i]);P1=~mux(x[i]);//按点依次显示
- delay1ms(1); //显示延时1ms
- if(~P0) key_press(); //键位处理
- if(~P0_5)k=0; //判断是否退出游戏
- }
- }
- }
- /*********暂停时调用该函数显示,以防闪烁*******************/
- void display_p(uchar k) //显示k次
- { while(k--)
- { for(i=0;i<SNAKE+1;i++) //扫描整个虚拟蛇身
- { P2=0xff;P1=0xff; //灭灯
- P2=~mux(y[i]);P1=~mux(x[i]);//按点依次显示
- delay1ms(1); //显示延时1ms
- }
- }
- }
- /*****外部中断1,用于切换游戏,xz=0为贪吃蛇,xz=1为电子琴******/
- void my_int1(void) interrupt 2
- { delay10ms(2); //去抖动
- if(wait) //游戏开始前,用于选择游戏
- if(~P3_3)
- if(++xz==2)xz=0; //共有两个游戏,所以xz只能为0或1
- if(~wait) //游戏已开始(只在电子琴里有效)
- out=1; //停止播放音乐
- while(~P3_3); //直到松开按键,才跳出中断,以防xz连续变化
- }
- /**************************************************************
- ******* 主程序 ***************************************
- ***************************************************************/
- void main(void)
- { EA=1; //开总中断
- EX0=1; //开外部中断0
- EX1=1; //开外部中断1
- /***********************************************************************
- ***************** 贪吃蛇 ****************************************
- ************************************************************************/
- TCS:while(1)
- { /**************初始化游戏**********************/
- for(i=3;i<SNAKE+1;i++)x[i]=100;//初始化虚拟蛇身
- for(i=3;i<SNAKE+1;i++)y[i]=100;//初始化虚拟蛇身
- n=3; //初始蛇身长为n-1
- y[1]=1;x[1]=0; //初始蛇头位置
- y[2]=0;x[2]=0; //初始蛇尾位置
- addx=0;addy=0; //初始位移偏移
- pace=SPEED; //给运动速度赋初值
- /*************产生果实*******************************/
- do
- { x[0]=rand()%8; y[0]=rand()%8;//产生随机果实
- again=0;
- for(i=1;i<n;i++) //判断是否与蛇身重叠
- if((x[0]==x[i])&&(y[0]==y[i]))again=1;
- }while(again); //若重叠则再次产生
- /************等待开始游戏,贪吃蛇开始前可选关****************/
- guanqia=1; //第一关
- P3_7=~guanqia_2;P3_6=~guanqia_1;P3_1=~guanqia_0;//显示关卡
- while(1) //等待选择游戏
- { wait=1; //等待选择游戏
- if(xz) goto DZQ; //如果xz=1,则进入电子琴
- display_p(1); //显示贪吃蛇初始位置
- if(~P0_3|~P0_0)break;//如果按上或右键,则开始游
- /*************选关******************************************/
- if(~P0_6) //增关卡
- { delay10ms(2); //去抖动
- if(~P0_6)
- { if(++guanqia<=7)//最大到7关
- { P3_7=~guanqia_2;P3_6=~guanqia_1;P3_1=~guanqia_0;
- //将其值用发光二极管以二进制的形式显示出来
- pace=pace-MQ; //加速
- }else --guanqia;
- while(~P0_6)display_p(1);
- //直到松开按键才跳出,以防连续增加关卡
- }
- }
- if(~P0_5) //减关卡
- { delay10ms(2);
- if(~P0_5)
- { if(--guanqia>=1)
- { P3_7=~guanqia_2;P3_6=~guanqia_1;P3_1=~guanqia_0;
- pace=pace+MQ;
- }else ++guanqia;
- while(~P0_5)display_p(1);
- }
- }
- }
-
- /*************贪吃蛇游戏正在运行**************************/
- while(1)
- { wait=0; //游戏已开始,wait置0
- if(knock()){pace=SPEED;break;} //判断是否碰撞
- /*************显示部分************************/
- if(P0_6&P0_4)display(pace); //判断是否速度运动
- else display(10);//当P0^4或P0^6被按下时加速运动
- if(~P0_5)break; //判断是否退出
- /*************判断是否吃东西,及进入下一关**************/
- if((y[0]==y[1]+addx)&&(x[0]==x[1]+addy)) //如果吃到
- { n++; //蛇身加1
- if(n==SNAKE+1) //如果进入下一关
- { n=3; //蛇身长从2开始
- pace=pace-MQ; guanqia++; //运动加速,关卡加1
- P3_7=~guanqia_2;P3_6=~guanqia_1;P3_1=~guanqia_0;
- //将关卡的值用三个指示灯显示出来
- for(i=3;i<SNAKE+1;i++)x[i]=100; //初始化虚拟蛇身
- for(i=3;i<SNAKE+1;i++)y[i]=100; //初始化虚拟蛇身
- }
- do
- { x[0]=rand()%8;y[0]=rand()%8;//产生随机果实
- again=0;
- for(i=1;i<n;i++) //判断是否与蛇身重叠
- if((x[0]==x[i])&(y[0]==y[i]))again=1;
- }while(again); //若重叠则再次产生
- }
- /*************判断蛇身是否移动**********************/
- if(~pause) //如果不暂停
- { for(i=n-1;i>1;i--)
- { x[i]=x[i-1];y[i]=y[i-1];} //蛇身从尾到头移动
- y[1]=y[1]+addx;x[1]=x[1]+addy;//蛇头移动1格
- }
- }
- }
- /*******************************************************************
- *************** 电子琴 ************************************
- ********************************************************************/
- DZQ:while(1)
- { P3_0=1;
- ET0=1; //启用定时器0中断
- TMOD=0x01; //定时器0工作在方式1
- ym=0;out=0; //选择音乐及退出播放位无效
- /***********等待开始游戏********************************/
- while(1)
- { wait=1; //等待选择游戏
- P2=0x00;P1=0xc7; //点亮点阵
- P3_7=1;P3_6=1;P3_1=1; //关闭指示灯
- if(~P0_7|~P0_6|~P0_5|~P0_4|~P0_3|~P0_2|~P0_1)break;
- //7个键随便按一个则开始电子琴
- if(xz==0)goto TCS;//如果xz=0,则进入贪吃蛇游戏
- }
- /***************电子琴正在运行*********************/
- while(1)
- { wait=0; //游戏已开始,wait置0
- P3_7=0;P3_6=0;P3_1=0;//开指示灯
- if(P0_0==0)break; //如果按下P0^0则退出电子琴
- if(ym) //如果有音乐请求
- switch(ym) //选择音乐,最多7首
- { case 128:play(song1,beat1);ym=0;out=0;break;
- case 64: play(song2,beat2);ym=0;out=0;break;
- case 32:play(song3,beat3);ym=0;out=0;break;
- case 16: play(song4,beat4);ym=0;out=0;break;
- case 4:play(song5,beat5);ym=0;out=0;break;
- case 2: play(song6,beat6);ym=0;out=0;break;
- case 8: play(song7,beat7);ym=0;out=0;break;
- }P3_0=1;
- switch(~P0)
- { case 128:P2_0=1;play1(956);P2_0=0;break;
- case 64: P2_1=1;play1(852);P2_1=0;break;
- case 32: P2_2=1;play1(759);P2_2=0;break;
- case 16: P2_3=1;play1(716);P2_3=0;break;
- case 4: P2_4=1;play1(638);P2_4=0;break;
- case 2: P2_5=1;play1(568);P2_5=0;break;
- case 8: P2_6=1;play1(506);P2_6=0;break;
- }P3_0=1;
- }
- }
- }
- /****自己弹奏时调用该函数***********/
- void play1(x)
- { tone_H=(65536-x)/256;
- tone_L=(65536-x)%256;
- TH0=tone_H;
- TL0=tone_L;
- TR0=1;
- while(~P0);
- TR0=0;
- }
- /****播放音乐时调用该函数*******************/
- void play(uchar *song,uchar *beat)
- { i=0;
- while(song[i]!=50&&out!=1)
- { tone_H=(65536-tone[song[i]])/256;
- tone_L=(65536-tone[song[i]])%256;
- TH0=tone_H;
- TL0=tone_L;
- if(song[i])TR0=1;
- beat_125ms(beat[i]);
- i++;
- TR0=0;
- }
- }
- /****定时器0中断用于产生声******/
- void tone_timer(void) interrupt 1
- { TH0=tone_H;
- TL0=tone_L;
- P3_0=~P3_0;
- }
- /****外部中断0,用于控制播放那个曲子*****/
- void my_int0(void) interrupt 0
- { if(~P0) //如果有选择
- ym=~P0; //则将其值赋给ym
- }
- ours库函数
- #define uchar unsigned char
- /******判断具体的亮点****************/
- unsigned char mux(unsigned char temp)
- { switch(temp)
- { case 7:return 128; break;
- case 6:return 64; break;
- case 5:return 32; break;
- case 4:return 16; break;
- case 3:return 8; break;
- case 2:return 4; break;
- case 1:return 2; break;
- case 0:return 1; break;
- default: return 0;
- }
- }
- /*******************************************
- ************** 延时函数 ****************
- ********************************************/
- void delay1ms(int x) //延时1ms
- { int i,j;
- for(i=0;i<x;i++)
- for(j=0;j<122;j++);
- }
- void delay10ms(int x) //延时10ms
- { int i,j;
- for(i=0;i<x;i++)
- for(j=0;j<1934;j++);
- }
- /**********节拍延时函数**************/
- void beat_125ms(uchar x) //延时125ms
- { uchar i;
- unsigned int j;
- for(i=0;i<x;i++)
- for(j=0;j<24934;j++);
- }
- /*******************************************************************
- ****************乐谱************************************************
- *********************************************************************/
- unsigned int code tone[]={1012,
- 956, 852, 759, 716, 638, 568, 506, 478, 478,478, //中音
- 1908,1701,1515,1433,1276,1136,1012, 956, 956,956, //低音
- 478, 426, 379, 358, 319, 284, 253, 233 }; //高音
- //dao ruai mi fa sao la xi
- //song为乐谱,当出现50时表示结束;beat为节奏(以0.125秒为单位),
- /*************画心*************/
- uchar code song1[]={
- 3,5, 6,6,21,7,6,5, 2,3,3,3,5, 6,6,7,21,5,21,22,
- 22,23,23,25,23, 23,22,21,22,21,7, 21,22,7,5,6,3,5, 6,6,23,22,21,7,
- 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,
- 22,23,23,25,23, 23,22,21,22,21,7, 21,22,7,5,6,3,5, 6,6,23,22,21,7,
- 5,6,6,25,23, 23,22,21,22,22,25, 23,23,23,25,23, 23,22,21,22,25,26,
- 22,23,23,25,23, 23,22,21,22,21,7, 21,22,7,5,6,3,5, 6,6,23,22,21,7,
- 5,6,6,50};
- uchar code beat1[]={
- 4,4, 8,4,4,4,4,8, 6,2,16,4,4, 8,4,4,4,4,4,4,
- 4,4,16,4,4, 8,4,4,8,4,4, 4,4,4,4,8,4,4, 8,4,4,4,4,8,
- 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,
- 4,4,16,4,4, 8,4,4,8,4,4, 4,4,4,4,8,4,4, 8,4,4,4,4,8,
- 6,2,18,4,4, 8,4,4,8,4,4, 4,4,8,4,4, 8,4,4,4,4,8,
- 6,2,16,4,4, 8,4,4,8,4,4, 4,4,4,4,8,4,4, 8,4,4,4,4,8,
- 6,2,24,4};
- /***********梁祝*********************/
- uchar code song2[]={
- 7,6,7, 5,6,4,3, 2,3,4,3,5,3, 2,3,5,2,3,4,3,2,
- 1,5, 17,2,16,1, 15,16,1, 15,
- 13,15,16, 1,2,16,1,15, 5,21,6,5,3,5, 2,
- 2,3,17,16, 15,16,1,2, 13,1,16,15,16,1, 15,
- 3,5,17,2, 16,1,15, 13,15,13,15,16,17,2, 16,15,16,
- 1,2,5,3, 2,3,2,1,16,15, 13,1, 16,1,16,15,13,15,16,1,
- 15,3,5, 2,3,2,1,17,16, 15,50};
- uchar code beat2[]={
- 4,4,4, 6,2,4,4, 2,2,2,2,6,2, 2,2,2,2,2,2,2,2,
- 12,4, 4,4,4,4, 12,2,2, 16,
- 8,6,2, 6,2,2,2,4, 6,2,2,2,2,2, 16,
- 6,2,4,4, 6,2,4,4, 4,4,2,2,2,2, 16,
- 6,2,4,4, 2,2,8, 2,4,2,2,2,2,2, 12,2,2,
- 6,2,4,4, 4,2,2,4,2,2, 8,8, 3,1,2,2,2,2,2,2,
- 12,2,2, 2,2,2,2,4,4, 16,2};
- /***********兄弟无数*******************/
- uchar code song3[]={
- 6,6,5,6,0, 3,7,21,7,6,0, 7,6,7,5,3,0, 2,2,1,2,3,0,
- 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,
- 3,21,21,7,22, 7,6,6,3,5, 3,4,3,2,1,2,3,5, 2,
- 22,22,6, 21,7,0, 7,7,6,6,2,5,6, 6,3,
- 22,22,6, 21,7,0, 7,7,6,6,2,0,22, 7,6,6,
- 7,7,7,6,3,6,4,3, 2, 3,22,7,6,5,6,7,7, 22,0,
- 22,23,6,6,
- 50};
- uchar code beat3[]={
- 8,8,4,4,8, 8,4,4,4,4,8, 8,4,4,4,4,8, 8,4,4,4,4,8,
- 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,
- 4,8,4,8,8, 4,4,4,4,16, 6,2,4,4,4,4,4,4, 24,
- 24,4,4, 16,8,8, 8,4,4,4,4,4,4, 8,24,
- 24,4,4, 16,8,8, 8,4,4,4,4,4,4, 4,4,24,
- 6,2,4,4,4,4,4,4, 24, 6,2,4,4,4,4,4,4, 24,8,
- 2,2,4,24,
- 4};
- /*************伤不起******************/
- uchar code song4[]={
- 6,6,5,3,3, 6,6,5,3,3, 6,21,3,5,5, 3,2,3,3,
- 6,6,5,3,3, 6,6,5,3,3, 5,3,5,7,7, 7,5,6,6,
- 5,6,6,6,5,3, 5,6,6,6, 5,6,6,6,21,6,6, 5,6,5,3,3,
- 6,6,2,3,2,2,1, 16,2,3,2, 5,5,5,5,5,5,6, 7,6,7,
- 5,6,6,6,5,3, 5,6,6,6, 5,6,6,6,21,6, 5,6,5,3,3,
- 6,6,2,3,2,2,1, 16,2,3,2, 5,5,5,5,5,6, 7,7,6,7,
- 21,7,6,6,5,3, 5,6,7,6,6, 21,6,21,6,21,6,21,22, 3,3,3,2,3,
- 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,
- 21,7,6,6,5,3, 5,6,7,6,6, 21,6,21,6,21,6,21,22, 3,3,3,2,3,
- 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,
- 50};
- uchar code beat4[]={
- 4,2,4,2,4, 4,2,4,2,4, 4,2,4,2,4, 4,2,2,8,
- 4,2,4,2,4, 4,2,4,2,4, 4,2,4,2,4, 4,2,2,8,
- 2,2,4,4,2,2, 2,2,4,6, 2,2,2,2,4,2,2, 2,2,2,2,6,
- 2,2,2,2,4,2,2, 4,2,2,6, 2,2,2,2,4,2,2, 4,4,6,
- 2,2,4,4,2,2, 2,2,4,6, 2,2,2,2,4,4, 2,2,2,2,6,
- 2,2,2,2,4,2,2, 4,2,2,6, 2,2,2,2,4,4, 2,2,4,6,
- 4,2,2,4,2,2, 4,2,2,4,2, 2,2,2,2,2,2,2,2, 2,2,2,2,6,
- 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,
- 4,2,2,4,2,2, 4,2,2,6,2, 2,2,2,2,2,2,2,2, 2,2,2,2,6,
- 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,
- 4};
- /**************兰若词******************/
- uchar code song5[]={
- 16,17,1, 3,17,1, 16,16,16,17,1, 4,17,1,
- 16,16,17,1,3, 2,2,2,1, 2,2,3,4,2, 3,3,
- 16,17,1, 3,17,1, 16,16,16,17,1, 4,1,1,
- 16,16,17,1,3, 2,2,2,1, 2,1,2,3,15, 16,16,
- 3,5,6,7, 21,7,6,5,3, 6,5,3,2,1, 2,3,5,2,
- 3,3,5, 6,5,6,5, 6,7,21,7,6,5, 6,6,
- 6,3,5,6,7, 21,7,6,5,3, 6,5,3,2,1, 2,3,5,2,
- 3,2,1, 16,3,2,1, 16,3,2,3,5, 6,6,
- 50};
- uchar code beat5[]={
- 3,3,3, 9,6,3, 6,3,3,3,3, 9,6,3,
- 6,3,3,3,3, 9,3,3,3, 6,3,3,3,3, 9,9,
- 3,3,3, 9,6,3, 6,3,3,3,3, 9,6,3,
- 6,3,3,3,3, 9,3,3,3, 6,3,3,3,3, 9,9,
- 2,2,2,2, 3,3,3,6,3, 3,3,3,6,3, 6,3,6,3,
- 9,3,3, 6,3,6,3, 3,3,3,3,3,3, 9,9,
- 9,2,2,2,2, 3,3,3,6,3, 3,3,3,6,3, 6,3,6,3,
- 9,3,3, 6,3,6,3, 6,3,3,3,3, 9,9,
- 4};
- /***************二泉映月*******************/
- uchar code song6[]={
- 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,
- 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,
- 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,
- 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,
- 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,
- 6,
- 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,
- 5,
- 50};
- uchar code beat6[]={
- 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,
- 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,
- 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,
- 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,
- 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,
- 16,
- 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,
- 16,
- 4};
- /***********土耳其进行曲***********/
- uchar code song7[]={
- 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,
- 27,26,25,26, 27,26,25,26, 27,26,25,24, 23,
- 21,22, 23,21,22, 23,22,21,7, 6,7,21,22,
- 7,5,21,22,23,21,22, 23,22,21,7, 6,22,7,5, 21,
- 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,
- 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,
- 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,
- 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,
- 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,
- 21,22,23,6,5,6,7,5, 6,
- 50};
- uchar code beat7[]={
- 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,
- 2,2,2,2, 2,2,2,2, 2,2,2,2, 4,
- 2,2, 4,2,2, 2,2,2,2, 2,2,2,2,
- 2,2,2,2,4,2,2, 2,2,2,2, 2,2,2,2, 4,
- 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,1,1,1,1, 1,1,1,1,1,1,1,1, 4,
- 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,
- 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,
- 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,
- 1,1,1,1,1,1,1,1, 4,
- 4};
复制代码
|