基于單片機控制LED搖搖棒的解決方案
2.2 軟件設計流程圖
通過軟件設計思想的分析,得到該系統的主程序流程如圖3所示。

系統開始運行,首先初始化整個系統,然后等待外部中斷。當用手搖動到指定位置時,由滾珠開關觸發外部中斷,系統接收到外部中斷信號后,就傳送數據,再經過一段延時后開始顯示。顯示完成返回主程序,等待下一個搖動周期的到來。周而復始的晃動,則會顯示出相應的信息。
下面將設計一個LED顯示棒且需要有按鍵進行內容切換,它主要是由中央控制部分,LED驅動部分,LED顯示部分以及電源部分組成,如圖4所示。

單片機將提取的字模進行存儲,當接收到按鍵輸入的指令時單片機就將相應的字模代碼通過I/O口輸出,使LED燈點亮,利用視覺暫留原理最終使圖案完整的顯示在擺動的顯示屏中。
4.1 LED燈的選擇
傳統LED發光二極管。顏色多樣,在可以同樣顯示圖案的前提下使用它更為經濟。
4.2外部中斷信號產生方式
通過外部中斷可以控制數據開始傳輸的時刻。選擇好外部中斷來源是本次制作的難點及重點。使用慣性開關。通過搖晃使得慣性開關的擺桿與焊接的左右兩個觸點接觸,利用這種接觸產生的電平變化來觸發中斷,結合軟件控制顯示,制作簡單,使用方便。 3.抗重影方案的選擇:使用外部中斷控制數據傳輸時刻。外部中斷信號由慣性開關產生,觸發方式為下降沿觸發。慣性開關左右兩邊的觸點分別與單片機兩個外部中斷接口相連,默認為高電平,搖動的擺桿接地。慣性開關處于不同位置進入不同的中斷,從而決定何時送數據。該方案簡單易行,可以保證數據是單程傳輸的,避免了重影。不搖動時把慣性開關處在左邊就可以使LED棒熄滅,可以達到省電的效果。
5 結論
本次將使用單片機對搖動顯示進行實例化,設計一個LED搖動顯示器來顯示文字、圖像等信息。掌握利用8051型單片機對發光二極管陣列進行搖動控制的方法。在設計中通過調試,使用外部中斷讓數據單程傳輸很好的取消了重影。通過改變傳送數據方式,由一個字符接一個字符傳送改為將一組字符一起傳送,傳送結束后再延時等,使顯示的內容在扇形區域內完整的顯示出來,同時也解決了畫面連續出現沒有間斷的問題。













評論