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

📄 music1.c

📁 music接管0.5W扬声器,就可以唱歌了,如果你觉得不好听,就调节一下与时间有关了延迟涵数,看看有何变化.
💻 C
字号:
//music接管0.5W扬声器,就可以唱歌了,如果你觉得不好听,就调节一下与时间有关了延迟涵数,看看有何变化.
//我是没空整了!
#include <reg51.h>
#include <Intrins.h>
#include <absacc.h>
//#include  <my.h>
#define uchar unsigned char
#define uint unsigned int
#define  WriteDeviceAddress 0xa0
#define  ReadDviceAddress 0xa1
uint ff;
uchar  CC;
uchar  BB;
uchar  ZD_count;
uchar shuj;
uchar csh_flag;
uchar data_flag;
uchar sec_1;
uchar sec;
uchar time;
uchar shuju;
sbit sstb=P3^2;
sbit csh=P3^4;					

sbit music=P1^0;
sbit ack=P1^1;					
sbit dog=P1^2;
sbit cw=P1^3;					
sbit oe=P1^4;					
sbit SCL=P1^5;
sbit SDA=P1^6;
sbit wxf=P1^7;

uchar data  sd[12];      
uchar data  prn_buf[8];
uchar data  end_buf[4];
uchar data  baund_code;
uchar data  baund_flag;
uchar data  prn_flag;
uchar data  end_flag;
uchar data  self_code;
uchar data  self_flag; 
uchar data  DAT1[]={0x40,0x30,0x2b,0x26,0x20,0x1c,0x18,0x15,0x13,0x00};  
uchar data  DAT2[]={0x44,0x38,0x2e,0x24,0x19,0x16,0x13,0x10,0x8,0x00};     
uchar data  DAT3[]={0x41,0x2f,0x29,0x24,0x19,0x16,0x13,0x10,0x0b,0x00};     

uchar  code  DAT[]={ 0x18,0x30,0x1c,0x10,//1
                                 0x19,0x40,0x16,0x10,//2
                                 0x13,0x10,0x19,0x10,//3
                                 0x16,0x10,0x13,0x40,//4
                                 0x16,0x20,0x19,0x20,//5
                                 0x16,0x20,0x13,0x20,//6
                                 0x19,0x80,0xff,0x20,//7
                                 0x2f,0x1c,0x0b,0x18,//8
                                 0x19,0x15,0x19,0x1c,//9
                                 0x19,0x20,0x19,0x26,//10
                                 0x41,0x20,0x19,0x2b,//11
                                 0x19,0x26,0x19,0x20,//12
                                 0x19,0x30,0x40,0xff,//13
                                 0x19,0x20,0x16,0x10,//14
                                 0x13,0x10,0x19,0x20,//15
                                 0x24,0x20,0x29,0x20,//16
                                 0x2f,0x20,0x29,0x40,//17
                                 0x19,0x20,0x16,0x10,
                                 0x13,0x10,0x19,0x20,
                                 0x24,0x20,0x29,0x20,
                                 0x2f,0x20,0x29,0x40,
                                 0x19,0x30,0x19,0x10,//18
                                 0x13,0x20,0x10,0x20,//19
                                 0x16,0x20,0x19,0x20,//20
                                 0x24,0x40,0x19,0x20,//21
                                 0x29,0x20,0x23,0x20,//22
                                 0x19,0x20,0x29,0x80,//23
                                 0x19,0x30,0x16,0x10,//24
                                 0x19,0x10,0x16,0x10,//25
                                 0x19,0x20,0x23,0x20,//26
                                 0x29,0x20,0x29,0x20,//27
                                 0x29,0x40,0x19,0x15,//28
                                 0x17,0x05,0x19,0x10,//29
                                 0x16,0x10,0x19,0x20,//30
                                 0x24,0x20,0x29,0x20,//31
                                 0x2f,0x20,0x29,0x40,//32
                                 0x19,0x30,0x19,0x10,//33
                                 0x13,0x20,0x10,0x20,//34
                                 0x16,0x20,0x19,0x20,//35
                                 0x23,0x40,0x19,0x20,//36
                                 0x29,0x20,0x23,0x20,//37
                                 0x19,0x20,0x29,0x30,//38
                                 0x19,0x30,0x19,0x10,//39
                                 0x13,0x40,0x19,0x20,//40
                                 0x19,0x20,0x23,0x40,//41
                                 0x0b,0x60,0x13,0x20,//42
                                 0x10,0x40,0x0b,0x40,//43
                                 0x13,0x80,0x00};
     
uchar  del(uchar m)
 {
   uchar  j,k;
   _nop_( );
    while(m--)
   {
     for(k=0;k<=4;k++)
     {dog=~dog;}
    }
  } 
 
uchar  Msec(uint x)                         
{uchar j;
 while(x--)
       {for(j=0;j<200;j++)
            {dog=~dog;}
       }
}
         
void Intt0()	interrupt 1			       
{      dog=~dog;                     
       ZD_count++;
       TH0=0xd8;
       TL0=0xef;//12M晶振,形成10毫秒中断
}

void  chu( )
 {
  shuj=0;
  BB=0;
  CC=0;
  ZD_count=0;
 }

void  music1( )
 {
   TR0=0;
    Msec(100);
   shuj++;
 }

void  music2( ) 
{ uchar  h;
   shuj++;
   h=DAT[BB+shuj];
   TR0=1;
   while(h!=ZD_count)
   {
       music=~music;
       del(CC);       
    }  
   ZD_count=0;
   //TR0=0;
   shuj++;
   BB++;  
 }

void Main()  
{    uchar  t,i;
       TH0=0xd8;
       TL0=0xef;
       TMOD=0x01;
       IE=0x82;
             do{
                dog=~dog;
                chu( );
                do
                 {
                     t=DAT[shuj];
                     if(t==0xff)
                     music1( );
                     else
                     {
                      CC=t;
                      music2( );
                     }
                     dog=~dog;
                  } while(t!=0);   
                  Msec(2000);
	       }while(1);

}

⌨️ 快捷键说明

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