LED灯技术 |
|
|
最新 LED灯技术 |
|
LED灯厂家 |
联系电话:
0755-25638987 89740742 13924598895
联系地址:
深圳市坂田五和南路40号红音苑二栋二楼
联系人:
梁先生 谢先生
客服邮箱:
mytled@126.com
邮政编码:
518000 |
| |
|
|
| 8051单片机的LED彩灯控制器设计 |
| 作者:熊栩 发布时间:2008-9-11 7:57:51 关闭该页 |
|
摘 要:介绍了一种简单的LED彩灯控制系统的设计方法,以8051单片机作为控制核心,电源开关等较少的辅助硬件电路相结合,利用软件实现对LED彩灯进行控制。本系统具有体积小、硬件少、电路结构简单及容易操作易阅读等优点。
关键词:LED彩灯;8051单片机;彩灯控制器;PROTEU仿真软件;keil编译软件系统
1引言
随着人们对房屋的装饰需要彩灯,在许多城市可以看到彩色霓虹灯。LED彩灯由于其丰富的灯光色彩,便宜的造价以及控制简单等特点而得到了广泛的应用,用彩灯来装饰街道和城市建筑物已经成为一种时尚。但目前市场上各式样的LED彩灯控制器大多数用全硬件电路实现,电路结构复杂、电路复杂、功率损耗大等缺点。此外从功能效果上看,亮灯模式少而且样式单调,缺乏用户可操作性,。。
本方案提出了一种基于8051单片机的彩灯控制方案,实现对LED彩灯的控制。本方案以8051单片机作为主控核心,在主控模块上设有3个按键和8个码LED显示灯,根据需要可以编写若干种亮灯模式,利用其内部定时器T0实现一个基本单位时间为1 ms的定时中断,根据各种亮灯时间的不同需要,在不同时刻输出灯亮或灯灭的控制信号,然后驱动各种颜色的灯亮或灭。与普通LED彩灯相比,具有体积小、价格低、低能耗等优点。
2系统功能
LED彩灯用软件控制硬件的方式来是彩灯闪烁,即彩灯控制器和管内LED板模块)。彩灯采用8051提供+5V电压工作,经过开关电源变换,输出直流工作电压,一方面为管内LED模块提供+5V工作电源,另一方面为主控模块单片机系统彩灯控制器提供5 V工作电源。整个系统工作由软件程序控制运行,根据需要,用户可以在LED彩灯工作时通过主控模块上的按键来设定亮灯时间和灯光闪动频率。
上电后系统经过初始化,查询是否有功能切换键按下:有,则进入设定模式状态;无,则进入默认工作状态。在设定模式状态下,可以根据个人爱好及不同场合的需要来指定调用哪些模式,并且可以改变每种模式的时间T1、频率F1参数,在工作状态下,LED彩灯控制器按照程序设定好的若干亮灯花样模式程序顺序调用往下走,开始工作,依次8个等亮完为一个亮灯周期,然后再回主循环继续工作,同样如果想进入其它设定模式状态,只需按下功能切换键即可。整个3种亮灯模式时间可以看作一个大周期T,对于每一个模式编写一个独立工作子程序,其中设定了从左到右点亮LED,在从右到左点亮LED,还有自己定义的LED点亮方式。
因此在LED彩灯上电工作后,可以方便地通过控模块上的显示器知道LED彩灯当前工作模式,工作时间Ti,频率Fi等实时参数。若实际应用需要根据不同场合和时间来改变彩灯闪亮效果,可以通过主控模块上的按键来设定LED不同的闪烁频率Fi和亮灯时间Ti,以便符合实际需要。此外如果对某一种模式感兴趣需要仔细观看该种亮灯模式,可以让程序循环
硬件设计
LED彩灯系统包括,即LED彩灯控制器(8051主控模块)LED彩灯管在8051外部接一个震荡时钟频率。用8051的控制模块,具有按键、显示等功能,并利用8051的P0口输出控制信号,利用P0口的8个输出端上面焊有8个LED彩灯,使得彩灯在软件的控制下工作。
主控模块电路设计
主控模块电路如图1所示。主控模块主要设计器件有80C51,8个 LED显示器,3个开关按键,1个稳压器(5 V电压),1个外部晶振震荡器信号输出驱动,4个电阻。通过软件设计,使单片机P0口作为三色LED驱动信号输出口及移位时钟CLOCK信号,8051的P0口为LED的输出口。
软件设计
LED彩灯控制器最大特点在于所有亮灯模式均由软件控制完成。系统中软件可以分为主程序和中断服务子程序。上电后在按键控制灯的闪烁方式,通过软件来控制循环,以一个单位时间1 ms的T0定时为中断服务子程序。在这个1 ms的T0定时基础上,可以根据需要来确定各种模式工作时间Ti,以及确定在各种亮灯内点亮和熄灭各种状态LED灯等。整个系统软件由程序)、各个模式子程序、1 ms中断服务子程序、调用循环程序组成。利用T0定时器作为定时基本单位,根据模式需要计算好各控制信号的发生时刻,根据移位触发的翻转时刻步调一致,使LED彩灯按照设计的模式工作。
除了T0定时中断之外,程序的大部份时间是在处理按键的查询和LED显示的延时。3个按键分别为:K1按键.从左到右点亮LED,K2按键.从右到左点亮LED,K3按键.用户自己定义方式点亮LED。在每次的T0定时中断服务子程序里,需要对各个时间寄存器和模式寄存器进行加1或者清,为主程序查询作准备,同时查询是否已中断1ms,若1ms到了,则对按键一次,是否有按下并进行相应子程序处理。
主程序除了调用各种子模式子程序,调用LED显示子程序和延时子程序之外,还一直保持查询是否有功能切键按下以及是否有模式改变按键按下,一旦有功能切换键和模式改变键按下,就会进入相应的按键处理。程序流程如图2所示亮灯模式,只要控制好各色灯触发和熄灭时刻就可以组合成各种亮灯效果。
程序代码:
ORG 0000H
LJMP START
ORG 0030H
START: JNB P2.5,K1
JNB P2.6,K2
JNB P2.7,K3
JMP START
K1: MOV A,#0FFH
CLR C
MOV R2,#08H
LOOP: RLC A
MOV P0,A
ACALL DELAY
DJNZ R2,LOOP
SJMP START
K2: MOV A,#0FFH
CLR C
MOV R2,#08H
LOOP1: RRC A
MOV P0,A
ACALL DELAY
DJNZ R2,LOOP1
SJMP START
K3: MOV A,#0FFH
CLR C
MOV R2,#04H
LOOP3: RLC A
RLC A
MOV P0,A
ACALL DELAY
DJNZ R2,LOOP3
SJMP START
DELAY: MOV R3,#10
D1:MOV R4,#100
D2:MOV R5,#250
D3:NOP
NOP
DJNZ R5,D3
DJNZ R4,D2
DJNZ R3,D1
RET
END
关闭该页 |
|
|
|