您的位置 首页 嵌入式

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

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

流星雨便是几个亮度不同的灯一同翻滚,亮度顺次更暗,像流星雨拖着尾巴。

操控全彩(三色)led也可以用相同的概念编程。
用的是51的单片机pwm完成的拖尾作用

程序的阐明以及视频演示请翻开http://www.51hei.com/bbs/dpj-22524-1.html里边有具体的阐明.
程序源码:
#include
#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;
}

}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qianrushi/318258.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部