嵌入式学习小组
登录
直播中
陈臻江
7年用户
192经验值
私信
关注
基于单片机的彩灯该怎么设计?
开启该帖子的消息推送
单片机
彩灯
随着人们对房屋的装饰需要彩灯,在许多城市可以看到彩色霓虹灯。LED彩灯由于其丰富的灯光色彩,便宜的造价以及控制简单等特点而得到了广泛的应用,用彩灯来装饰街道和城市建筑物已经成为一种时尚。但目前市场上各式样的LED彩灯控制器大多数用全硬件
电路
实现,电路结构复杂、电路复杂、功率损耗大等缺点。此外从功能效果上看,亮灯模式少而且样式单调,缺乏用户可操作性。
回帖
(2)
h1654155275.5753
2019-10-14 15:54:53
全球气候暖化危机和能源紧缺在进一步推动LED照明的普及,LED照明具有环保、光效高和寿命长的特点,但在完全取代具有墙上型调光器的白炽灯方面,LED照明还存在兼容性差的先天不足。其主要原因在于:
1)现有的调光器都是针对白炽灯设计的,而白炽灯呈现的是纯阻性;LED作为固态半导体照明器件,需要恒定的直流电流驱动,所以LED照明一般都需要驱动器从交流110V/220V转换到所需要的直流电流;
2)调光器种类繁多,而且工作原理各不相同,包括前切型、后切型和智能型等;
3)LED照明器的种类也很多。这样一来,对于不同的LED照明匹配不同类型的调光器;LED的驱动器面临巨大挑战;其中,可靠性和安全性尤为重要。照明属于消费电子产品,直接接触千家万户的消费者,不仅价格要适当,更重要的是要安全可靠;即便是任一元器件失效或调光器与LED不匹配,也不能造成漏电、过热、过流等任何安全故障。
2.硬件设计
单片机控制三组小灯可以按控制单色依次点亮,还可以通过改变输出脉冲不同的占空比来控制输出电压,以控制该色LED的点亮,实现多色光LED渐变发光功能,使三种颜色的灯可以发出多种颜色,单片机控制P1口的某管脚按规定输出高低电平,输出高电平时由ULN2003输出低电平,经ULN2003反向为高电平,使驱动三极管截止,LED不能点亮,每种颜色的三个小灯由单片机芯片P1口的一个管脚控制,实现它们的顺序点亮及颜色渐变和颜色突变功能。
图1 LED调光原理框图
图2 LED发光元件电路图
图3 单片机控制LED调光电路流程图
全球气候暖化危机和能源紧缺在进一步推动LED照明的普及,LED照明具有环保、光效高和寿命长的特点,但在完全取代具有墙上型调光器的白炽灯方面,LED照明还存在兼容性差的先天不足。其主要原因在于:
1)现有的调光器都是针对白炽灯设计的,而白炽灯呈现的是纯阻性;LED作为固态半导体照明器件,需要恒定的直流电流驱动,所以LED照明一般都需要驱动器从交流110V/220V转换到所需要的直流电流;
2)调光器种类繁多,而且工作原理各不相同,包括前切型、后切型和智能型等;
3)LED照明器的种类也很多。这样一来,对于不同的LED照明匹配不同类型的调光器;LED的驱动器面临巨大挑战;其中,可靠性和安全性尤为重要。照明属于消费电子产品,直接接触千家万户的消费者,不仅价格要适当,更重要的是要安全可靠;即便是任一元器件失效或调光器与LED不匹配,也不能造成漏电、过热、过流等任何安全故障。
2.硬件设计
单片机控制三组小灯可以按控制单色依次点亮,还可以通过改变输出脉冲不同的占空比来控制输出电压,以控制该色LED的点亮,实现多色光LED渐变发光功能,使三种颜色的灯可以发出多种颜色,单片机控制P1口的某管脚按规定输出高低电平,输出高电平时由ULN2003输出低电平,经ULN2003反向为高电平,使驱动三极管截止,LED不能点亮,每种颜色的三个小灯由单片机芯片P1口的一个管脚控制,实现它们的顺序点亮及颜色渐变和颜色突变功能。
图1 LED调光原理框图
图2 LED发光元件电路图
图3 单片机控制LED调光电路流程图
举报
刘艳芳
2019-10-14 15:54:58
4.程序设计
#include
***it LED1=P1^0;
***it LED=P1^1;
***it LED2=P1^2;
unsigned char CYCLE;
unsigned char PWM_ON;
void delay (unsigned int cnt)
{
while(--cnt);
}
main()
{ bit flag;
TMOD=0x01;
TH0=(65536-100)/256;
TL0=(65536-100)%256;
IE=0x82;
TR0=1;
CYCLE=50;
while(!flag)
{ delay(20000);
PWM_ON++;
if(PWM_ON==CYCLE)
{ flag=1;
}
}
while(flag)
{ delay(20000);
PWM_ON--;
if(PWM_ON==0)
{ flag=0;
}
}
}
void time(void) interrupt 1
{ STatic unsigned char count;
TH0=(65536-100)/256;
TL0=(65536-100)%256;
if(count==PWM_ON)
{ LED1=1;
LED=1;
LED2=1;
}
count++;
if(count==CYCLE)
{ count=0;
if(PWM_ON!=0)
LED1=0;
LED=0;
LED2=0;
}}
4.程序设计
#include
***it LED1=P1^0;
***it LED=P1^1;
***it LED2=P1^2;
unsigned char CYCLE;
unsigned char PWM_ON;
void delay (unsigned int cnt)
{
while(--cnt);
}
main()
{ bit flag;
TMOD=0x01;
TH0=(65536-100)/256;
TL0=(65536-100)%256;
IE=0x82;
TR0=1;
CYCLE=50;
while(!flag)
{ delay(20000);
PWM_ON++;
if(PWM_ON==CYCLE)
{ flag=1;
}
}
while(flag)
{ delay(20000);
PWM_ON--;
if(PWM_ON==0)
{ flag=0;
}
}
}
void time(void) interrupt 1
{ STatic unsigned char count;
TH0=(65536-100)/256;
TL0=(65536-100)%256;
if(count==PWM_ON)
{ LED1=1;
LED=1;
LED2=1;
}
count++;
if(count==CYCLE)
{ count=0;
if(PWM_ON!=0)
LED1=0;
LED=0;
LED2=0;
}}
举报
更多回帖
rotate(-90deg);
回复
相关问答
单片机
彩灯
求大神分享51
单片机
控制的LOVE心形创意
彩灯
2021-09-29
1008
彩灯
控制誰懂做?
2014-11-17
3612
求八路
彩灯
循环控制
单片机
编程
2016-01-16
3838
如何用AT89S52
单片机
控制
彩灯
图形及继电器?
2021-10-08
1296
有谁做过基于51
单片机
的步进电机控制?
2014-12-31
4037
如何快速入门51
单片机
?拿到51
单片机
该
如何做?
2021-10-18
1869
单片机
该
如何入门
2013-06-18
2355
到底
该
怎么去学习
单片机
编程呢
2021-10-26
1706
单片机
为什么会死机?
单片机
死机
该
怎么去解决?
2021-07-16
3900
学习
单片机
中
该
学汇编还是学C语言?
2021-10-14
1522
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
首页
论坛版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分