<var id="bqzzv"><rp id="bqzzv"></rp></var>

    <i id="bqzzv"></i>

    <object id="bqzzv"></object>
    (玩電子) 電子技術學習與研究
    當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

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

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

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


    程序的解說以及視頻演示請打開http://www.wh501.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;
     }

      
    }

    發表評論】【告訴好友】【收藏此文】【關閉窗口

    文章評論

    相關文章

    免费完整版小说