危鑫++陽泳++孟陽
摘 要:該文研究了基于AT89C52的光立方設計,采用8片74HC573作為面驅動器件,1片ULN2803作為層驅動器件,驅動8×8×8LED點陣,可顯示任意立體圖形和3D動態效果。
關鍵字:光立方 74HC573 AT89C52 ULN2803
中圖分類號:TP368 文獻標識碼:A 文章編號:1672-3791(2014)12(b)-0023-01
在顯示技術迅速發展的今天,“光立方”是一種新興的電子產品,廣泛應用于金融、展覽、演出和體育活動等方面。該文研究了采用藍燈霧狀散光LED作為顯示載體,AT89C52作為控制平臺,74HC573作為LED面驅動器件,ULN2803作為層驅動器件,為實現3D視覺效果提供了硬件支持。
1 總體設計方案
單元電路采用以二維8×8的LED驅動電路,每一面的LED燈分8次來控制,對每一面的數據分時段進行刷新,以產生立體顯示效果。
該系統使用一片AT89C52單片機作為控制核心,用8片74HC573作為面驅動芯片,用一片ULN2803作為層驅動芯片,驅動8×8×8三維LED點陣(即512個LED)實現圖形穩定顯示,動態快速變化。系統結構圖如圖1所示。
2 硬件設計
2.1 MCU主控模塊
該系統的主控芯片使用的是AT89C52,它帶有512字節RAM數據儲存器和8K Flash程序儲存器,8位的I/O口有4組,對運行速度的要求,配置12MHZ晶振即可滿足。
由于這種設計對MCU要求不高,使用普通的單機片就可以完成設計,而且設計與制作也方便,成本不高。該設計只用了24只腳,還剩下8個端口方便以后的擴展。
2.2 光立方工作原理
512個藍色散光LED組成了光立方,分8層,每層64個(8×8)LED,LED之間相互都間隔了一定距離,通透性比較好,其三維顯示效果是通過LED矩陣自身的空間立體性來實現的。具體的連接方式為:每一層的64個LED陽極連起來,再連接74HC573,將縱向同列的8個LED的陰極連起來,接到鎖存器組成的列控制模塊的輸出端。一共有64個列單元在光立方中。
面驅動電路和層驅動電路是光立方掃描驅動電路的兩大類。層掃描信號通過層驅動電路產生后,由74HC573驅動選通或關閉與每一層LED陽極,連接豎直方向同列的LED的陰極,再分別連接到8個鎖存器(74HC573)的輸出端,當選通LED層,且鎖存器處于低輸出時,就會點亮相應的LED。將光立方的空間圖像信息按8層分,每層的數據信號由面驅動電路依次送到選通的LED列上面,由8個8bit的鎖存器來分時控制每層的64個LED,分時選通8個鎖存器時采用I/O端口,鎖存器中輸入進每層的控制數據后,利用層選信號對相應層進行選通,8層在一個周期內一次掃完,因為人眼的視覺停留時間要比這一個周期的時間長,因而一幅完整的立體圖案就呈現在人們的眼中了。這樣一來要分時控制512個LED可通過使用15個I/O擴展口來實現。利用這種工作原理,使光立方平臺上靜態畫面和動畫的效果得以實現。
3 軟件設計
該系統在主程序首先完成系統初始化,則根據各參變量已有的數值,對功能模式進行相應的選擇,進入對應的圖形數據處理子函數或者其他功能子函數。再把經過處理的圖形數據寫進74HC573,這樣最終顯示效果的變化就完成了。
4 實現結果
基于二維顯示,通過人眼的視覺停留效應以及真實的3D空間排列的LED點陣,使光立方3D顯示效果能夠達到。音樂立方動態顯示以及圖像立體靜態顯示可由該系統來實現,且真正意義上的三維顯示在動態顯示的基礎上實現了,具有很高的實用價值。不過,該設計仍存在很多的不足且需要改進,例如受限于硬件資源,光立方沒有很高的分辨率,僅對一些簡單的動畫和圖像進行顯示。另外,目前只能顯示單色,因此可以從全彩LED顯示方面進行改進。若要在比較大型的場所使用,則要按所給的設計方案擴展相應的外圍電路,這樣就可以達到目的。
參考文獻
[1] 江世明,黃同成.單片機原理及應用[M].北京:中國鐵道出版社,2010.
[2] 康志強,汪佳,湯勇明.基于FPGA的3D光立方設計[J].電子器件,2012,35(6):683-686.
[3] 黃同成,周紅波.程序設計基礎教程(C語言)[M].長沙:湖南人民出版社,2012.endprint