《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于STC12c5a60s2單片機的3D顯示屏設(shè)計
基于STC12c5a60s2單片機的3D顯示屏設(shè)計
2015年微型機與應(yīng)用第2期
侯 龍,劉海順,劉慶玲,張 義
(中國礦業(yè)大學(xué) 理學(xué)院,江蘇 徐州 221116)
摘要: 為解決二維LED顯示單調(diào)與立體感差的問題,提出了以STC12c5a60s2為核心芯片,輔以ULN2803芯片和74HC573芯片對大功率的512個LED燈驅(qū)動來實現(xiàn)3D顯示的設(shè)計方案。通過對3D顯示屏原理分析,結(jié)合硬件電路設(shè)計與軟件編程,完成了8×8×8的顯示屏光立方制作,并給出了最終的交替變換動態(tài)效果。該設(shè)計不僅產(chǎn)生了一種良好的視覺效果,而且為其他三維效果廣告設(shè)計提供了重要的參考價值。
Abstract:
Key words :

  摘  要: 為解決二維LED顯示單調(diào)與立體感差的問題,提出了以STC12c5a60s2為核心芯片,輔以ULN2803芯片和74HC573芯片對大功率的512個LED燈驅(qū)動來實現(xiàn)3D顯示的設(shè)計方案。通過對3D顯示屏原理分析,結(jié)合硬件電路設(shè)計與軟件編程,完成了8×8×8的顯示屏光立方制作,并給出了最終的交替變換動態(tài)效果。該設(shè)計不僅產(chǎn)生了一種良好的視覺效果,而且為其他三維效果廣告設(shè)計提供了重要的參考價值。

  關(guān)鍵詞單片機;光立方;LED點陣;STC12c5a60s2

0 引言

  常見的LED顯示以平面(二維)顯示為主,這種顯示技術(shù)相當(dāng)成熟,賓館、飯店、公司及娛樂場所都可看到各式各樣的二維廣告流水燈。然而這種平面效果的顯示設(shè)計因單調(diào)性和立體感差已不能滿足人們對LED效果的觀賞性要求,因此在二維顯示屏基礎(chǔ)上,開發(fā)設(shè)計三維(3D)LED顯示屏非常有必要。3D顯示屏是以LED發(fā)光二極管為基本單元組成的顯示器,因其畫面鮮艷逼真、立體感強等特點逐漸進入人們的視野[1-2],被人們接受和認(rèn)可。

  本文建立三維立體模型,利用X、Y、Z三軸,采用STC12c5a60s2核心芯片,輔以ULN2803芯片和74HC573芯片實現(xiàn)大功率的512個LED驅(qū)動,達(dá)到3D顯示的目的。該設(shè)計具有以下特點:(1)外觀設(shè)計簡單美觀;(2)實現(xiàn)圖形的動靜態(tài)效果顯示,穩(wěn)定性好,抗干擾性強;(3)程序靈活可變,可局域性更改,實現(xiàn)畫面的自定義,使得圖形在數(shù)字、字母、三維立體圖形之間任意交替動態(tài)變換;(4)此設(shè)計可為其他三維效果設(shè)計開拓思路,提供實踐依據(jù)。

1 總體方案設(shè)計

  3D顯示屏由512個LED燈構(gòu)建的三維LED點陣模塊及相應(yīng)的控制系統(tǒng)構(gòu)成[3-4]。其外觀規(guī)格為18 cm×18 cm×18 cm,各相鄰兩燈間距約為25.6 mm。系統(tǒng)通過二維8×8的LED驅(qū)動電路控制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ù)據(jù)就可達(dá)到立體顯示的動靜態(tài)效果。

