<acronym id="xonnx"></acronym>
      <td id="xonnx"></td>
    1. <pre id="xonnx"></pre>

      1. 專注電子技術學習與研究
        當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

        51單片機C語言演奏“童話”

        作者:浪子   來源:浪子   點擊數:  更新時間:2014年06月10日   【字體:

         #include<reg51.h>

         
        sbit  sound=P2^4;
        sbit  led1=P1^6;
        sbit  led2=P1^7;
        unsigned char h,l,count,length;
        unsigned int t,f,i,j;
        unsigned int  scale[22]={100,262,294,330,349,392,440,494,523,578,659,698,784,880,988,1046,1175,1318,1397,1568,1760,1976};
        bit flag=1;
        void setthl(unsigned int p)
        {
        t=p*2;
        f=1000000/t;
        h=(65536-f)/256;
        l=(65536-f)%256;
        TH1=h;
        TL1=l;
        flag=1;
        TR1=1;
        }
        time1() interrupt 3 using 1
          {
            TH1=h;
            TL1=l;
            sound=~sound;
           }
          
        void timer0(void) interrupt 1
        {
         TH0=0x9c;   
         TL0=0x60;
         count++;
         if (count==length)
         {
              flag=0;
              count=0;
         }
        }
         
        delay()
        {
           length=10;
           flag=1;
           TR1=0;
           while(flag);
           TR1=1;
         }
         
        note(unsigned char n,unsigned char len)
        {
           setthl(scale[n]);
           length=len;
           while (flag);
           led1=!led1;
           led2=!led2;
         
        }
         
        song()
        {
           note(5,15);
           note(12,15);
           note(11,15);
           note(10,30);
           note(10,15);note(11,8);note(10,38);
          
           note(10,15);note(11,15);note(10,15);note(11,15);note(10,15);note(9,8);
           note(8,8); delay(); 
          
           note(8,15);note(10,15);note(12,15);note(13,30);note(13,15);note(13,8);note(12,23);note(9,15);note(9,15);note(11,8);note(10,38);
           delay();
           note(8,15);note(10,15);note(12,15);note(13,30);note(13,15);note(13,8);note(12,23);note(9,15);
           note(9,15);note(11,15);note(10,15);note(11,15);note(10,15);note(9,8);note(8,38);  
           note(9,15);note(9,8);note(10,7);note(6,30);note(6,15);note(8,15);note(8,15);note(7,15);note(7,30);note(8,30);(8,30);
        }
        Delay(int i)
          { int j;
           for(;i>0;i--)
           {
             for(j=i;j>0;j--);
            }
          }
        main()
        {while(1)
        {count=0,length=0;
        TMOD=0x11;
        TH0=0x3c;
        TL0=0xb0;
        EA=1;
        ET1=1;
        ET0=1;
        TR1=1;
        TR0=1;
            led1=!led1;  
           song();
           sound=1;
           EA=0;   
           Delay(500);
            }
         
        }
        關閉窗口

        相關文章

        欧美性色欧美精品视频,99热这里只有精品mp4,日韩高清亚洲日韩精品一区二区,2020国自产拍精品高潮