笑问天 发表于 2009-4-22 23:26:54

51单片机控制LED七彩渐变灯

自己设计的51单片机控制LED七彩渐变灯
MCU:89C51,89S51,89C2051等

晶振:12MHz

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

控制方式:PWM

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

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

编译后的HEX文件:
687241197859316.rar

HEX代码:
:0D009300E4FEEEC39F50060000000E80F555
:0100A000223D
:06005F00A9078D828C83CD
:10006500E4FDE96008C292FF120093D292E5824551
:10007500836009C291AF82120093D291EB4A600965
:0D008500C290AF03120093D2900DBD0AD5BA
:01009200224B
:100003007508C8E4F509F50AE5086008E50A70040F
:1000130015080509E5096008E50870041509050ACE
:10002300E50A6008E5097004150A0508E5082509CD
:10003300FFE433FE7C00EF250AFFEC3EFEEF64C8CD
:100043004E60087508C8E4F509F50AE509FD7C006A
:0C005300E50AFB7A00AF0812005F80ACE9
:030000000200A15A
:0C00A100787FE4F6D8FD75810A020003A8
:00000001FF

C语言源程序:
/*******************************
程序名称:七彩LED渐变程序
编写者:ZH YU
MCU:51/2051
晶振:12MHz
*********************************/
#include<reg51.h>
#include<intrins.h>

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

timer(unsigned char t)
{unsigned char b;
   for(b=0;b<t;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);
}
}
入无法下载HEX,大家可以用KEIL自己编译,或者使用记事本保存HEX代码(重命名为.HEX文件)都可以
再把.hex文件写入单片机,接好电路即可工作

自己做的LED渐变灯(使用三极管8550驱动)及部分效果图:

wwwond70 发表于 2009-4-23 05:22:35

xx very good ;写的不错,做的不错我。

hongzikai 发表于 2009-4-23 12:24:28

好的,可惜我不会单片机

WB5390 发表于 2009-4-23 18:59:57

不错!!!!!!可是8550驱动功率有限,不方便大批量控制,要是能做成220V控制器成品就好了,我第一个要哦!!

时光 发表于 2009-4-23 23:16:28

群主什么时候能够开发出来成品呀 我也想要呀

jinqiao 发表于 2009-4-25 10:43:12

不错,该学的东西太多了,单片机

锋华广告 发表于 2009-4-25 17:07:43

单片机编程呢,这么深奥呀,还是等着出成品吧

LSZ 发表于 2009-4-25 21:41:46

不错!!!!!!可是8550驱动功率有限,不方便大批量控制,要是能做成220V控制器成品就好了,我第一个要哦!!
WB5390 发表于 2009-4-23 18:59 http://www.521led.com/images/common/back.gif有创意。。。。。。。。——本文来自〖www.521LED.com〗原帖地址:http://www.521led.com/viewthread.php?tid=220&fromuid=918

cslcsl 发表于 2009-4-28 19:31:52

效果一定很好    有此控制器销售吗

tcjsjxx 发表于 2009-5-2 19:54:56

好,楼主做得不错,对我很有启发.谢谢.

gaozhigang198 发表于 2009-5-14 09:40:24

好的,很不错。可惜我不会单片机!

ymkyiu 发表于 2009-5-17 15:17:46

学做LED灯,还要学C语言啊

刘自在 发表于 2009-5-18 14:56:22

我要能够早一年认识你就好了!{:1_146:}

jekseny 发表于 2009-5-18 19:47:57

楼主超强.学习了.真的很喜欢这个....

toldz 发表于 2009-5-30 09:25:57

学做LED灯,还要学C语言啊——本文来自〖www.521LED.com〗原帖地址:http://www.521led.com/viewthread.php?tid=1092&fromuid=1921

JYP1111 发表于 2009-6-22 14:53:26

厉害的麒麟啊。佩服你了。你做的东西都不错的

hrd8455 发表于 2009-6-28 14:20:26

看着好复杂...啥时候能做出成品就好了~

miaoyougui 发表于 2009-8-9 11:28:30

嗯,挺不错的,楼主太强悍了,顶一个

zgxinxi 发表于 2009-8-26 10:45:18

学习学习学习学习再学习。————本文来自〖www.521LED.com〗原帖地址:http://www.521led.com/viewthread.php?tid=2325&fromuid=3368

何作军 发表于 2009-12-5 20:09:24

单片机很好学的。。。。。。。。。。。

广告中人 发表于 2009-12-16 18:26:40

太好了
支持楼主
学习了、、、、、

lubingbing 发表于 2009-12-30 23:35:13

学习了,见识了,,,,

yongleming 发表于 2010-1-6 10:19:26

强人,强人,强人   太强悍了

DD8130 发表于 2010-2-21 02:12:04

{:1_85:}{:1_85:}{:1_85:}{:1_85:}{:1_85:}{:1_85:}{:1_85:}{:1_85:}{:1_85:}{:1_85:}{:1_85:}{:1_85:}{:1_85:}{:1_85:}{:1_85:}{:1_85:}{:1_85:}{:1_85:}{:1_85:}{:1_85:}{:1_85:}{:1_85:}{:1_85:}{:1_85:}{:1_85:}{:1_85:}{:1_85:}{:1_85:}{:1_85:}{:1_85:}{:1_85:}{:1_85:}{:1_85:}

青山龙云 发表于 2010-3-2 09:52:15

{:1_146:}厉害哦{:1_85:}

pc170 发表于 2010-3-22 19:44:52

要学习学习再学习!!!!

16721313 发表于 2010-3-24 13:57:27

真的厉害哈,学习了哟,老兄

霓虹动画 发表于 2010-5-3 02:00:19

历害啊,看来还有很多东西要学啊

霓虹动画 发表于 2010-12-1 23:06:54

看看,学习下!!!!!!!!!!!

虹金龙 发表于 2010-12-10 09:28:25

很好学习了 我也很喜欢单片机
页: [1] 2
查看完整版本: 51单片机控制LED七彩渐变灯