基于单片机的创意彩灯控制系统的设计

2010-02-20 02:16
装备制造技术 2010年10期
关键词:管脚数码管彩灯

刘 勇

(1.苏州大学电子信息学院;2.苏州工业职业技术学院电子工程系,江苏苏州215104)

随着人们生活环境的不断改善和美化,在许多场合可以看到彩色霓虹灯。LED彩灯由于其丰富的灯光色彩、低廉的造价以及控制简单等特点,而得到了广泛的应用,用彩灯来装饰街道和城市建筑物,已经成为一种时尚。但目前市场上各式样的LED彩灯控制器大多数用全硬件电路实现,电路结构复杂,功能单一,这样一旦制作成品,只能按照固定的模式闪亮,不能根据不同场合、不同时间段的需要,来调节亮灯时间、模式、闪烁频率等动态参数。这种彩灯控制器结构往往有芯片过多、电路复杂、功率损耗大等缺点。此外,从功能效果上看,亮灯模式少而且样式单调,缺乏用户可操作性,影响亮灯效果。

采用单片机设计的彩灯,就可以克服上述缺点。本文所设计的彩灯,与传统的彩灯相比较,具有硬件电路简单、闪烁模式多且可以控制、形式新颖等特点。

1 系统构成

系统构成框图如图1所示,系统以单片机AT89C51为核心,本系统包括以下方面:电源电路模块,显示模块,彩灯控制模块。电源模块为单片机提供5V的直流电压,单片机主要完成各种彩灯显示模式的控制,键盘采用独立式按键,选择彩灯的显示模式。

图1 系统框图

2 硬件电路设计

2.1 电源电路

电源电路为串联稳压电源,如图2所示。其由变压器T1、桥式整流电路D1、滤波电容C1、C2和电容C3以及三端集成稳压器CW7805组成一个输出电压为5V的电源电路。电源变压器采用220V/9V的交流变压器,给变压器T1输入一个220V交流电压,经过降压送到次级电压为9V,然后再经过桥式整流和滤波后,再在CW7805的作用下输出固定的5V电压,作为电源电压使用。

图2 电源电路

2.2 彩灯控制电路

彩灯控制电路如图3所示,一共使用32个发光二极管,分为红、绿、蓝3种颜色,相同颜色的发光二极管相串联,采用单片机的P1口和P2口控制,其中P1.0控制的是两个红色的发光二极管,P1.1控制的是两个红色的发光二极管,P1.2控制的是两个绿色的发光二极管,P1.3控制的是两个蓝色的发光二极管,P1.4到P2.7按P1.1到P1.3的规律,分别控制红、绿、蓝3种颜色的发光二极管。

图3 彩灯控制电路

发光二极管在安装时,将32个发光二极管排列成心形,心形的上下的中心采用P1.0控制的两个红色发光二极管,P1.1控制的两个红色发光二极管排在上面的中心的两侧,其余相串联的两个发光二极管在安装时依次左右各安排一个,因此心形的两侧是相对称的,这样接通电源后,根据设计的程序,会有不同的显示效果,并且心形的左右显示效果是一致的。

2.3 数码管显示电路

数码管内部由7个条形发光二极管和1个小圆点发光二极管组成,根据各管的亮暗组合成字符。常见数码管有10根管脚。其中COM为公共端,根据内部发光二极管的接线形式,可分为共阴极和共阳极两种。使用时,共阴极数码管公共端接地,共阳极数码管公共端接电源。每段发光二极管需5~10 mA的驱动电流,才能正常发光,一般需加限流电阻控制电流的大小。

LED数码管的a~g共7个发光二极管。加正电压的发光,加零电压的不能发光,不同亮暗的组合,就能形成不同的字型,这种组合称为字型码。共阳极和共阴极的字型码,是不同的。

数码管显示有很多方法。按显示方式分有静态显示和动态显示。静态显示,就是显示驱动电路具有输出锁存功能,单片机将所要显示的数据送出去后,数码管始终显示该数据(不变),CPU不再控制LED。到下一次显示时,再传送一次新的显示数据。静态显示方式的优点,是显示的数据稳定,无闪烁,占用CPU时间少。其缺点,是由于数码管始终发光,功耗比较大。

