劉 勇
(1.蘇州大學電子信息學院;2.蘇州工業(yè)職業(yè)技術學院電子工程系,江蘇蘇州215104)
隨著人們生活環(huán)境的不斷改善和美化,在許多場合可以看到彩色霓虹燈。LED彩燈由于其豐富的燈光色彩、低廉的造價以及控制簡單等特點,而得到了廣泛的應用,用彩燈來裝飾街道和城市建筑物,已經成為一種時尚。但目前市場上各式樣的LED彩燈控制器大多數用全硬件電路實現,電路結構復雜,功能單一,這樣一旦制作成品,只能按照固定的模式閃亮,不能根據不同場合、不同時間段的需要,來調節(jié)亮燈時間、模式、閃爍頻率等動態(tài)參數。這種彩燈控制器結構往往有芯片過多、電路復雜、功率損耗大等缺點。此外,從功能效果上看,亮燈模式少而且樣式單調,缺乏用戶可操作性,影響亮燈效果。
采用單片機設計的彩燈,就可以克服上述缺點。本文所設計的彩燈,與傳統的彩燈相比較,具有硬件電路簡單、閃爍模式多且可以控制、形式新穎等特點。
系統構成框圖如圖1所示,系統以單片機AT89C51為核心,本系統包括以下方面:電源電路模塊,顯示模塊,彩燈控制模塊。電源模塊為單片機提供5V的直流電壓,單片機主要完成各種彩燈顯示模式的控制,鍵盤采用獨立式按鍵,選擇彩燈的顯示模式。
圖1 系統框圖
電源電路為串聯穩(wěn)壓電源,如圖2所示。其由變壓器T1、橋式整流電路D1、濾波電容C1、C2和電容C3以及三端集成穩(wěn)壓器CW7805組成一個輸出電壓為5V的電源電路。電源變壓器采用220V/9V的交流變壓器,給變壓器T1輸入一個220V交流電壓,經過降壓送到次級電壓為9V,然后再經過橋式整流和濾波后,再在CW7805的作用下輸出固定的5V電壓,作為電源電壓使用。
圖2 電源電路
彩燈控制電路如圖3所示,一共使用32個發(fā)光二極管,分為紅、綠、藍3種顏色,相同顏色的發(fā)光二極管相串聯,采用單片機的P1口和P2口控制,其中P1.0控制的是兩個紅色的發(fā)光二極管,P1.1控制的是兩個紅色的發(fā)光二極管,P1.2控制的是兩個綠色的發(fā)光二極管,P1.3控制的是兩個藍色的發(fā)光二極管,P1.4到P2.7按P1.1到P1.3的規(guī)律,分別控制紅、綠、藍3種顏色的發(fā)光二極管。
圖3 彩燈控制電路
發(fā)光二極管在安裝時,將32個發(fā)光二極管排列成心形,心形的上下的中心采用P1.0控制的兩個紅色發(fā)光二極管,P1.1控制的兩個紅色發(fā)光二極管排在上面的中心的兩側,其余相串聯的兩個發(fā)光二極管在安裝時依次左右各安排一個,因此心形的兩側是相對稱的,這樣接通電源后,根據設計的程序,會有不同的顯示效果,并且心形的左右顯示效果是一致的。
數碼管內部由7個條形發(fā)光二極管和1個小圓點發(fā)光二極管組成,根據各管的亮暗組合成字符。常見數碼管有10根管腳。其中COM為公共端,根據內部發(fā)光二極管的接線形式,可分為共陰極和共陽極兩種。使用時,共陰極數碼管公共端接地,共陽極數碼管公共端接電源。每段發(fā)光二極管需5~10 mA的驅動電流,才能正常發(fā)光,一般需加限流電阻控制電流的大小。
LED數碼管的a~g共7個發(fā)光二極管。加正電壓的發(fā)光,加零電壓的不能發(fā)光,不同亮暗的組合,就能形成不同的字型,這種組合稱為字型碼。共陽極和共陰極的字型碼,是不同的。
數碼管顯示有很多方法。按顯示方式分有靜態(tài)顯示和動態(tài)顯示。靜態(tài)顯示,就是顯示驅動電路具有輸出鎖存功能,單片機將所要顯示的數據送出去后,數碼管始終顯示該數據(不變),CPU不再控制LED。到下一次顯示時,再傳送一次新的顯示數據。靜態(tài)顯示方式的優(yōu)點,是顯示的數據穩(wěn)定,無閃爍,占用CPU時間少。其缺點,是由于數碼管始終發(fā)光,功耗比較大。
系統中采用共陰極結構的4個單個數碼管,由于彩燈正常工作時,數碼管始終顯示“LOVE”這4個字母,所以數碼管只需采用靜態(tài)顯示,并且這里所使用的數碼管與其他一些場合使用的數碼管的工作情況不同。一般情況數碼管都是用單片機控制其顯示,而這里的數碼管只需根據數碼管的顯示原理,在其相應的管腳接上高電平和低電平,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 個管腳接高電平,其余接低電平。
軟件部分的設計,使心形彩燈在4個按鍵的控制下,可以顯示5種不同的燈光效果。
第一種顯示效果,是接通電源后,使所有的燈全部閃爍:全亮—全滅—全亮循環(huán)閃爍,間隔時間為1 s;
第二種顯示效果是按鍵SB1按下:從上向下依次點亮,始終左右各一個燈亮,燈亮時間為1 s;
第三種顯示效果是按鍵SB2按下:不同顏色燈輪流顯示,依次是紅—綠—藍—紅—綠—藍……循環(huán)點亮,燈亮時間為1s;
第四種顯示效果是按鍵SB3按下:從下往上依次點亮,點亮后不再熄滅,每點亮一個燈到點亮下一個燈的時間間隔為1s;
第五種顯示效果為按鍵SB4按下:燈全亮后再從下往上依次熄滅,時間間隔為1s。
軟件部分采用模塊化設計,包括一個主程序和兩個子程序,其中一個子程序是顯示子程序,一個子程序是延時子程序,因此程序結構緊湊,便于閱讀和調試。
主程序主要完成系統的初始化和對按鍵的檢測。初始化工作主要使 SP至 60H,P1至 00H,P2至 00H,P0至 0FH,R1至2,使32個發(fā)光二極管全部不亮,按鍵處于斷開狀態(tài)。然后對4個控制按鍵進行檢測,檢測到某個按鍵按下時,就執(zhí)行相應的功能程序,如果沒有鍵按下,則按第一種顯示效果顯示,使所有的燈全亮,延時1 s,然后全滅,延時1 s,然后再重復檢測按鍵,主程序流程圖如圖4所示。
圖4 主程序流程圖
顯示子程序主要實現4個按鍵對應的4種燈光效果的顯示,32個彩燈分為16組,分別由P1口和P2口控制,奇數次查表的內容送P1口,偶數次查表的內容送P2口,4個按鍵依次對應第二種到第五種的顯示效果,顯示程序采用查表程序,一共需要4個表格與之對應,每一個表格和一個按鍵控制的一種顯示效果相對應,當檢測到一個按鍵按下時,在執(zhí)行顯示程序時就查相對應的表格,使得彩燈顯示相應的效果,直到查到表格的結束標志結束。因此,4個表格的內容,是根據所需的顯示效果設計的,如果要改變顯示效果,只需改變表格的內容,其流程圖如圖5所示。
圖5 顯示子程序流程圖
延時子程序實現的是1 s延時,延時時間控制的是燈亮的時間。1 s的延時子程序可以用三重循環(huán)結構設計,也可以采用定時器設計,采用定時器設計的延時子程序精度高,本程序可以采用定時器0方式1設計,晶振頻率使用12 MHz,選擇定時時間為50 ms,因此要達到1 s的延時時間,定時次數應選擇20次,定時器工作在查詢方式。
與市面上大多數的LED彩燈相比,該種彩燈具有形式新穎,顯示模式多,性價比高,與普通的全硬件LED彩燈相比,具有更好的經濟效益。應用主控模塊輸出的控制信號去控制彩燈工作,使得產品性能穩(wěn)定,便于安裝,容易操作。由于控制程序存儲在單片機中,如果用戶需要更改系統的亮燈模式,無須改變系統硬件電路,只需修改其中程序即可,是一種很有發(fā)展前途的彩燈控制器。
[1]江 力.單片機原理與應用技術[M].北京:清華大學出版社,2006.
[2]劉訓非.單片機技術及應用[M].北京:清華大學出版社,2010.