⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 music1.asm

📁 音乐原代码
💻 ASM
字号:
#include <reg51.h>
#define uchar unsigned char
#define uint unsigned int
uchar j,k,c=1,t,s=0,zt=0;
uint m,wei,shiwei,guowei;
sbit P1_0=P1^0;
sbit P1_1=P1^1;
sbit P1_2=P1^2;
sbit P1_3=P1^3;
sbit P1_7=P1^7;
sbit P3_2=P3^2;
sbit P3_3=P3^3;
//sbit P2_0=P2^0;
//sbit P2_1=P2^1;
sbit P2_7=P2^7;

void DELAY1();
uchar code TAB[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

uint code table0[]={0,64260,64400,64524,64580,64671,64777,64820,//T值表;
   64898,64968,65030,65058,65110,65157,65178,65217};
uint code table1[]={ //简码表;
      0x52,0x61,0x81,0x22,0x41,0x54,0x02,0x62,0x84,  //过雪山草地
   0x71,0x81,0x92,0x84,0x04,0xb2,0xb2,0x92,0xb2,0x82,0x02,0x91,
   0x82,0x62,0x52,0x52,0x22,0x52,0x44,0x04,0x52,0x02,0x61,0x52,
   0x42,0x22,0x21,0x41,0x54,0x82,0x02,0x81,0x72,0x82,0x92,0x72,
   0x84,0x92,0x92,0x81,0x91,0xa2,0x94,0x02,0x82,0x62,0x92,0x82,
   0x52,0x64,0x04,0x82,0x91,0xb1,0x92,0x81,0x61,0x52,0x61,0x81,
   0x51,0x61,0x42,0x22,0x02,0x41,0x61,0x81,0x52,0x44,0x04,0x08
   ,0x00
     };
uint code table2[]={      //生日歌
     0x83,0x81,0x94,0x84,0xb4,0xa8,0x83,0x81,0x94,0x84,0xc4,0xb8,
     0x83,0x81,0xf4,0xd4,0xb4,0xa4,0x94,0xe3,0xe1,0xd4,0xb4,0xc4,
     0xb8,0x08,0x00
   };
uint code table3[]={      //甜蜜蜜
    0x11,0x21,0x41,0x51,0x68,0x14,0x22,0x11,0x21,0x48,0x48,
  0x64,0x82,0x92,0x65,0x42,0x53,0x41,0x52,0x61,
  0x81,0x68,0x52,0x52,0x52,0x51,0x61,0x51,0x41,0x42,0x21,
  0x11,0x12,0x45,0x52,0x63,0x51,0x61,0x51,0x61,0x81,
  0x58,0x58,0x64,0x82,0x92,0x65,0x42,0x53,0x41,
  0x52,0x61,0x81,0x68,0x52,0x52,0x52,0x51,0x61,0x51,0x41,
  0x42,0x21,0x13,0x45,0x62,0x51,0x41,0x42,0x21,0x11,
  0x12,0x48,0x48,0x68,0x14,0x21,0x41,0x11,0x21,
  0x48,0x48,0x22,0x42,0x22,0x42,0x22,0x21,0x41,0x21,
  0x11,0x12,0x68,0x68,0x22,0x42,0x22,0x42,0x22,0x21,
  0x41,0x21,0x11,0x12,0x68,0x64,0x02,0x81,0x91,0x84,0x02,
  0x81,0x91,0x84,0x02,0x81,0x91,0x82,0x81,0x91,0x82,0x81,0x91,
  0x88,0x64,0x82,0x92,0x65,0x42,0x53,0x41,0x52,0x61,
  0x81,0x68,0x52,0x52,0x52,0x51,0x61,0x51,0x41,0x42,0x21,
  0x13,0x45,0x62,0x51,0x41,0x42,0x21,0x11,0x12,0x48,
  0x48,0x68,0x14,0x21,0x41,0x11,0x21,0x48,0x48,0x00
   };


uint code table4[]={ //月亮代表我的心
//1
0x02,0x12,0x45,0x62,0x85,0x42,0x35,0x62,0x84,0x02,0x82,
0x95,0xa2,0xb5,0x92,
//2
0x8c,0x62,0x52,0x45,0x42,0x44,0x62,0x52,0x45,0x42,0x44,
0x52,0x62,
//3
0x55,0x42,0x24,0x64,0x5c,0x02,0x12,0x45,0x62,0x85,0x42,
0x35,0x62,0x84,0x02,0x82,0x95,0xa2,0xb5,0x92,0x8c,0x62,
0x52,0x45,0x42,0x44,0x62,0x52,0x45,0x42,0x44,0x52,0x62,
0x55,0x22,0x34,0x42,0x52,0x4c,0x84,
//4
0x65,0x52,0x44,0x84,0x3c,0x22,0x32,0x25,0x34,0x24,0x14,
0x6c,0x84,
//5
0x65,0x52,0x44,0x84,0x3c,0x22,0x32,0x45,0x42,0x45,0x51,
0x61,0x5c,0x02,0x12,
//6
0x45,0x62,0x85,0x42,0x35,0x62,0x85,0x82,0x95,0xa2,0xb5,
0x92,0x8c,0x62,0x52,
//7
0x45,0x42,0x44,0x62,0x52,0x45,0x42,0x44,0x52,0x62,0x55,
0x22,0x34,0x42,0x52,0x4c,
//重复
0x62,0x52,0x45,0x42,0x44,0x62,0x52,0x45,0x42,0x44,0x52,
0x62,0x55,0x22,0x34,0x42,0x52,0x4c,0x62,0x52,0x45,0x42,
0x44,0x62,0x52,0x45,0x42,0x44,0x52,0x62,0x55,0x22,0x34,
0x42,0x52,0x4c,0x00
   };
  uint code table5[]={      //遇见
     0x82,0x62,
     0x64,0x82,0x52,0x54,0x62,0x52,
     0x52,0x42,0x48,0x42,0x32,
     0x22,0x32,0x42,0x32,0x42,0x42,0x52,0x62,
     0x6C,0x82,0x62,  0x64,0x82,0x52,0x54,0x62,0x52,
     0x52,0x42,0x48,0x42,0x32,

     0x22,0x32,0x42,0x32,0x32,0x42,0x42,0x52,
     0x48,0x02,0x82,0x92,0xA2,
     0xB4,0xA2,0xB2,0xA2,0x92,0x92,0x81,0x71,
     0x84,0x32,0x82,0x44,0x52,0x62,
     0x72,0x62,0x52,0x42,0x34,0x82,0x62,

     0x64,0x82,0x52,0x54,0x62,0x52,
   0x52,0x42,0x48,0x42,0x32,
   0x22,0x32,0x42,0x32,0x32,0x42,0x42,0x52,
   0x6C,0x82,0x62,

   0x64,0x82,0xC2,0xC4,0xB2,0xA2,
   0xA2,0xB2,0xA8,0x42,0x32,
   0x22,0x32,0x42,0x32,0x32,0x42,0x42,0x52,
   0x48,0x02,0x82,0x92,0xA2,

   0xB4,0xA2,0xB2,0xA2,0x92,0x82,0x92,
   0x92,0x82,0x84,0x82,0x42,0x52,0x62,
   0x74,0x62,0x72,0x82,0x42,0x52,0x62,
   0x62,0x62,0x64,0x02,0x92,0xA2,

   0xB4,0xA2,0xB2,0xC2,0xB2,0xC2,0xD2,
   0xD2,0x82,0x84,0x82,0x42,0x52,0x62,
   0x74,0x62,0x72,0x62,0x52,0x52,0x42,
   0x32,0x42,0x48,0x02,0x82,
   0xD2,0xC2,0x82,0xD2,0xC4,0xC2,0xF2,

   0x02,0x72,0x62,0x72,0x82,0xA2,0xA2,0xC2,
   0xBC,0x82,0x62,
   0x32,0x42,0x44,0x02,0x82,0x92,0xA2,
   0xB4,0xA2,0xB2,0xC2,0xB2,0xA2,0x92,

   0x92,0x82,0x84,0x02,0x42,0x52,0x62,
   0x74,0x62,0x72,0x82,0x42,0x42,0x92,
   0x92,0x82,0x84,0x02,0x82,0x92,0xA2,
   0xB4,0xA2,0xB2,0xC2,0xA2,0xC2,0xD2,

   0xD2,0x82,0x84,0x02,0x42,0x52,0x62,
   0x74,0x62,0x72,0x82,0x42,0x44,
   0x51,0x61,0x51,0x41,0x4C,
   0x08,0x02,0x82,0x92,0xA2,
   0xB4,0xA2,0xB2,0xA2,0x92,0x82,0x72,

   0x72,0x82,0x8C,
   0x72,0x62,0x52,0x42,0xA4,0xA4,
   0xBF,0x00
      };


void delay(uint count)    //1毫秒延时程序
{
   uint u,y;
   for(u=0;u<count;u++)
   for(y=0;y<120;y++)
  ;
}

void service_int0() interrupt 0 using 0  //暂停按钮
{
   do{P0=TAB[c];P2_7=1;} while(P1_3==1);         //按下次键,就继续播放
}

void service_int1() interrupt 2 using 2   /*按下不够500毫秒就执行播下一首,
大于500毫秒就执行快进,直到防开*/
{
do
   {
    delay(500);
    t++;
  }
while(P3_3==0);
if(t<100)
{
  s=1;             //显示第几首歌
}
if(t>=100);
   {k++;
   }
}

time0()  interrupt 1 using 1
{ TH0=m/256;
   TL0=m%256;
  P1_7=!P1_7;
}

void chengxu(uint ap[])
{

  while(1)
   { wei=ap[k++];

     /*if(s==1)   //显示第几首歌
       { s=0;
         wei=0;
   k=0;
       }*/
  guowei=wei%16;
  shiwei=wei/16;
  if(wei!=0)
   {if(shiwei!=0)
    {
   m=table0[shiwei];TH0=m/256;TL0=m%256;TR0=1;
   do{P0=TAB[c];P2_7=1;                  //显示第几首歌
   DELAY1();guowei--;} while(guowei>0);   //拍数延时
       }
     else{TR0=0;
       do{DELAY1();guowei--;} while(guowei>0);
   }
   P0=TAB[c];P2_7=1;     //显示第几首歌
   }
else{c++;if(c==6){c=1;};break;}
   }
}

void main()          //主程序
{
TMOD=0x01;
IP=0x05;
IE=0x87;
while(P1_3==1);                //按下次键播放
while(1)
{
  switch(c)
   {
case 1:
  chengxu(table1);
  break;
case 2:
    chengxu(table2);
   break;
case 3:
   chengxu(table3);
   break;
case 4:
   chengxu(table4);
   break;
   case 5:
   chengxu(table5);
   break;
   default:
  break;
}
  }
}


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -