您好,有请教一个问题 英文想请教您。我想用51来控制一个LED灯发光达到30米,请问LED的驱动电路怎么设计呢

Better LED Lighting
宜美照明成立于2004年,是集研发、生产、销售为一体的专注LED室内商业照明领域的生产型企业,公司位于毗临上海的昆山市国家级光电产业园。公司投资1.8亿人民币兴建占地40亩建筑面积40000平方米的宜美照明LED工业园已于2014年投入使用。公司通过 ISO质量体系认证,产品获得UL、DLC、GS、CE、CB、Erp、CCC等多项认证,并符合RoHS标准。
Better LED Lighting
我司从2008年开始生产面板灯,现已成为国内面板灯企业的领导者。所有面板灯均获得SGS/ Dekra机构的CE, CB, GS, ROHS, ERP认证以及UL认证。
我司从2007年开始生产筒灯,目前每年出口量已达600万只,主要销往西欧,大洋洲及亚洲。现已成为LED筒灯行业内的领导者。
我司全系列工矿灯使用Lumileds或首尔半导体品牌的灯珠和英飞特品牌的防水电源,5年质保。防水等级IP65。多种发光角度可供选择。
我司这种侧发光式吸顶灯荣获国家发明专利,专利号.X.。基于侧发光设计,整个灯具发光均匀,光线柔和,适用于高端商业场所及家居照明,有效提升生活品质。
Better LED Lighting
Message to us
CopyRight (C) 2016 Imigy Lighting Co., Ltd
All Rights Reserved 浙ICP备:豆丁微信公众号
君,已阅读到文档的结尾了呢~~
单片机原理与应用实验指导书,通信原理实验指导书,单片机学习指导书,实验指导书格式,数据结构实验指导书,mis实验指导书答案,matlab实验指导书,实验指导书,微机接口实验指导书,作业指导书
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
单片机原理与应用实验指导书
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='http://www.docin.com/DocinViewer--144.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口我想用89C51单片机通过I/O口控制12V、3W的LED灯,问一下驱动电路怎么做啊,最好画图说明。前面做了不好使_百度知道
我想用89C51单片机通过I/O口控制12V、3W的LED灯,问一下驱动电路怎么做啊,最好画图说明。前面做了不好使
我有更好的答案
如果对响应速度没有过高要求,用IO口灌电流控制一个5V的继电器就行了啊。电路就不画了,太简单了。
我想用单片机编PWM来控制灯的亮度,原先考虑了继电器,但是好像用PWM的话好像就不行了!或者您知道怎么控制灯的亮度的好方法?谢谢了~
首先,要控制亮度就不能用继电器了。其次,个人觉得LED灯应该是不支持PWM调亮度的,调出来的应该只是闪烁频率吧。再者,如想尝试,应该使用三极管或场效应管控制。如用拉电流方式,三极管可采用NPN型达林顿管,场效应管可采用N型管;如用灌电流方式,需要一个小功率PNP三极管,和一个大功率NPN三极管或N型场效应管。
采纳率:43%
您能给画一个图吗,我先前设计了一个电路,但是不能驱动啊!谢谢了~
你要改变LED的亮度就用单片机上的DA芯片比PWM好用多了。在DA的输出接一个功率稍微大点场效应管的三极管就可以!场效应管
电路都挺简单啊!
为您推荐:
其他类似问题
驱动电路的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。后使用快捷导航没有帐号?
中国电子DIY
科技成就未来
亲爱的游客,欢迎!
已有账号,请
如尚未注册?
在线时间:8:00-16:00
400-123-4567
电子DIY手机版
随时随地掌握网站动态
扫描二维码
免费获取邀请码
<div class="mn"
51单片机驱动WS8212系列集成LED程序及电路图(任意色彩搭配流水灯设计方案)
本帖最后由 E-Man 于
01:37 编辑
据我所知对于广大单片机初学者来说,这个芯片是冷门的!So,最近闲着无聊,又不想更新之前写的帖子,闲来无事看到下面这个家伙,写个程序玩玩,ok,废话不多说,直接上内容,此帖程序内容属于原创,禁止淘宝商家盗用!否则必究!据我所知,网络上还没有这个芯片的51程序。当然,谁会闲着蛋疼51写这个程序。仅以此贴献给刚刚学会流水灯的孩子,学会这个就可以搞任意颜色搭配的流水灯了,而且根本不用考虑引脚个数(碎碎念:只用一个引脚就可以控制几百个以上的灯珠,每个灯珠颜色是255*255*255种)!!!视频还没有审批通过,刚上传!等通过后在后面补上连接。
另外:秉持一贯开源的精神&&...求评分!!!!
貌似从DOC文档中无法带进来图片,我也懒得上图片了,这个东东的资料可以去百度去搜。
/*******************************************************************************************/
/***************************************专用分割线*******************************************/
WS2812B51单片机驱动程序+电路图+视频展示
WS2812B是一个集控制电路与发光电路于一体的智能外控LED光源。其外型与一个5050LED灯珠相同,每个元件即为一个像素点。像素点内部包含了智能数字接口数据锁存信号整形放大驱动电路,还包含有高精度的内部振荡器和12V高压可编程定电流控制部分,有效保证了像素点光的颜色高度一致。
数据协议采用单线归零码的通讯方式,像素点在上电复位以后,DIN端接受从控制器传输过来的数据,首先送过来的24bit数据被第一个像素点提取后,送到像素点内部的数据锁存器,剩余的数据经过内部整形处理电路整形放大后通过DO端口开始转发输出给下一个级联的像素点,每经过一个像素点的传输,信号减少24bit。像素点采用自动整形转发技术,使得该像素点的级联个数不受信号传送的限制,仅仅受限信号传输速度要求。
LED具有低电压驱动,环保节能,亮度高,散射角度大,一致性好,超低功率,超长寿命等优点。将控制电路集成于LED上面,电路变得更加简单,体积小,安装更加简便。
机械尺寸(单位mm)
数据传输方法:
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image014.png
代码如下:
/********************************************************/
/*作 者:Dyingstraw
/*修改日期:
/*版& & 本:V1.0
/*程序功能:用51单片机控制ws2812 RGB输出,显示全色彩
/*备& && &&&注:51单片机晶振24M
/********************************************************/
#include&reg52.h&
#include&intrins.h&
#define uchar unsigned char
sbit Send_Dat=P1^0;& && && && && &//数据输出,接IN脚
sbit Key=P1^1;& && && && && && && & //按键等待
sbit Send_Dat1=P1^2;& &//中断状态灯
uchar RGB_BUF[24];
void delay();
void delays();
void init();
uchar Led_Tab[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E};& && &&&
//存储一个转化后的RGB2进制数&&共24bits
struct My_24bits& && && && && && &&&//结构体
{
& && & uchar G_VAL;& && && && && &&&//绿色&&0-255
& && & uchar R_VAL;& && && && && && &//红色 0-255
& && & uchar B_VAL;& && && && && && &//蓝色0-255
};
/*写入数据时序*/
void Send_A_bit(uchar VAL)
{
//& &&&Send_Dat=0;
& && & if (VAL==1)
& && & {
& && & //& &&&Send_Dat=0;
& && && && &&&Send_Dat=1;
& && && && &&&_nop_();
& && && && &&&//_nop_();
& && && && &&&Send_Dat=0;& && && && &//2.17us
& && && && &&&//_nop_();
& && & //& &&&Send_Dat=1;& && && && && &&&//2.17us
& && & }
& && & else
& && & {
& && & //& &&&Send_Dat=0;
& && && && &&&Send_Dat=1;
& && && && &&&//_nop_();
& && && && &&&//_nop_();
& && && && &&&Send_Dat=0;& && && &&&
& && && && &&&_nop_();
& && & //& &&&Send_Dat=1;
& && & }& && && &&&
& && &
}
/*发送24位字符(包含RGB信息各8位)*/
void Send_24bits(struct My_24bits RGB_VAL )& && && && && && && &
{
& && &
& && & for& &(i=0;i&8;i++)
& && & {
& && && && &&&RGB_BUF[i]=RGB_VAL.R_VAL&&i&0x01;& && && && && && && && &&&//转化R_VAL
& && & }
& && && && &&&for& &(i=8;i&16;i++)
& && & {
& && && && &&&RGB_BUF[i]=RGB_VAL.G_VAL&&(i-8)&0x01;& && && && && &//转化G_VAL
& && & }
& && && && &&&for& &(i=16;i&24;i++)& && && && && && && && && && && && && && && && && && & //转化B_VAL
& && & {
& && && && &&&RGB_BUF[i]=RGB_VAL.B_VAL&&(i-16)&0x01;& &&&
& && & }
& && & for (i=0;i&24;i++)
& && & {
& && && && &&&Send_A_bit(RGB_BUF[i]);
& && & }
& && &
}
/*主函数*/
void main()
{
& && & struct My_24bits a,b,c,d,e,f,g;
& && & a.R_VAL=0
& && & a.G_VAL=0x00;& && && && && && && & //1& && && && && && & 颜色顺序,下同
& && & a.B_VAL=0x00;
& & b.R_VAL=0x00;
& && & b.G_VAL=0& && && && && && && &&&//2
& && & b.B_VAL=0x00;
& && & c.R_VAL=0x00;
& && & c.G_VAL=0x00;& && && && && && && && &&&//3
& && & c.B_VAL=0
& && & d.R_VAL=0& && && && && && && && && &//4
& && & d.G_VAL=0
& && & d.B_VAL=0x00;
& && & e.R_VAL=0
& && & e.G_VAL=0x00;& && && && && && && && && &&&//5
& && & e.B_VAL=0
& && & f.R_VAL=0x00;
& && & f.G_VAL=0& && && && && && && && && && && & //6
& && & f.B_VAL=0
& && & g.R_VAL=0& && && && && && && && && && && & //7
& && & g.G_VAL=0
& && & g.B_VAL=0
& && & init();
& && & while(1)
& && & {
& && & Send_Dat=0;
& && & Send_24bits(a);
& && & Send_Dat=0;& &P0=0xF9;
& && & delays();
& && & while(Key==1);& && && && && && && && && && && && && & //按键等待,当Key=1时停止,等于0时七种颜色流水灯循环,下同(主要方便观察颜色)
& && & Send_24bits(b);
& && & Send_Dat=0;& && && & P0=0xa4;& && && && && &//共阴极数码管显示颜色顺序,下同
& && & delays();
& && & while(Key==1);
& && & Send_24bits(c);
& && & Send_Dat=0;& &P0=0xb0;
& && & delays();
& && & while(Key==1);
& && & Send_24bits(d);
& && & Send_Dat=0;& &P0=Led_Tab[4];
& && & delays();
& && & while(Key==1);
& && & Send_24bits(e);
& && & Send_Dat=0;& &P0=Led_Tab[5];
& && & delays();
& && & while(Key==1);
& && & Send_24bits(f);
& && & Send_Dat=0;& &P0=Led_Tab[6];
& && & delays();
& && & while(Key==1);
& && & Send_24bits(g);
& && & Send_Dat=0;& &P0=Led_Tab[7];
& && & delays();
& && & while(Key==1);
//& &&&PCON|=0x01;& && && && && && && & //空闲模式
& && && && &
& && & }
}
/*中断唤醒测试函数*/
void INT1_ISR(void) interrupt 2
{
& && & P2=1;
}
/*小延时函数*/
/*大概1S吧,随便写的*/
void delay()
{
uchar i,j;
& && & for (i=0;i&250;i++)
& && & {
& && && && &&&for (j=0;j&250;j++);
& && & }
}
/*大延时函数*/
/*十几秒*/
void delays()
{
& && & delay();
& && & delay();
& && & delay();
& && & delay();
& && & delay();
& && & delay();
& && & delay();
& && & delay();
& && & delay();&&
& && & delay();
& && & delay();
& && & delay();
}
/*系统初始化*/
void init()
{
&&P0=0x00;
&&P1=0x00;
&&P2=0x00;
&&P3=0x00;
&&TCON=0x05;
&&TMOD=0x00;
&&TH0=0x00;
&&TL0=0x00;
&&TH1=0x00;
&&TL1=0x00;
&&T2CON=0x00;
&&RCAP2H=0x00;
&&RCAP2L=0x00;
&&IP=0x00;
&&IE=0x85;
&&PCON=0x00;
&&SCON=0x00;
}复制代码东西狠小,一支笔对比!引脚标注是错的,请忽略!
下图序号小时不正确!
总评分&nbsp:&nbsp刀币 +28
集中颜色的图片,意思一下。最后一张是实物图,单片机应该看不到吧(这个图片不是这个程序的,另外的序号不一样)
IMG_651.jpg (28.31 KB, 下载次数: 13)
01:30 上传
IMG_705.jpg (20.2 KB, 下载次数: 4)
01:30 上传
IMG_718.jpg (36.61 KB, 下载次数: 6)
01:30 上传
IMG_805.jpg (31.55 KB, 下载次数: 6)
01:30 上传
IMG_921.jpg (40.69 KB, 下载次数: 5)
01:30 上传
马克笔画出来的,引脚标注是错误的!!!请自觉忽略!!
视频地址:&embed src=&http://player.youku.com/player.php/sid/XOTQ2MTg0NjA0/v.swf& allowFullScreen=&true& quality=&high& width=&480& height=&400& align=&middle& allowScriptAccess=&always& type=&application/x-shockwave-flash&&&/embed&
自己嗨,好无聊,感谢hai.yang20189评分!
本帖最后由 ianon 于
21:18 编辑
这个LED要求速率很高,用STC来做有点紧张,楼主还用了点技巧,赞
花了不少时间调时序吧,我刚好可以借鉴了
ianon 发表于
这个LED要求速率很高,用STC来做有点紧张,楼主还用了点技巧,赞
花了不少时间调时序吧,我刚好可以借鉴了
其实还行吧,51速率刚好够。现在用stm32写了一个控制器玩,有时间交流
楼主多才多艺,还能玩stm
调时序用了示波器吗?我是两眼一摸黑
ws2812.png (148.35 KB, 下载次数: 11)
WS2812时序图
09:17 上传
其实我们都被误导了,WS8212适应性很强,并不是一定要800K的速率,低速率也可以,只要调好占空比,我试过400K都能用
折腾了2天,输出波形还是不稳定,真应该用PWM输出来做
可恨的是我选的这个STC15L204竟然不带串口不带PWM,晕死了
ianon 发表于
折腾了2天,输出波形还是不稳定,真应该用PWM输出来做
可恨的是我选的这个STC15L204竟然不带串口不带PWM, ...
没有串口毕竟还是少见
[音箱DIY论坛]
[拆机乐园/修机达人]
[音源/DAC/系统调校]
[拆机乐园/修机达人]
LED光立方/创意显示
一周热帖排行最近7x24小时热帖
客服电话:400-123-4567
客服邮箱:
周一至周五 9:00-18:00
公司地址:深圳市南山区美丽湾大厦B座
Powered by单片机单按键控制LED发光的程序
11:41:45来源: 21ic
关键字:&&&&
51的程序,就是用一个与P3_0引脚连接的按键控制P2_0相连LED的亮和灭两种状态。按一次按键灯亮,再按一次按键灯灭。再按一次又亮,再按一次灯又灭,本程序出自单片机网:http://www.51hei.com,经过测试已经可以成功运行。#include "AT89X51.H" void main(void) // 主程序{ &&&&&&& //定义位变量& //定义循环变量while(1)&&&&&&&& //无限循环{ if (P3_0==0)&&& //如果按键按下{ for(n=0;n<1000;n++); //延时一段时间,等待按键完全按下mark=~&&&&&&&& //翻转标记while(!P3_0)&&&&&&& //等待按键弹起for(n=0;n<1000;n++); //等待按键完全弹起} P2_0=& //点亮或是关灭LED灯}} while(1)& //无限循环{&& if(ldelay==1 ) //若是时间溢出标记为1,处理如下语句{ ldelay=0;&&&& //清除时间溢出标记P2=ledp[ledi]; //读出一个表格值送到P2口ledi++;&&&&&&& //指向下一个表格值if(ledi==4)&&&& { ledi=0;&&& //到了最后一个灯就换到第一个sp--;&&&& & //速度级别减1if (sp==3) //如果速度级别减到3sp=23;&&&& // 恢复速度最慢的级别23}}}} timer0() interrupt 1&& //定时器0中断服务程序{ st&& //定义静态局部变量kk++;&&& //每次中断服务,kk加1if(kk==(100*sp))&&&& //最少次数为100*sp=300,时间为300次*0.25ms//最多次数为2300次,时间为2300次*0.25ms//如果kk=(100*sp),执行如下语句{ kk=0;&ldelay=1;&&&&&&&& //当kk值与100*sp值相等,将ldelay标记置1,则处理灯亮与显示速度} }
关键字:&&&&
编辑:什么鱼
引用地址:
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
关注eeworld公众号快捷获取更多信息
关注eeworld服务号享受更多官方福利
相关关键词
热门关键词
大学堂最新课程
汇总了TI汽车信息娱乐系统方案、优质音频解决方案、汽车娱乐系统和仪表盘参考设计相关的文档、视频等资源
热门资源推荐
频道白皮书
何立民专栏
北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

我要回帖

更多关于 发邮件请教学术问题 的文章

 

随机推荐