<em id="aeask"></em>

  • <span id="aeask"></span>

  • <tbody id="aeask"><noscript id="aeask"></noscript></tbody>
    <th id="aeask"><p id="aeask"></p></th>

      <th id="aeask"><pre id="aeask"><video id="aeask"></video></pre></th>

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

        51單片機LED流星雨拖尾燈程序+視頻

        作者:佚名   來源:本站原創   點擊數:  更新時間:2013年10月14日   【字體:

        流星雨就是幾個亮度不同的燈一起滾動,亮度依次更暗,像流星雨拖著尾巴。
        控制全彩(三色)led也可以用同樣的概念編程。
        用的是51的單片機pwm實現的拖尾效果


        程序的解說以及視頻演示請打開http://www.qlzsbj.com/bbs/dpj-22524-1.html 里面有詳細的說明.
        程序源碼:
        #include<reg52.h>
        #define uint unsigned int
        #define uchar unsigned char

        uchar abit=16; //流到哪位
        uchar atimer0_n;
        uchar code abit8[9]={1,2,4,8,16,32,64,128,0};
        uchar nn;
        char a,b,c,d;

        main()
        { TMOD = 0x11; 
         TL0 = 0x00;  //2.5ms
         TH0 = 0xF7; 
         TF0 = 0;  
         TR0 = 1; 
         EA=1;ET0=1;
         while(1)
         {
          a=abit;
          if(a>7||a<0)
          a=8;
          b=abit-1;
          if(b>7||b<0)
           b=8;
          c=abit-2;
          if(c>7||c<0)
           c=8;
           d=abit-3;
          if(d>7||d<0)
           d=8;
         
          
         atimer0_n++;
         if(atimer0_n==255)
         atimer0_n=0;
         if(atimer0_n<5)
          P1=0xff-abit8[a];
         if(atimer0_n<40)
          P1=0xff-abit8[b];
         if(atimer0_n<150)
          P1=0xff-abit8[c]; 
         if(atimer0_n<255)
          P1=0xff-abit8[d]; 
         }
        }

        atimer0 () interrupt 1

         TL0 = 0x00;  //50ms
         TH0 = 0x4C;
         nn++;
         if(nn==2)
         {
          nn=0;abit--;
           if(abit==0)
           abit=16;
         }

          
        }

        關閉窗口

        相關文章

        北京匀瞬国际贸易有限公司