基于AT89C51單片機(jī)的LED彩燈控制器設(shè)計(jì)
上傳人:admin 上傳時(shí)間: 2007-02-08 瀏覽次數(shù): 411 |
上電后系統(tǒng)經(jīng)過初始化,查詢是否有功能切換鍵按下:有,則進(jìn)入用戶設(shè)定模式狀態(tài);無,則進(jìn)入默認(rèn)缺省工作狀態(tài)。在用戶設(shè)定模式狀態(tài)下,用戶可以根據(jù)個(gè)人愛好及不同場(chǎng)合的需要來指定調(diào)用哪些模式,并且可以改變每種模式的時(shí)間Ti、頻率Fi參數(shù),如果用戶想進(jìn)入缺省狀態(tài)模式,只需按一下功能切換鍵即可跳入缺省模式,程序會(huì)自動(dòng)順序調(diào)用亮燈模式;在缺省工作狀態(tài)下,LED彩燈控制器按照程序設(shè)定好的若干亮燈花樣模式程序Model_i順序調(diào)用往下走,從第Model_1模式開始工作,自Model_1到Model_2……到Mod el_n為一個(gè)亮燈周期,然后再回到Model_1循環(huán)繼續(xù)工作,同樣如果想進(jìn)入用戶設(shè)定模式狀態(tài),只需按下功能切換鍵即可。整個(gè)n種亮燈模式時(shí)間可以看作一個(gè)大周期T,其中的每一種花樣工作模式Model_i(i=1,2,…,n)時(shí)間為小周期Ti,對(duì)于每一個(gè)模式編寫一個(gè)獨(dú)立工作子程序Model_i,其中設(shè)定了LED三色燈(紅、綠、藍(lán))的點(diǎn)亮?xí)r刻(RED_on,GREEN_on,BLUE_on)和熄滅時(shí)刻(RED_off,GREEN_off,BLU E_off),以及模式工作時(shí)間Ti以及該模式LED閃爍頻率Fi。5位七段碼顯示器的前2位(L1,L2)顯示當(dāng)前工作模式的序號(hào)Model_i;后3位(L3,L4,L5)七段碼 顯示三色LED的工作狀態(tài),若該顏色燈點(diǎn)亮則對(duì)應(yīng)七段碼顯示位為“1”,反之熄滅時(shí)則顯示位為“滅”即不顯示,對(duì)系統(tǒng)工作狀態(tài)起到了很好的實(shí)時(shí)監(jiān)控作用。
因此在LED彩燈上電工作后,用戶可以方便地通過主控模塊上的顯示器知道LED彩燈當(dāng)前工作模式Model_i,工作時(shí)間Ti,頻率Fi等實(shí)時(shí)參數(shù)。若實(shí)際應(yīng)用需要根據(jù)不同場(chǎng)合和時(shí)間來改變彩燈閃亮效果,用戶可以通過主控模塊上的按鍵來設(shè)定LED不同的閃爍頻率Fi和亮燈時(shí)間Ti,以便符合實(shí)際需要。此外如果用戶對(duì)某一種模式感興趣需要仔細(xì)觀看該種亮燈模式,可以通過鍵盤選定任意第Model_i模式使系統(tǒng)循環(huán)重復(fù)工作在該花樣模式下。
新型LED彩燈系統(tǒng)包括2大部分,即LED彩燈控制器(89C51主控模塊)和LED彩燈管(管內(nèi)LED板模塊)。前者是主控模塊,具有按鍵、顯示等功能,并利用89C51的P口輸出控制信號(hào);后者是受控模塊,上面焊有三色LED彩燈和信號(hào)驅(qū)動(dòng)芯片,模塊置于LED的透明燈管內(nèi)。

主控模塊電路如圖1所示。主控模塊主要設(shè)計(jì)器件有89C51,5個(gè)七段碼LED顯示器,8個(gè)按鍵,2個(gè)穩(wěn)壓器(提供12 V,5 V電壓),1個(gè)信號(hào)輸出驅(qū)動(dòng)模塊芯片(MC4049)等。通過軟件設(shè)計(jì),使單片機(jī)P0口作為三色LED驅(qū)動(dòng)信號(hào)輸出口及移位時(shí)鐘CLOCK信號(hào),P3口為按鍵輸入口,P2口、P1口與5位七段碼LED相接作為顯示器的輸出口。
3.2、管內(nèi)LED板模塊設(shè)計(jì)
管內(nèi)LED板模塊電路見圖2。管內(nèi)LED板模塊設(shè)計(jì)主要器件有LED彩燈(紅、綠、藍(lán))、移位觸發(fā)模塊芯片CD4076等。根據(jù)實(shí)際應(yīng)用彩燈長(zhǎng)度需要,可將不同數(shù)量的該管內(nèi)LED模塊實(shí)現(xiàn)級(jí)連,組成一個(gè)完整的LED彩燈??紤]到功率損耗,LED板模塊之間接口處用信號(hào)正向驅(qū)動(dòng)模塊芯片MC4049連接。每個(gè)LED板模塊上均勻分布3種顏色 LED燈,在實(shí)際制作PCB時(shí)采用紅、綠、藍(lán)3色互隔焊接方式,在電路板上把LED發(fā)光管按順序L1(紅)、L2(綠)、L3(藍(lán))、L4(紅)、L5(綠)、L6(藍(lán))……依次均勻焊在板上成一條直線。為了得到更多的花樣模式效果,可以使紅綠2種燈從前往后驅(qū)動(dòng)點(diǎn)亮閃爍,藍(lán)燈從后往前驅(qū)動(dòng)點(diǎn)亮閃爍,這樣具有很好的動(dòng)感視覺效果。

