网站大量收购独家精品文档,联系QQ:2885784924

LED调光控制器..docx

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
LED调光控制器.

LED调光控制器前言自从人类意识到一定要千方百计节能减排,才能解决大气变暖的迫切问题后,如何减少照明用电就作为一个重要的问题提到日程上来。因为照明用电占总能耗的20%.幸好出现了高效节能的LED,LED本身比白炽灯节能5倍以上,比荧光灯、节能灯也要节能一倍左右,还不像荧光灯、节能灯那样含汞。如果还能够利用调光来节能,那么也是非常重要的节能手段。但过去所有光源都很不容易实现调光,而容易调光正是LED的一个很大的优点。因为在很多场合其实不需要开灯或者至少不需要那么亮,可是灯却开得很亮,例如半夜到黎明时段的路灯;地铁车厢从地下开到郊区地面时车厢里的照明灯;更常见的是在阳光明媚时靠近窗口的办公室、学校、工厂等的荧光灯都还开在那里。这些地方每天不知道要浪费多少电能!过去因为高压钠灯、荧光灯、吸顶灯、节能灯根本无法调光,也只能算了。现在改用LED以后,可以自如调光了,这些电能完全可以节省下来。所以对于灯具调光来说,家庭壁上调光不是主要的应用场合,市场也很小。反而是路灯、办公室、商场、学校、工厂的按需调光才是更重要的场合,不但市场巨大,而且节能可观。这些场合需要的不是手动调光而是自动调光、智能调光。系统结构 图表 1硬件结构图表 2软件原理图三,硬件电路设计(1)此硬件原理图电源部分由交流源和整流桥组成,一共两个电源5V的接在52单片机上给单片机供电,另一个12V的接在ULN2003芯片上给驱动电路供电,单片机P1口分别连接ULN2003的1~6管脚,ULN2003起到对电流放大作用,ULN2003的11~16管脚连接三个三极管,三极管分别接三组LED,(2)它的工作原理是单片机控制三组小灯可以按控制单色依次点亮,还可以通过改变输出脉冲不同的占空比来控制输出电压,以控制改色LED的亮度,实现多色光LED渐变发光功能,使三种颜色的灯可以发出多种颜色,单片机P1口的P1^0-P1^2管脚按规定输出高低点平,输出高电平是由ULN2003芯片反向输出低电平,使驱动三极管导通将LED点亮,若单片机向ULN2003输出低电平,经ULN2003反向为高电平,使驱动三极管截至,LED不能点亮,每种颜色的三个小灯由单片机芯片P1口的一个管脚控制,实现它们的顺序点亮及颜色渐变和颜色突变功能。四,软件设计设计功能:上电时红色LED亮,绿蓝LED不亮,过一会儿红灯灭绿灯蓝灯依次亮发生颜色渐变,渐变结束时发生颜色突变,之后就循环了。以下为程序设计:(1)延时子程序,起延时作用void delay(uint z){ uint x,y;//局部变量定义 for(x=0;x5;x++)//延时外循环 for(y=0;yz;y++);//延时内循环}(2)PWM控制红绿蓝3种灯亮灭时间,实现小的颜色突变为下列的程序做铺垫void RGBpwm(uchar Rou,uchar Gou,uchar Bou)//3个局部变量,些部分为带参数函数{ if(Rou!=0)//如果红灯变量不等于0就亮红灯 { R1=1;//红灯亮 delay(Rou);//红灯亮起时间 R1=0;//红灯灭 } if(Gou!=0)//如果红灯变量不等于0就亮红灯 { G1=1;//绿灯亮 delay(Gou);//绿灯亮起的时间  G1=0;//绿灯灭 } if(Bou!=0)//如果红灯变量不等于0就亮红灯 { B1=1;//蓝灯亮 delay(Bou);//蓝灯亮起的时间 B1=0;//蓝灯灭 } }(3)主程序,用定时器延时计数void main(){ TMOD=0x01;//选择定时器在方式1下工作 EA=1;//打开总中断 ET0=1;//打开定时器中断 TR0=1;//打开定时器 R1=0;//开机将红灯关闭 G1=0;//开机将绿灯关闭 B1=0;//开机将蓝灯关闭 TH0=(65536-256)/256;//给定时器高8位赋值 TL0=(65536-256)%256;//给定时器低8位赋值 while(1)//程序主循环 { RGBpwm(Rout,Gout,Bout);//调用RGBpwm子程序 }}(4)中断服务子程序(控制LED红绿蓝亮灭时间占空比例)实现小灯颜色渐变,并且用计数中断实现由渐变自动转向突变(不需要按钮控制)void zhong() interrupt 1//中断向量位为1{ uint num;//定时器计数变量 uint ji;//亮度等级控制变量 TH0=(65536-256)/256;//给定时器高8位赋值 TL0=(65536-256)%256;//给定时器低8位赋值 num++;//将定时计数变自动增加1 if(num==shudu)//如果速度变量等于定时计数器变量就执行下面大括号语句 { num=0;//将计数器清0 ji++;//将亮度等级控制变量

文档评论(0)

xznh + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档