永发信息网

单片机驱动LED七彩灯程序

答案:4  悬赏:30  手机版
解决时间 2021-01-02 04:53
  • 提问者网友:浩歌待明月
  • 2021-01-02 01:57
找到一个程序,不知带什么意思,求大神点拨下

电路驱动(LED连接):
P1.0连接蓝色LED
P1.1连接红色LED
P1.2连接绿色LED (必须使用纯绿色高亮LED,不可使用普通草绿管)
全为低电平驱动(低电平点亮),可以加三极管驱动,红、蓝、绿LED也可以交换位置
控制方式:PWM

频率:约300-700Hz(我没有计算或测量过,只是试验显示效果足够好)

调节级数:共600级,相当平滑

C语言源程序:

#include
#include

sbit gl=P1^2; //绿色
sbit rl=P1^1; //红
sbit bl=P1^0; //兰

timer(unsigned char t)
{unsigned char b;
for(b=0;b {_nop_();
_nop_();
_nop_();}
}

ledout(unsigned char g,r,b)
{unsigned char a;
for(a=0;a<10;a++)
{if(g!=0)
{gl=0;timer(g);gl=1;}
if(r!=0)
{rl=0;timer(r);rl=1;}
if(b!=0)
{bl=0;timer(b);bl=1;}
}
}

main()
{ unsigned char g,r,b;
g=200;r=0;b=0;
while(1)
{if(g!=0&&b==0)
{g--;r++;}
if(r!=0&&g==0)
{r--;b++;}
if(b!=0&&r==0)
{b--;g++;}
if(g+r+b!=200)
{g=200;r=0;b=0;}
ledout(g,r,b);
}
}

题目要求是 P1.0 P1.1 P1.2分别接RGB三个灯,使三个灯分别点亮,呈现出混合色
最佳答案
  • 五星知识达人网友:woshuo
  • 2021-01-02 02:52
茫然失神的姑娘坐着,
但是许多人高傲地坐在那里:
对孩子奇妙地热爱的哈哈妇女们
带着哀伤调子的声音
象神话般的低语。
那里的姑娘们有着
全部回答
  • 1楼网友:刀戟声无边
  • 2021-01-02 05:18
就三路PWM的,就可以了,
  • 2楼网友:爱难随人意
  • 2021-01-02 03:42
楼主说的是:led护栏管和led点光源上面用的六段七彩内控单片机和外控16段和6段等外控制器用的单片机。有个吕先生137,900,33043,他那边做这个程序做得挺多,你可以看看。
  • 3楼网友:人间朝暮
  • 2021-01-02 03:07
这个问题可大可小, 用三种红绿蓝可以混合色各种颜色,这个程序是吧,每个颜色分成200级(实际是201级),所以值就是0到200,然后用PWM输出控制各色的亮度,混合出七彩,如R=200、G=200、B=200就是白色,但不是纯正的白。(纯白色时RGB的值是不相等的) 户外的超大LED广告屏就是这样的,每个像素点就是一个全色LED灯。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