001.jpg

  本設(shè)計采用STC12c5a60s2單片機為核心芯片,該芯片不僅具有運算速度快、功率損耗低、抗干擾能力強等優(yōu)點,而且內(nèi)部功能完全兼并8051;同時集成了MAX810專用的復(fù)位電路,簡化了傳統(tǒng)的電路設(shè)計;其內(nèi)部還具有8路高速10位A/D轉(zhuǎn)換和2路PWM,能適應(yīng)電機控制以及干擾性較強的場合。ULN2803作為整體LED的8位共陰極驅(qū)動芯片以增強驅(qū)動電流的能力。采用8片規(guī)格完全相同的鎖存器74HC573對LED陽極端口控制,可實現(xiàn)圖形穩(wěn)定顯示、動態(tài)快速變換、亮度逐級可調(diào)等功能。系統(tǒng)的總體框圖如圖2所示。

002.jpg

2 硬件設(shè)計

  2.1 MCU主控模塊

  本系統(tǒng)采用STC12c5a60s2單片機為核心芯片,內(nèi)部自帶高達(dá)60 KB的Flash ROM和1 280 B RAM數(shù)據(jù)儲存器,4組8 bit的I/O口。其中P0端口與74HC573數(shù)據(jù)輸入端口相連,發(fā)送陽極數(shù)據(jù),對應(yīng)Y軸;P1口與ULN2803數(shù)據(jù)輸入端口相連,發(fā)送陰極數(shù)據(jù),對應(yīng)Z軸;P2口與74HC573使能端口相連,發(fā)送片選信號數(shù)據(jù),對應(yīng)X軸。XTAL1和XTAL2分別連接12 MHz晶振兩端,串連30 pF電容C1、C2后接地,其晶振可滿足運行速度的要求。由于STC12c5a60s2芯片自帶復(fù)位電路,因此忽略了電路中復(fù)位電路環(huán)節(jié),簡化了電路設(shè)計。主控電路如圖3所示。

003.jpg

  2.2 驅(qū)動模塊設(shè)計

  2.2.1 模塊ULN2803設(shè)計

  由于本設(shè)計中LED較多,單片機本身的驅(qū)動能力顯得不足,考慮到ULN2803模塊具有較強的灌電流能力,因此作為共陰極(Z軸)驅(qū)動,其中com端口接地,1C~8C分別對應(yīng)主控器的P1.0~P1.7端口,輸出端口1B~8B分別對應(yīng)LED點陣的8個共陰極端口[5]。最初實驗中采用ULN2803模塊,電流還是未能滿足設(shè)計要求,因此增加了圖4所示的外部灌電流驅(qū)動電路,實驗效果明顯改善。

004.jpg

  2.2.2 74HC573模塊設(shè)計

  本設(shè)計采用74HC573模塊對陽極束(Y軸)進行并行輸入并行輸出控制。其具有以下優(yōu)點:(1)具備高阻態(tài)功能,輸出既不是高電平,也不是低電平,而是高阻抗?fàn)顟B(tài),在這種狀態(tài)下,可將多個芯片并聯(lián)輸出,同時控制;(2)具備數(shù)據(jù)鎖存功能,當(dāng)輸入的數(shù)據(jù)消失時,在芯片的輸出端數(shù)據(jù)仍然保持;(3)具備數(shù)據(jù)緩沖功能,可加強電路的驅(qū)動能力。

005.jpg

  74HC573模塊驅(qū)動電路如圖5所示。8片鎖存器使能端OE口均接地,LE鎖存端口P2.i分別與主控系統(tǒng)中P2對應(yīng)的第i位端口相連,8位數(shù)據(jù)輸入端口D0~D7分別與主控系統(tǒng)P0口并行連接,8位數(shù)據(jù)輸出端口Q0~Q7分別與對應(yīng)8列X軸即64位陽極束連接。

