新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于單片機控制LED搖搖棒的解決方案

        基于單片機控制LED搖搖棒的解決方案

        作者: 時間:2013-10-08 來源:網絡 收藏

          本為開發套件,全部采用直插的器件。顯示的采用了5mm超高亮30度聚光發光二極管,共32只。控制芯片采用宏晶單片機STC11F03E,其內部有3K的程序存儲空間,256字節的數據存儲空間,另外其內部還有2K的EEPROM空間。設計可以通過串口,把下載的畫面數據到內部的EEPROM,掉電后,也不會丟失。

          本文通過研究利用事先編好程序來控制16個發光二極管,并配合左右手的搖晃來顯示字符和簡易圖形的電子裝置(簡稱為“”),設計并制作一個依靠搖動能顯示字符、圖形的 顯示棒。此裝置利用AT89C51單片機對發光二極管陣列進行控制。用滾珠開關檢測當前搖動狀態,16個發光二極管進行不同頻率的亮滅刷新,則只要搖動就可以可顯示輸出文字及圖案等信息,從而達到在該視覺平面上傳達信息的作用。

          1 硬件系統的組成

          本設計的簡單有趣的LED,它是基于的電子裝置。具有按鍵進行畫面切換和消除重影等功能,能使畫面清晰顯示出來。它主要由部分,LED驅動部分,LED顯示部分組成,其硬件組成框圖如圖1 所示。

          

          1.1 按鍵模塊

          本設計中通過一個畫面切換開關對顯示的內容進行切換。在設計中通過滾珠開關來控制搖搖棒只能向一邊搖動時顯示信息,否則會出現鏡像字或鏡像畫面,也就是重影的現象。可選的搖動控制開關有水銀開關和滾珠開關兩種。水銀開關穩定性較高,但安全性較差。滾珠開關雖然穩定性稍差,但不容易被打破,安全度很高。考慮到實際應用環境,故選用滾珠開關作為系統的搖動控制,由滾珠開關帶來的不穩定性可以通過軟件進行彌補。手動復位開關的功能是控制系統的啟停。

          1.2 控制部分

          單片機最小系統作為整個系統的控制核心,它主要負責控制二極管的亮滅及顯示狀態。通過單片機的軟件編程及外部中斷,來控制搖搖棒的顯示效果。

          1.3 LED 顯示模塊

          此設計中根據LED點陣的顯示原理來設計顯示部分。點陣的顯示分為行掃描與列掃描兩種,列掃描是將字模數組通過點陣屏的行驅動進行輸入,然后通過列對每一行進行掃描,當列為低(高)電平、行為高(低)電平時則表示該點為圖案的一部分,將其讀出、顯示。而本次設計的LED 顯示棒數據傳輸原理與LED 點陣屏相似。可以把LED 顯示棒看成是LED點陣屏中的一列。為了使顯示的圖案清晰,在設計中使用了16 個高亮度LED http://bbs.dianyuan.com/tech/green>管將它們排成一列,整個屏在靜止時也就相當于16 行×1 列。數據傳輸時同樣使用行送數據、列掃描。在擺動過程中,應用人眼的視覺暫留原理,被點亮的列不會很快的消失,而是隨著擺動的方向繼續向前移動,只要移動的速度高于視覺暫留的最短時間顯示內容就不會熄滅,這樣,一幅圖案也就可以這樣被“擺動”出來了。

          根據系統分析,具體的硬件電路連如圖2 所示。在具體制作硬件的時候,將16 個3mm 高亮度紅色的LED排列成整齊的一列。

          

          在proteus 下仿真調試的時候,給定的電源VCC 為5V,實際使用時用3 節干電池串聯4.5V 即可。

          2 系統軟件設計

          2.1 軟件設計思想

          在搖動LED棒的時候單片機必須單程傳送數據,否則顯示的圖形會產生重影,影響視覺效果。因此當系統開始工作后通過滾珠開關的位置來使單片機實現單程傳送數據給LED.如果滾珠開關位于右邊,則進入外部中斷1 并將一變量置1,在變量為1期間讓單片機以一定的頻率將數據傳送給LED.如果滾珠開關位于左邊,則進入外部中斷0 并將變量置0.在這期間單片機不會傳送數據給LED.在送數據時,數據送完后應延時一段時間來使搖動時顯示的每個字不會太擁擠,之后再立刻熄滅LED 并開始重新判斷滾珠開關的位置。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 吴桥县| 桃江县| 卢氏县| 崇礼县| 广元市| 宜宾县| 巴彦淖尔市| 巴东县| 建水县| 临湘市| 韶关市| 绍兴市| 海安县| 青铜峡市| 新野县| 阿拉善左旗| 新和县| 全南县| 达日县| 禹州市| 荔波县| 乡宁县| 乳山市| 安塞县| 同仁县| 汾西县| 铜鼓县| 神农架林区| 会泽县| 迁安市| 历史| 博野县| 巴林右旗| 沧州市| 玛纳斯县| 会东县| 灵川县| 克东县| 杭锦旗| 什邡市| 文登市|