系统中采用共阴极结构的4个单个数码管,由于彩灯正常工作时,数码管始终显示“LOVE”这4个字母,所以数码管只需采用静态显示,并且这里所使用的数码管与其他一些场合使用的数码管的工作情况不同。一般情况数码管都是用单片机控制其显示,而这里的数码管只需根据数码管的显示原理,在其相应的管脚接上高电平和低电平,4个数码管的公共端都必须接地,这样数码管就能按照设计的要求显示出“LOVE”这4个字母。第一个显示“L”的数码管的d、e、f这3个管脚接高电平,其余接低电平;第二个显示“O”的数码管的a、b、c、d、e、f这 6 个管脚接高电平,其余接低电平;第三个显示“V”的数码管的 b、c、d、e、f这 5 个管脚接高电平,其余接低电平;第四个显示“E”的数码管的 a、d、e、f、g 这 5 个管脚接高电平,其余接低电平。

3 系统软件设计

软件部分的设计,使心形彩灯在4个按键的控制下,可以显示5种不同的灯光效果。

第一种显示效果,是接通电源后,使所有的灯全部闪烁:全亮—全灭—全亮循环闪烁,间隔时间为1 s;

第二种显示效果是按键SB1按下:从上向下依次点亮,始终左右各一个灯亮,灯亮时间为1 s;

第三种显示效果是按键SB2按下:不同颜色灯轮流显示,依次是红—绿—蓝—红—绿—蓝……循环点亮,灯亮时间为1s;

第四种显示效果是按键SB3按下:从下往上依次点亮,点亮后不再熄灭,每点亮一个灯到点亮下一个灯的时间间隔为1s;

第五种显示效果为按键SB4按下:灯全亮后再从下往上依次熄灭,时间间隔为1s。

软件部分采用模块化设计,包括一个主程序和两个子程序,其中一个子程序是显示子程序,一个子程序是延时子程序,因此程序结构紧凑,便于阅读和调试。

3.1 主程序设计

主程序主要完成系统的初始化和对按键的检测。初始化工作主要使 SP至 60H,P1至 00H,P2至 00H,P0至 0FH,R1至2,使32个发光二极管全部不亮,按键处于断开状态。然后对4个控制按键进行检测,检测到某个按键按下时,就执行相应的功能程序,如果没有键按下,则按第一种显示效果显示,使所有的灯全亮,延时1 s,然后全灭,延时1 s,然后再重复检测按键,主程序流程图如图4所示。

图4 主程序流程图

3.2 显示子程序

显示子程序主要实现4个按键对应的4种灯光效果的显示,32个彩灯分为16组,分别由P1口和P2口控制,奇数次查表的内容送P1口,偶数次查表的内容送P2口,4个按键依次对应第二种到第五种的显示效果,显示程序采用查表程序,一共需要4个表格与之对应,每一个表格和一个按键控制的一种显示效果相对应,当检测到一个按键按下时,在执行显示程序时就查相对应的表格,使得彩灯显示相应的效果,直到查到表格的结束标志结束。因此,4个表格的内容,是根据所需的显示效果设计的,如果要改变显示效果,只需改变表格的内容,其流程图如图5所示。

图5 显示子程序流程图

3.3 延时子程序

延时子程序实现的是1 s延时,延时时间控制的是灯亮的时间。1 s的延时子程序可以用三重循环结构设计,也可以采用定时器设计,采用定时器设计的延时子程序精度高,本程序可以采用定时器0方式1设计,晶振频率使用12 MHz,选择定时时间为50 ms,因此要达到1 s的延时时间,定时次数应选择20次,定时器工作在查询方式。

4 结束语

与市面上大多数的LED彩灯相比,该种彩灯具有形式新颖,显示模式多,性价比高,与普通的全硬件LED彩灯相比,具有更好的经济效益。应用主控模块输出的控制信号去控制彩灯工作,使得产品性能稳定,便于安装,容易操作。由于控制程序存储在单片机中,如果用户需要更改系统的亮灯模式,无须改变系统硬件电路,只需修改其中程序即可,是一种很有发展前途的彩灯控制器。

[1]江 力.单片机原理与应用技术[M].北京:清华大学出版社,2006.

[2]刘训非.单片机技术及应用[M].北京:清华大学出版社,2010.

猜你喜欢
管脚数码管彩灯
彩灯
面向DSP+FPGA通用处理架构检测的硬件系统设计
微课教学设计之“数码管动态显示”
元宵佳节点彩灯
Arduino编程
MC9S08FL16单片机数码管静态显示分析
一种异步FIFO的Read/Write Data Flow Through功能测试方法∗
单片机控制的四位数码管动态显示编程
基于图像处理的异型电子元器件管脚偏移误差检测方法研究
有多少盏彩灯