【導(dǎo)讀】LED搖搖棒利用人眼的視覺暫留特性,通過刷新LED發(fā)光二極管,當(dāng)進行搖動時,會在搖動區(qū)域內(nèi)產(chǎn)生圖像。本文設(shè)計的簡單有趣的LED搖搖棒,基于單片機控制,具有按鍵進行畫面切換和消除重影等功能,來看看這款LED搖搖棒是怎么設(shè)計的吧!
搖搖棒本為開發(fā)套件,全部采用直插的器件。顯示的LED采用了5mm超高亮30度聚光發(fā)光二極管,共 32只。控制芯片采用宏晶單片機STC11F03E,其內(nèi)部有3K的程序存儲空間,256字節(jié)的數(shù)據(jù)存儲空間,另外其內(nèi)部還有2K的EEPROM空間。設(shè)計可以通過串口,把下載的畫面數(shù)據(jù)到內(nèi)部的EEPROM,掉電后,也不會丟失。
本文通過研究利用事先編好程序來控制16個LED發(fā)光二極管,并配合左右手的搖晃來顯示字符和簡易圖形的電子裝置(簡稱為“搖搖棒”),設(shè)計并制作一個依靠搖動能顯示字符、圖形的LED 顯示棒。此裝置利用AT89C51單片機對發(fā)光二極管陣列進行控制。用滾珠開關(guān)檢測當(dāng)前搖動狀態(tài),單片機控制16個發(fā)光二極管進行不同頻率的亮滅刷新,只要搖動就可以顯示輸出文字及圖案等信息,從而達到在該視覺平面上傳達信息的作用。
1 LED搖搖棒硬件系統(tǒng)的組成
本次設(shè)計的簡單有趣的LED搖搖棒,它是基于單片機控制的電子裝置。具有按鍵進行畫面切換和消除重影等功能,能使畫面清晰顯示出來。它主要由單片機控制部分,LED驅(qū)動部分,LED顯示部分組成,其硬件組成框圖如圖1 所示。
1.1 LED搖搖棒按鍵模塊
本設(shè)計中通過一個畫面切換開關(guān)對顯示的內(nèi)容進行切換。在設(shè)計中通過滾珠開關(guān)來控制搖搖棒只能向一邊搖動時顯示信息,否則會出現(xiàn)鏡像字或鏡像畫面,也就是重影的現(xiàn)象??蛇x的搖動控制開關(guān)有水銀開關(guān)和滾珠開關(guān)兩種。水銀開關(guān)穩(wěn)定性較高,但安全性較差。滾珠開關(guān)雖然穩(wěn)定性稍差,但不容易被打破,安全度很高。考慮到實際應(yīng)用環(huán)境,故選用滾珠開關(guān)作為系統(tǒng)的搖動控制,由滾珠開關(guān)帶來的不穩(wěn)定性可以通過軟件進行彌補。手動復(fù)位開關(guān)的功能是控制系統(tǒng)的啟停。
1.2 LED搖搖棒控制部分
單片機最小系統(tǒng)作為整個系統(tǒng)的控制核心,它主要負責(zé)控制二極管的亮滅及顯示狀態(tài)。通過單片機的軟件編程及外部中斷,來控制搖搖棒的顯示效果。
1.3 LED 顯示模塊
此設(shè)計中根據(jù)LED點陣的顯示原理來設(shè)計顯示部分。點陣的顯示分為行掃描與列掃描兩種,列掃描是將字模數(shù)組通過點陣屏的行驅(qū)動進行輸入,然后通過列對每一行進行掃描,當(dāng)列為低(高)電平、行為高(低)電平時則表示該點為圖案的一部分,將其讀出、顯示。而本次設(shè)計的LED 顯示棒數(shù)據(jù)傳輸原理與LED 點陣屏相似??梢园袻ED 顯示棒看成是LED點陣屏中的一列。為了使顯示的圖案清晰,在設(shè)計中使用了16 個高亮度LED管將它們排成一列,整個屏在靜止時也就相當(dāng)于16 行×1 列。數(shù)據(jù)傳輸時同樣使用行送數(shù)據(jù)、列掃描。在擺動過程中,應(yīng)用人眼的視覺暫留原理,被點亮的列不會很快的消失,而是隨著擺動的方向繼續(xù)向前移動,只要移動的速度高于視覺暫留的最短時間顯示內(nèi)容就不會熄滅,這樣,一幅圖案也就可以這樣被“擺動”出來了。
[page]
根據(jù)系統(tǒng)分析,具體的硬件電路連如圖2 所示。在具體制作硬件的時候,將16 個3mm 高亮度紅色的LED排列成整齊的一列。
在proteus 下仿真調(diào)試的時候,給定的電源VCC 為5V,實際使用時用3 節(jié)干電池串聯(lián)4.5V 即可。
2 LED搖搖棒系統(tǒng)軟件設(shè)計
2.1 LED搖搖棒軟件設(shè)計思想
在搖動LED棒的時候單片機必須單程傳送數(shù)據(jù),否則顯示的圖形會產(chǎn)生重影,影響視覺效果。因此當(dāng)系統(tǒng)開始工作后通過滾珠開關(guān)的位置來使單片機實現(xiàn)單程傳送數(shù)據(jù)給LED。如果滾珠開關(guān)位于右邊,則進入外部中斷1 并將一變量置1,在變量為1期間讓單片機以一定的頻率將數(shù)據(jù)傳送給LED.如果滾珠開關(guān)位于左邊,則進入外部中斷0 并將變量置0。在這期間單片機不會傳送數(shù)據(jù)給LED.在送數(shù)據(jù)時,數(shù)據(jù)送完后應(yīng)延時一段時間來使搖動時顯示的每個字不會太擁擠,之后再立刻熄滅LED 并開始重新判斷滾珠開關(guān)的位置。
2.2 LED搖搖棒軟件設(shè)計流程圖
通過軟件設(shè)計思想的分析,得到該系統(tǒng)的主程序流程如圖3所示。
系統(tǒng)開始運行,首先初始化整個系統(tǒng),然后等待外部中斷。當(dāng)用手搖動到指定位置時,由滾珠開關(guān)觸發(fā)外部中斷,系統(tǒng)接收到外部中斷信號后,就傳送數(shù)據(jù),再經(jīng)過一段延時后開始顯示。顯示完成返回主程序,等待下一個搖動周期的到來。周而復(fù)始的晃動,則會顯示出相應(yīng)的信息。
[page]
下面將設(shè)計一個LED顯示棒且需要有按鍵進行內(nèi)容切換,它主要是由中央控制部分,LED驅(qū)動部分,LED顯示部分以及電源部分組成,如圖4所示。
圖4:LED搖搖棒組成結(jié)構(gòu)
單片機將提取的字模進行存儲,當(dāng)接收到按鍵輸入的指令時單片機就將相應(yīng)的字模代碼通過I/O口輸出,使LED燈點亮,利用視覺暫留原理最終使圖案完整的顯示在擺動的顯示屏中。
3.1 LED燈的選擇
傳統(tǒng)LED發(fā)光二極管。顏色多樣,在可以同樣顯示圖案的前提下使用它更為經(jīng)濟。
3.2 外部中斷信號產(chǎn)生方式
通過外部中斷可以控制數(shù)據(jù)開始傳輸?shù)臅r刻。選擇好外部中斷來源是本次制作的難點及重點。使用慣性開關(guān)。通過搖晃使得慣性開關(guān)的擺桿與焊接的左右兩個觸點接觸,利用這種接觸產(chǎn)生的電平變化來觸發(fā)中斷,結(jié)合軟件控制顯示,制作簡單,使用方便。 3.抗重影方案的選擇:使用外部中斷控制數(shù)據(jù)傳輸時刻。外部中斷信號由慣性開關(guān)產(chǎn)生,觸發(fā)方式為下降沿觸發(fā)。慣性開關(guān)左右兩邊的觸點分別與單片機兩個外部中斷接口相連,默認(rèn)為高電平,搖動的擺桿接地。慣性開關(guān)處于不同位置進入不同的中斷,從而決定何時送數(shù)據(jù)。該方案簡單易行,可以保證數(shù)據(jù)是單程傳輸?shù)模苊饬酥赜?。不搖動時把慣性開關(guān)處在左邊就可以使LED棒熄滅,可以達到省電的效果。
4 結(jié)論
本次將使用單片機對搖動顯示進行實例化,設(shè)計一個LED搖動顯示器來顯示文字、圖像等信息。掌握利用8051型單片機對發(fā)光二極管陣列進行搖動控制的方法。在設(shè)計中通過調(diào)試,使用外部中斷讓數(shù)據(jù)單程傳輸很好的取消了重影。通過改變傳送數(shù)據(jù)方式,由一個字符接一個字符傳送改為將一組字符一起傳送,傳送結(jié)束后再延時等,使顯示的內(nèi)容在扇形區(qū)域內(nèi)完整的顯示出來,同時也解決了畫面連續(xù)出現(xiàn)沒有間斷的問題。
相關(guān)閱讀:
一款高精度、低成本的LED 老化測試方案
http://m.coahr.cn/opto-art/80021536
保護LED免受EOS損傷的兩大防護方案對比
http://m.coahr.cn/cp-art/80021009
針對LED車前燈和DRL的LED驅(qū)動器設(shè)計方案
http://m.coahr.cn/power-art/80021015
具內(nèi)部PWM調(diào)光信號發(fā)生器的LED調(diào)光設(shè)計
http://m.coahr.cn/power-art/80021047