摘 要: 為解決二維LED顯示單調(diào)與立體感差的問題,提出了以STC12c5a60s2為核心芯片,輔以ULN2803芯片和74HC573芯片對(duì)大功率的512個(gè)LED燈驅(qū)動(dòng)來實(shí)現(xiàn)3D顯示的設(shè)計(jì)方案。通過對(duì)3D顯示屏原理分析,結(jié)合硬件電路設(shè)計(jì)與軟件編程,完成了8×8×8的顯示屏光立方制作,并給出了最終的交替變換動(dòng)態(tài)效果。該設(shè)計(jì)不僅產(chǎn)生了一種良好的視覺效果,而且為其他三維效果廣告設(shè)計(jì)提供了重要的參考價(jià)值。
關(guān)鍵詞: 單片機(jī);光立方;LED點(diǎn)陣;STC12c5a60s2
0 引言
常見的LED顯示以平面(二維)顯示為主,這種顯示技術(shù)相當(dāng)成熟,賓館、飯店、公司及娛樂場(chǎng)所都可看到各式各樣的二維廣告流水燈。然而這種平面效果的顯示設(shè)計(jì)因單調(diào)性和立體感差已不能滿足人們對(duì)LED效果的觀賞性要求,因此在二維顯示屏基礎(chǔ)上,開發(fā)設(shè)計(jì)三維(3D)LED顯示屏非常有必要。3D顯示屏是以LED發(fā)光二極管為基本單元組成的顯示器,因其畫面鮮艷逼真、立體感強(qiáng)等特點(diǎn)逐漸進(jìn)入人們的視野[1-2],被人們接受和認(rèn)可。
本文建立三維立體模型,利用X、Y、Z三軸,采用STC12c5a60s2核心芯片,輔以ULN2803芯片和74HC573芯片實(shí)現(xiàn)大功率的512個(gè)LED驅(qū)動(dòng),達(dá)到3D顯示的目的。該設(shè)計(jì)具有以下特點(diǎn):(1)外觀設(shè)計(jì)簡(jiǎn)單美觀;(2)實(shí)現(xiàn)圖形的動(dòng)靜態(tài)效果顯示,穩(wěn)定性好,抗干擾性強(qiáng);(3)程序靈活可變,可局域性更改,實(shí)現(xiàn)畫面的自定義,使得圖形在數(shù)字、字母、三維立體圖形之間任意交替動(dòng)態(tài)變換;(4)此設(shè)計(jì)可為其他三維效果設(shè)計(jì)開拓思路,提供實(shí)踐依據(jù)。
1 總體方案設(shè)計(jì)
3D顯示屏由512個(gè)LED燈構(gòu)建的三維LED點(diǎn)陣模塊及相應(yīng)的控制系統(tǒng)構(gòu)成[3-4]。其外觀規(guī)格為18 cm×18 cm×18 cm,各相鄰兩燈間距約為25.6 mm。系統(tǒng)通過二維8×8的LED驅(qū)動(dòng)電路控制XY基面,依次沿Z軸方向?qū)崿F(xiàn)8次掃描,恰好完成一次整體的8×8×8 LED從底面到最高面的掃描。整體模型用X、Y、Z三軸模擬,其X軸控制鎖存器使能端,Y軸控制鎖存器數(shù)據(jù)端,X、Y軸控制XY基面,Z軸控制層面,如圖1所示。利用人眼的視覺暫留效應(yīng),分時(shí)段刷新每一層面數(shù)據(jù)就可達(dá)到立體顯示的動(dòng)靜態(tài)效果。
本設(shè)計(jì)采用STC12c5a60s2單片機(jī)為核心芯片,該芯片不僅具有運(yùn)算速度快、功率損耗低、抗干擾能力強(qiáng)等優(yōu)點(diǎn),而且內(nèi)部功能完全兼并8051;同時(shí)集成了MAX810專用的復(fù)位電路,簡(jiǎn)化了傳統(tǒng)的電路設(shè)計(jì);其內(nèi)部還具有8路高速10位A/D轉(zhuǎn)換和2路PWM,能適應(yīng)電機(jī)控制以及干擾性較強(qiáng)的場(chǎng)合。ULN2803作為整體LED的8位共陰極驅(qū)動(dòng)芯片以增強(qiáng)驅(qū)動(dòng)電流的能力。采用8片規(guī)格完全相同的鎖存器74HC573對(duì)LED陽極端口控制,可實(shí)現(xiàn)圖形穩(wěn)定顯示、動(dòng)態(tài)快速變換、亮度逐級(jí)可調(diào)等功能。系統(tǒng)的總體框圖如圖2所示。
2 硬件設(shè)計(jì)
2.1 MCU主控模塊
本系統(tǒng)采用STC12c5a60s2單片機(jī)為核心芯片,內(nèi)部自帶高達(dá)60 KB的Flash ROM和1 280 B RAM數(shù)據(jù)儲(chǔ)存器,4組8 bit的I/O口。其中P0端口與74HC573數(shù)據(jù)輸入端口相連,發(fā)送陽極數(shù)據(jù),對(duì)應(yīng)Y軸;P1口與ULN2803數(shù)據(jù)輸入端口相連,發(fā)送陰極數(shù)據(jù),對(duì)應(yīng)Z軸;P2口與74HC573使能端口相連,發(fā)送片選信號(hào)數(shù)據(jù),對(duì)應(yīng)X軸。XTAL1和XTAL2分別連接12 MHz晶振兩端,串連30 pF電容C1、C2后接地,其晶振可滿足運(yùn)行速度的要求。由于STC12c5a60s2芯片自帶復(fù)位電路,因此忽略了電路中復(fù)位電路環(huán)節(jié),簡(jiǎn)化了電路設(shè)計(jì)。主控電路如圖3所示。
2.2 驅(qū)動(dòng)模塊設(shè)計(jì)
2.2.1 模塊ULN2803設(shè)計(jì)
由于本設(shè)計(jì)中LED較多,單片機(jī)本身的驅(qū)動(dòng)能力顯得不足,考慮到ULN2803模塊具有較強(qiáng)的灌電流能力,因此作為共陰極(Z軸)驅(qū)動(dòng),其中com端口接地,1C~8C分別對(duì)應(yīng)主控器的P1.0~P1.7端口,輸出端口1B~8B分別對(duì)應(yīng)LED點(diǎn)陣的8個(gè)共陰極端口[5]。最初實(shí)驗(yàn)中采用ULN2803模塊,電流還是未能滿足設(shè)計(jì)要求,因此增加了圖4所示的外部灌電流驅(qū)動(dòng)電路,實(shí)驗(yàn)效果明顯改善。
2.2.2 74HC573模塊設(shè)計(jì)
本設(shè)計(jì)采用74HC573模塊對(duì)陽極束(Y軸)進(jìn)行并行輸入并行輸出控制。其具有以下優(yōu)點(diǎn):(1)具備高阻態(tài)功能,輸出既不是高電平,也不是低電平,而是高阻抗?fàn)顟B(tài),在這種狀態(tài)下,可將多個(gè)芯片并聯(lián)輸出,同時(shí)控制;(2)具備數(shù)據(jù)鎖存功能,當(dāng)輸入的數(shù)據(jù)消失時(shí),在芯片的輸出端數(shù)據(jù)仍然保持;(3)具備數(shù)據(jù)緩沖功能,可加強(qiáng)電路的驅(qū)動(dòng)能力。
74HC573模塊驅(qū)動(dòng)電路如圖5所示。8片鎖存器使能端OE口均接地,LE鎖存端口P2.i分別與主控系統(tǒng)中P2對(duì)應(yīng)的第i位端口相連,8位數(shù)據(jù)輸入端口D0~D7分別與主控系統(tǒng)P0口并行連接,8位數(shù)據(jù)輸出端口Q0~Q7分別與對(duì)應(yīng)8列X軸即64位陽極束連接。
3 軟件設(shè)計(jì)
本實(shí)驗(yàn)3D顯示屏LED點(diǎn)陣模塊是在二維的基礎(chǔ)上通過層疊加原理實(shí)現(xiàn)的[6],因此可將三維8×8×8模型看作是64×8的平面模型,即對(duì)應(yīng)的XY面與Z面的相互作用模型。其中64看作陽極束,一片74HC573芯片輸出端為8位,恰好設(shè)計(jì)8片74HC573芯片控制64位陽極束。8看作陰極束,用一片ULN2803芯片控制。因此64×8對(duì)應(yīng)了全部的512位即512個(gè)LED燈。每一位采用狀態(tài)0或1可對(duì)其進(jìn)行亮或滅控制,實(shí)現(xiàn)三維LED燈的發(fā)光或熄滅。
此設(shè)計(jì)采用X、Y、Z三軸三維模型模擬,其中任意LED燈的坐標(biāo)為L(zhǎng)ED(X,Y,Z),坐標(biāo)范圍均為0~7。當(dāng)要(3,4,5)點(diǎn)坐標(biāo)燈亮,控制其Z=4處平面燈全亮即輸入端口為高電平1,其余為低電平0;Y=3處平面燈全亮即輸入端口為高電平1,其余為低電平0;X=2處平面輸入端口對(duì)Y=3處平面數(shù)據(jù)進(jìn)行鎖存即由高電平1變?yōu)榈碗娖?,這樣便可實(shí)現(xiàn)LED(3,4,5)坐標(biāo)燈保持高亮,其余燈熄滅。由此通過點(diǎn)可實(shí)現(xiàn)線、面、體以及兩兩結(jié)合組成的各種三維立體動(dòng)靜態(tài)圖形顯示。由于動(dòng)畫顯示只有大于15幀時(shí)人眼才可看到流暢的動(dòng)態(tài)效果,因此在動(dòng)態(tài)圖形中掃描周期必須小于(1/15)s,即每層停留的時(shí)間t最多為(1/15)×(1/8)[7]。此效果的顯示都是通過軟件來實(shí)現(xiàn)的,這里顯示一個(gè)簡(jiǎn)單的動(dòng)態(tài)沙漏程序,代碼如下:
void shalou()
{ int i,j,d;
chushihua(); //初始化函數(shù)
for (j=0;j<8;j++)
{
For (d=0;d<5*(8-j);d++)
{
For (i=0;i<=j;i++)
{
CLEAR(); //清屏函數(shù)
P0=SHALOU[i]; //Y軸掃描數(shù)據(jù)
P2=SHALOU[i]; //X軸存入高電平數(shù)據(jù)
P2=0x00; //X軸低電平鎖存數(shù)據(jù)
P1=0x80>>i; //Z軸發(fā)送層掃描函數(shù)
Delayms(5);
}
}
}
For (j=7;j>=0;j--)
{
For (d=0;d<5*(8-j);d++)
{
For (i=0;i<=j;i++)
{
CLEAR();
P0=SHALOU[i]; //Y軸掃描數(shù)據(jù)
P2=SHALOU[i]; //X軸存入高電平數(shù)據(jù)
P2=0x00; //X軸低電平鎖存數(shù)據(jù)
P1=0x01<<i; //Z軸發(fā)送層掃描函數(shù)
Delayms(5);
}
}
}
}
實(shí)現(xiàn)該代碼的思路流程如圖6所示。
4 仿真效果
本設(shè)計(jì)通過硬件電路設(shè)計(jì)與軟件編程實(shí)現(xiàn)了3D效果顯示,如圖7所示。其中,圖7(a)為動(dòng)態(tài)沙漏的某一瞬間截取圖;圖7(b)為動(dòng)態(tài)桃心的某一瞬間截取圖;圖7(c)為動(dòng)態(tài)平面前后掃面的某一瞬間截取圖;圖7(d)為整體靜態(tài)顯示圖。從圖7(a)、(b)可明顯看出圖形的立體層次感;從圖7(c)、(d)可看出,與平面二維效果相比,三維立體方位感更強(qiáng)、更真實(shí)。
5 結(jié)論
本文實(shí)現(xiàn)了從開始的硬件設(shè)計(jì)到最終的軟件仿真,達(dá)到了以下目的:(1)該電路設(shè)計(jì)合理,不僅圖形的穩(wěn)定性好,而且觀賞性強(qiáng),為其他三維效果設(shè)計(jì)提供了一定的實(shí)踐基礎(chǔ);(2)從仿真結(jié)果可看出三維效果比二維效果立體感更強(qiáng)、更真實(shí),該設(shè)計(jì)方案是以后各立體效果圖形設(shè)計(jì)采納的主流趨勢(shì)。然而,由于條件限制,通過A/D轉(zhuǎn)換音頻控制LED未能進(jìn)一步設(shè)計(jì),將在以后的工作中利用離散傅里葉光學(xué)變換展開研究。
參考文獻(xiàn)
[1] 康志強(qiáng),汪佳,湯勇明.基于FPGA的3D光立方設(shè)計(jì)[J].電子器件,2012,35(6):683-686.
[2] 王欣,馬青玉.基于Arduino的LED光立方設(shè)計(jì)[J].南京師范大學(xué)學(xué)報(bào),2013,13(4):24-28.
[3] 楊永剛.3D光立方的設(shè)計(jì)與制作[J].電子世界,2014(6):129.
[4] 劉小平,李志遠(yuǎn).單片機(jī)版光立方的制作[J].無線電,2012(10):70-74.
[5] 楊清德.LED驅(qū)動(dòng)電路設(shè)計(jì)與工程施工案例精講[M].北京:化學(xué)工業(yè)出版社,2010.
[6] 楊富強(qiáng),朱利強(qiáng).基于單片機(jī)的LED點(diǎn)陣動(dòng)態(tài)顯示系統(tǒng)[J].工業(yè)控制計(jì)算機(jī),2013,26(1):101-102.
[7] 蘇珊,肖英,李行杰.基于STC單片機(jī)的8×8×8 LED光立方系統(tǒng)設(shè)計(jì)[J].吉林大學(xué)學(xué)報(bào),2013,34(6):33-36.