234彩票代理

  • <tt class='tlJykMlA'></tt>
  • <thead class='94K7Lauipx'><option class='9cNvbSu7LJ'></option></thead>

    <em class='jepytdnyfeW3'><b class='oR1Ys12nk'><td class='6rzzLTN'></td></b></em>

  • <dl class='Td0EmkF'><b class='qoWhaibfJ9'></b></dl>

  • <span class='lS1G'></span>

    (玩电子) 电子技术学习与研究
    当前位置:单片机教程网 >> MCU设计实例 >> 浏览文章

    51单片机LED流星雨拖尾灯程序+视频

    作者:佚名   来源:本站原创   点击数:x  更新时间:2013年10月14日   【字体:

    流星雨就是几个亮度不 同的一灯一起滚动,亮度依次更暗,像流星雨拖着尾巴 。
    控制全彩(三色)led也可以用同样的一概念编程 。
    用的一是51的一单片机pwm实现的一拖尾效果


    程序的一解说以及视频演示请打开http://www./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;
     }

      
    }

    发表评论】【告诉好友】【收藏此文】【关闭窗口

    文章评论

    相关文章