3 軟件設(shè)計

  本實驗3D顯示屏LED點陣模塊是在二維的基礎(chǔ)上通過層疊加原理實現(xiàn)的[6],因此可將三維8×8×8模型看作是64×8的平面模型,即對應(yīng)的XY面與Z面的相互作用模型。其中64看作陽極束,一片74HC573芯片輸出端為8位,恰好設(shè)計8片74HC573芯片控制64位陽極束。8看作陰極束,用一片ULN2803芯片控制。因此64×8對應(yīng)了全部的512位即512個LED燈。每一位采用狀態(tài)0或1可對其進行亮或滅控制,實現(xiàn)三維LED燈的發(fā)光或熄滅。

  此設(shè)計采用X、Y、Z三軸三維模型模擬,其中任意LED燈的坐標(biāo)為LED(X,Y,Z),坐標(biāo)范圍均為0~7。當(dāng)要(3,4,5)點坐標(biāo)燈亮,控制其Z=4處平面燈全亮即輸入端口為高電平1,其余為低電平0;Y=3處平面燈全亮即輸入端口為高電平1,其余為低電平0;X=2處平面輸入端口對Y=3處平面數(shù)據(jù)進行鎖存即由高電平1變?yōu)榈碗娖?,這樣便可實現(xiàn)LED(3,4,5)坐標(biāo)燈保持高亮,其余燈熄滅。由此通過點可實現(xiàn)線、面、體以及兩兩結(jié)合組成的各種三維立體動靜態(tài)圖形顯示。由于動畫顯示只有大于15幀時人眼才可看到流暢的動態(tài)效果,因此在動態(tài)圖形中掃描周期必須小于(1/15)s,即每層停留的時間t最多為(1/15)×(1/8)[7]。此效果的顯示都是通過軟件來實現(xiàn)的,這里顯示一個簡單的動態(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);

  }

  }

  }

  }

  實現(xiàn)該代碼的思路流程如圖6所示。

006.jpg

4 仿真效果

  本設(shè)計通過硬件電路設(shè)計與軟件編程實現(xiàn)了3D效果顯示,如圖7所示。其中,圖7(a)為動態(tài)沙漏的某一瞬間截取圖;圖7(b)為動態(tài)桃心的某一瞬間截取圖;圖7(c)為動態(tài)平面前后掃面的某一瞬間截取圖;圖7(d)為整體靜態(tài)顯示圖。從圖7(a)、(b)可明顯看出圖形的立體層次感;從圖7(c)、(d)可看出,與平面二維效果相比,三維立體方位感更強、更真實。

007.jpg

5 結(jié)論

  本文實現(xiàn)了從開始的硬件設(shè)計到最終的軟件仿真,達(dá)到了以下目的:(1)該電路設(shè)計合理,不僅圖形的穩(wěn)定性好,而且觀賞性強,為其他三維效果設(shè)計提供了一定的實踐基礎(chǔ);(2)從仿真結(jié)果可看出三維效果比二維效果立體感更強、更真實,該設(shè)計方案是以后各立體效果圖形設(shè)計采納的主流趨勢。然而,由于條件限制,通過A/D轉(zhuǎn)換音頻控制LED未能進一步設(shè)計,將在以后的工作中利用離散傅里葉光學(xué)變換展開研究。

參考文獻(xiàn)

  [1] 康志強,汪佳,湯勇明.基于FPGA的3D光立方設(shè)計[J].電子器件,2012,35(6):683-686.

  [2] 王欣,馬青玉.基于Arduino的LED光立方設(shè)計[J].南京師范大學(xué)學(xué)報,2013,13(4):24-28.

  [3] 楊永剛.3D光立方的設(shè)計與制作[J].電子世界,2014(6):129.

  [4] 劉小平,李志遠(yuǎn).單片機版光立方的制作[J].無線電,2012(10):70-74.

  [5] 楊清德.LED驅(qū)動電路設(shè)計與工程施工案例精講[M].北京:化學(xué)工業(yè)出版社,2010.

  [6] 楊富強,朱利強.基于單片機的LED點陣動態(tài)顯示系統(tǒng)[J].工業(yè)控制計算機,2013,26(1):101-102.

  [7] 蘇珊,肖英,李行杰.基于STC單片機的8×8×8 LED光立方系統(tǒng)設(shè)計[J].吉林大學(xué)學(xué)報,2013,34(6):33-36.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。