• 蓝桥杯单片机类音乐(移植普中的8月桂花,建议一小时写完代码后播放四小时)


    #include<STC15F2K60S2.h>

    unsigned char n=0;  //n???????   
    unsigned char code music_tab[] ={  
    0x18, 0x30, 0x1C , 0x10, //???: ????, ????, ????, ????,   
    0x20, 0x40, 0x1C , 0x10,  
    0x18, 0x10, 0x20 , 0x10,  
    0x1C, 0x10, 0x18 , 0x40,  
    0x1C, 0x20, 0x20 , 0x20,  
    0x1C, 0x20, 0x18 , 0x20,  
    0x20, 0x80, 0xFF , 0x20,  
    0x30, 0x1C, 0x10 , 0x18,  
    0x20, 0x15, 0x20 , 0x1C,  
    0x20, 0x20, 0x20 , 0x26,  
    0x40, 0x20, 0x20 , 0x2B,  
    0x20, 0x26, 0x20 , 0x20,  
    0x20, 0x30, 0x80 , 0xFF,  
    0x20, 0x20, 0x1C , 0x10,  
    0x18, 0x10, 0x20 , 0x20,  
    0x26, 0x20, 0x2B , 0x20,  
    0x30, 0x20, 0x2B , 0x40,  
    0x20, 0x20, 0x1C , 0x10,  
    0x18, 0x10, 0x20 , 0x20,  
    0x26, 0x20, 0x2B , 0x20,  
    0x30, 0x20, 0x2B , 0x40,  
    0x20, 0x30, 0x1C , 0x10,  
    0x18, 0x20, 0x15 , 0x20,  
    0x1C, 0x20, 0x20 , 0x20,  
    0x26, 0x40, 0x20 , 0x20,  
    0x2B, 0x20, 0x26 , 0x20,  
    0x20, 0x20, 0x30 , 0x80,  
    0x20, 0x30, 0x1C , 0x10,  
    0x20, 0x10, 0x1C , 0x10,  
    0x20, 0x20, 0x26 , 0x20,  
    0x2B, 0x20, 0x30 , 0x20,  
    0x2B, 0x40, 0x20 , 0x15,  
    0x1F, 0x05, 0x20 , 0x10,  
    0x1C, 0x10, 0x20 , 0x20,  
    0x26, 0x20, 0x2B , 0x20,  
    0x30, 0x20, 0x2B , 0x40,  
    0x20, 0x30, 0x1C , 0x10,  
    0x18, 0x20, 0x15 , 0x20,  
    0x1C, 0x20, 0x20 , 0x20,  
    0x26, 0x40, 0x20 , 0x20,  
    0x2B, 0x20, 0x26 , 0x20,  
    0x20, 0x20, 0x30 , 0x30,  
    0x20, 0x30, 0x1C , 0x10,  
    0x18, 0x40, 0x1C , 0x20,  
    0x20, 0x20, 0x26 , 0x40,  
    0x13, 0x60, 0x18 , 0x20,  
    0x15, 0x40, 0x13 , 0x40,  
    0x18, 0x80, 0x00  
    };  
    void int0()  interrupt 1   //????0 ????   
    {  TH0=0xd8;  
       TL0=0xef;  
       n--;  
    }  
      
    void delay (unsigned char m)   //??????   
    {  
     unsigned i=3*m;  
     while(--i);  
    }  
      
    void delayms(unsigned char a)  //???????   
    {  
      while(--a);                  //??while(--a) ????while(a--); ?????????????????!   
    }  
    void allinit()
    {
     P2=0x80;
     P0=0xff;
     P2=0xa0;
     P0=0x00;
     P2=0x00;
    }
    void fengmingqikai()
    {
     P2=0xa0;
     P0=0x40;
     P2=0x00;
    }
    void main()  
    {
     unsigned char p,m;   //m???????   
      unsigned char i=0;  
     bit qq;
      TMOD&=0x0f;  
      TMOD|=0x01;  
      TH0=0xd8;TL0=0xef;  
      IE=0x82;  
    play:  
       while(1)  
        {  
        a: p=music_tab[i];  
           if(p==0x00)       { i=0, delayms(1000); goto play;}     //???????,??1?,????????   
           else if(p==0xff)  { i=i+1;delayms(100),TR0=0; goto a;}  //??????,??100ms,???????   
                else         {m=music_tab[i++], n=music_tab[i++];}  //????? ? ????   
                 TR0=1;                                             //????1   
               while(n!=0) {
           qq=~qq;
           {
           if(qq==0)
           {
            fengmingqikai();
           }
           else
           {
            allinit();
           }
           }
          
          delay(m);
          }                       //??????, ??P1?????(?????!)   
           TR0=0;                                             //????1   
        }  
  • 相关阅读:
    iOS开发-UIColor和UIImage之间的转换
    iOS开发-给用户好的印象
    iOS开发之国际化(本地化)
    git学习之创建分支和合并分支
    iOS设置StatusBar字体颜色问题
    iOS开发技巧,细节(二)
    iOS开发,[NSBundle mainBundle] pathForResource方法返回空的问题解决
    【MM MRP】PA-SCM525 Unit2 Lot-Size$Rounding Profile(MRP_2)
    【MM MRP】PA-I (MRP_1)
    【MM 发票】MM MIRO界面中的ITEM LIST的布局可自己定义(转)
  • 原文地址:https://www.cnblogs.com/a1113775906/p/13828467.html
Copyright © 2020-2023  润新知