微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 简单的拖尾流水灯

简单的拖尾流水灯

时间:10-02 整理:3721RD 点击:

最近在学51单片机,前段时间看到有人问拖尾流水灯怎么做,发现自己连拖尾流水灯是什么都不知道
查了一下,感觉不算太难,可是编程序的时候还是出了很多问题
最后编出一个没有用指针,没有用数组,只用了位运算的简单拖尾流水灯
程序贴一下:共享:

  1. #include<reg52.h>
  2. void Delay(unsigned int t);
  3. void main()
  4. {
  5. unsigned char a,b,i,k,l,m,t1=20,Temp,Temp2,Temp3,Temp4,Temp5;
  6. while(1)
  7. {
  8. a=0xff;
  9. b=0;
  10. for(k=0;k<8;k++)
  11.   {
  12.   for(m=0;m<t1;m++)//控制循环频率
  13.    {Temp=a;
  14.    Temp2=b;
  15.    Temp3=b;
  16.    Temp4=a;
  17.    for(l=0;l<k;l++)
  18.     {
  19.      P1=a|Temp3;
  20.              P0=a|Temp3;
  21.              Delay(350);
  22.      Temp2>>=1;
  23.      Temp3=Temp3&Temp2;
  24.         }
  25.    for(i=l;i<8;i++)
  26.     {
  27.      P1=Temp4;
  28.              P0=Temp4;
  29.              Delay(350);
  30.      Temp>>=1;
  31.      Temp4=Temp&(~b);
  32.     }
  33.    }
  34.   a<<=1;
  35.   Temp5=b;
  36.   Temp5<<=1;
  37.   b=Temp5|0x01;
  38.   }
  39. }
  40. }
  41. void Delay(unsigned int t)
  42. {
  43. while(--t);
  44. }

复制代码

程序很弱,用的也是笨办法,希望大家多提意见

原理就是利用点亮时间和熄灭时间的比例不同,把很短时间内一直点亮为最亮,一直熄灭为最暗,平均分成8种亮度,再让他们“流动”起来即可

好,谢!

新手围观···很有研究精神,学习啦···

我也是啥也不懂啊,该怎么学习?

大家一起努力,好好学吧

的顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶的顶顶顶顶顶

3Q....回去也试试.  

不错的文件,值得收藏

知道拖尾流水灯,但是没做过,谢谢分享。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top