新型LED彩燈控制器最大特點(diǎn)在于所有亮燈模式均由軟件控制完成。系統(tǒng)中軟件可以分為主程序和中斷服務(wù)子程序。上電后在缺省狀態(tài)以順序調(diào)用Model_i花樣亮燈模式流程為主程序,以一個(gè)單位時(shí)間5 ms的T0定時(shí)為中斷服務(wù)子程序。在這個(gè)5 ms的T0定時(shí)基礎(chǔ)上,可以根據(jù)需要來確定各種模式工作時(shí)間Ti,以及確定在各種亮燈模式Mode l_i內(nèi)點(diǎn)亮和熄滅各種顏色LED燈的時(shí)刻:Red_on,Red_off,Green_on,Green_off,Blue_on,blue_off以及Clock(移位翻轉(zhuǎn)脈沖)等。整個(gè)系統(tǒng)軟件由主程序( Main)、各個(gè)模式子程序(Model_i)、5 ms中斷服務(wù)子程序(T0 Interrupt)、鍵盤掃描處理子程序(Key Board)、顯示子程序(Display)等程序組成。利用T0定時(shí)器作為定時(shí)基本單位,根據(jù)模式需要計(jì)算好各控制信號(hào)的發(fā)生時(shí)刻,根據(jù)不同的模式Mo del_i可以設(shè)定不同的工作時(shí)間Ti和脈沖翻轉(zhuǎn)頻率Fi通過P0口輸出,使各色L ED燈的驅(qū)動(dòng)時(shí)刻與移位觸發(fā)的翻轉(zhuǎn)時(shí)刻步調(diào)一致,使LED彩燈按照設(shè)計(jì)的模式工作。
除了T0定時(shí)中斷之外,程序的大部份時(shí)間是在處理按鍵的查詢和LED顯示的延時(shí)。8個(gè)按鍵分別為:4個(gè)參數(shù)按鍵(Fi增、減按鍵,Ti增、減按鍵),3個(gè)模式改變按鍵(模式上翻UP、模式下翻DOWN、模式保持KEEP),1個(gè)功能切換按鍵。在每次的T0定時(shí)中斷服務(wù)子程序里,需要對(duì)各個(gè)時(shí)間寄存器和模式寄存器進(jìn)行加1或者清,為主程序查詢作準(zhǔn)備,同時(shí)查詢是否已中斷6次(30 ms),若30 ms到了,則對(duì)參數(shù)按鍵查詢一次,是否有時(shí)間Ti頻率Fi增減鍵按下并進(jìn)行相應(yīng)子程序處理。
主程序除了調(diào)用各種子模式子程序(Model_i),調(diào)用LED顯示子程序(Display)和延時(shí)子程序(Delay)之外,還一直保持查詢是否有功能切鍵按下以及是否有模式改變按鍵按下,一旦有功能切換鍵和模式改變鍵按下,就會(huì)進(jìn)入相應(yīng)的按鍵處理。 主程序流程如圖3所示。亮燈模式子程序Model_i可以編寫若干(n種),只要控制好各色燈觸發(fā)和熄滅時(shí)刻就可以組合成各種亮燈效果。Model_i程序流程如圖4所示。






與市面上大多數(shù)的LED彩燈相比,該種彩燈具有更好的燈光裝飾效果,性價(jià)比更高,與普通的全硬件LED彩燈相比具有更好的經(jīng)濟(jì)效益。應(yīng)用主控模塊輸出的控制信號(hào)去控制燈管內(nèi)的L ED板模塊工作,使得產(chǎn)品性能穩(wěn)定,便以安裝容易操作。由于控制程序存儲(chǔ)在89C51單片機(jī) 的電可擦除Flash閃存EPROM中,如果用戶需要更改系統(tǒng)的亮燈模式Model_i,無須改變系統(tǒng)硬件電路,只需修改其中程序即可,是一種很有發(fā)展前途的彩燈控制器。
用戶名: 密碼: