標(biāo)題: 基于STC單片機(jī)的光立方設(shè)計(jì)原理源碼和架構(gòu)說明 [打印本頁]
作者: 高子涵999 時(shí)間: 2018-11-26 22:30
標(biāo)題: 基于STC單片機(jī)的光立方設(shè)計(jì)原理源碼和架構(gòu)說明
本文說明書將以看圖說話的方式詳細(xì)介紹光立方的搭建過程,以及闡述光立方的設(shè)計(jì)原理和架構(gòu)方法。這些內(nèi)容如圖一所示大致分為如下三個(gè)部分。
圖一 光立方的設(shè)計(jì)思路示意圖
圖二 (a)霧狀方形LED燈;(b)層示意圖;(c)立方體點(diǎn)陣實(shí)物圖
如圖二所示,LED點(diǎn)陣由512個(gè)2*5*7mm的霧狀方形藍(lán)色發(fā)光管采用層共陰、豎共陽的方式焊接而成,采用LED霧燈可以很好的收聚光線,使要顯示的燈的光亮不會(huì)影響周圍燈的亮度,暗滅很明顯,利于效果呈現(xiàn)。這里層共陰豎共陽的意思說光立方的每一層的負(fù)極都接在一起,一共8層,最后引出8根跳線與底座電路連接(與8個(gè)100Ω電阻串聯(lián)后接在STC單片機(jī)P0口),陽極則層與層之間對應(yīng)連接在一起,一共有64個(gè)口,分別接在底座電路圖的8個(gè)74HC595的IO口中。這種層共陰、豎共陽的方式焊接,可以使所有LED燈并聯(lián)連接,不相互影響,通過程序控制,可以點(diǎn)亮任意LED。
圖三 焊接現(xiàn)場
焊接的方式是將每個(gè)LED燈的正負(fù)極彎折成90度,固定在事先制作好的間距為20mm的陣列模板中,將所有正極用工具將其盤出一個(gè)圓環(huán),所有LED的負(fù)極則相互搭在一起,然后焊牢,一層則制作完成。正極的圓環(huán)是用來最后在每層都焊好的時(shí)候,將所有層上下連接在一起而準(zhǔn)備的。
如這樣,最后完成了光立方立方體點(diǎn)陣的焊接,如圖二(c)所示。
圖四 電路原理圖
底座硬件電路以STC單片機(jī)為控制中心,主要包含復(fù)位電路,時(shí)鐘信號電路,以及595控制電路,如圖四原理圖所示。
圖四所示595電路設(shè)計(jì),按照前部分立方體點(diǎn)陣搭建思路,可知最少需要用到的單片機(jī)IO口就需要64+8個(gè),對于40PIN的STC12C5A60S2顯然IO口不足,所以我們使用8個(gè)74HC595芯片來節(jié)約單片機(jī)的IO口資源, 分別用來控制每一層中每一列的LED燈。在圖中,數(shù)據(jù)通過串行的方式,分別傳送到每一個(gè)74HC595芯片中,再內(nèi)部控制器儲存這些數(shù)據(jù),從而實(shí)現(xiàn)一層64個(gè)燈同時(shí)的點(diǎn)亮。
圖四所示時(shí)鐘信號電路設(shè)計(jì),我們在XTAL1(單片機(jī)內(nèi)部振蕩電路的輸入端口)、XTAL2(單片機(jī)內(nèi)部振蕩電路的輸出端口)上接一個(gè)石英晶體并在兩端接兩個(gè)電容,這樣就可以產(chǎn)生一個(gè)內(nèi)部激蕩電路,這里需要注意的是此實(shí)驗(yàn)用的晶振是12MHZ的,和晶振相連的電容一般選用33PF的陶瓷電容。
圖四對應(yīng)的PCB原理圖如圖五所示,由于光立方線路復(fù)雜,我們在布線過程中17根跳線(PCB圖中紅色和粉色線所示)
圖五 底座PCB圖
本光立方的組成有兩各個(gè)部分一個(gè)是硬件一個(gè)則是軟件,軟件的伸縮性很大,編寫的好的程序?qū)崿F(xiàn)起來簡單不易出錯(cuò),編的不好的數(shù)據(jù)會(huì)出現(xiàn)很多問題,本系統(tǒng)采用的是模塊化的設(shè)計(jì)方案,減少軟件出錯(cuò)的概率,在軟件的設(shè)計(jì)過程中需要用到了KEIL4軟件編輯器。
另外,我們寫程序時(shí)的設(shè)計(jì)思路是這樣的:描述一個(gè)固定畫面的顯示,需要硬件執(zhí)行8次掃描的過程。
- 將第一層64個(gè)點(diǎn)的數(shù)據(jù)傳入8個(gè)74hc595中,控制uln2803層控制芯片打開第一層開關(guān),使第一層點(diǎn)亮,這個(gè)時(shí)候,其他層是滅的。
- 等待時(shí)間t。
- 熄滅第一層,開始向74hc595中傳輸?shù)诙䦟拥臄?shù)據(jù),鎖存,開啟第二層總控制開關(guān),點(diǎn)亮第二層。
- 等待時(shí)間t。
.......
- 熄滅第七層,將第八層的的數(shù)據(jù)傳入所有74hc595中,鎖存,開啟第八層總開關(guān),
- 點(diǎn)亮第八層。
- 再回到第一步,循環(huán)下去....
這樣,便實(shí)現(xiàn)了一個(gè)偵畫面的顯示,由于人眼的視覺暫留的特性,只要刷新的夠快,我們看到的就是光立方整體一起點(diǎn)亮的。便實(shí)現(xiàn)了我們想要的效果。為了畫面的穩(wěn)定,上面間隔點(diǎn)亮t要保持一致,否則會(huì)出現(xiàn)亮度不均的情況。
光立方最大的特點(diǎn)就是點(diǎn)陣顯示,每個(gè)LED都是采用并聯(lián)方式焊接,所以通過編寫程序可以隨意設(shè)計(jì)點(diǎn)陣顯示方式,在本課題的光立方中,我們設(shè)計(jì)了倒計(jì)時(shí)數(shù)字顯示,波浪,左右推進(jìn)等顯示方式。 下面是部分源程序展示。
完成了硬件和軟件設(shè)計(jì),我們的光立方最后成功制作成功,展示結(jié)果如圖七所示。
圖七 光立方效果顯示實(shí)物圖
1.PNG (111.53 KB, 下載次數(shù): 43)
下載附件
2018-11-26 21:56 上傳
電路原理圖如下:
2.PNG (178.99 KB, 下載次數(shù): 43)
下載附件
2018-11-26 22:10 上傳
元件清單:
元件清單.png (20.11 KB, 下載次數(shù): 57)
下載附件
2018-11-26 22:15 上傳
單片機(jī)源程序:
源程序.png (71.99 KB, 下載次數(shù): 55)
下載附件
2018-11-26 22:17 上傳
全部資料51hei下載地址:
程序_74HC595_test_OK.rar
(74.56 KB, 下載次數(shù): 28)
2018-11-26 22:32 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
基于STC單片機(jī)的光立方使用說明.docx
(2.56 MB, 下載次數(shù): 16)
2018-11-26 22:31 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
mt10光立方使用說明.pdf
(1.7 MB, 下載次數(shù): 20)
2018-11-26 22:32 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
作者: free_sky 時(shí)間: 2018-11-27 15:10
很詳細(xì),學(xué)習(xí)了.
作者: zyc123. 時(shí)間: 2020-7-7 19:29
有沒有層共陽的程序啊
歡迎光臨 (http://www.torrancerestoration.com/bbs/) |
Powered by Discuz! X3.1 |