基于單片機控制LED搖搖棒的解決方案
2.2 軟件設計流程圖
通過軟件設計思想的分析,得到該系統(tǒng)的主程序流程如圖3所示。
系統(tǒng)開始運行,首先初始化整個系統(tǒng),然后等待外部中斷。當用手搖動到指定位置時,由滾珠開關觸發(fā)外部中斷,系統(tǒng)接收到外部中斷信號后,就傳送數(shù)據(jù),再經過一段延時后開始顯示。顯示完成返回主程序,等待下一個搖動周期的到來。周而復始的晃動,則會顯示出相應的信息?! ?P> 下面將設計一個LED顯示棒且需要有按鍵進行內容切換,它主要是由中央控制部分,LED驅動部分,LED顯示部分以及電源部分組成,如圖4所示。
單片機將提取的字模進行存儲,當接收到按鍵輸入的指令時單片機就將相應的字模代碼通過I/O口輸出,使LED燈點亮,利用視覺暫留原理最終使圖案完整的顯示在擺動的顯示屏中。
4.1 LED燈的選擇
傳統(tǒng)LED發(fā)光二極管。顏色多樣,在可以同樣顯示圖案的前提下使用它更為經濟。
4.2外部中斷信號產生方式
通過外部中斷可以控制數(shù)據(jù)開始傳輸?shù)臅r刻。選擇好外部中斷來源是本次制作的難點及重點。使用慣性開關。通過搖晃使得慣性開關的擺桿與焊接的左右兩個觸點接觸,利用這種接觸產生的電平變化來觸發(fā)中斷,結合軟件控制顯示,制作簡單,使用方便。 3.抗重影方案的選擇:使用外部中斷控制數(shù)據(jù)傳輸時刻。外部中斷信號由慣性開關產生,觸發(fā)方式為下降沿觸發(fā)。慣性開關左右兩邊的觸點分別與單片機兩個外部中斷接口相連,默認為高電平,搖動的擺桿接地。慣性開關處于不同位置進入不同的中斷,從而決定何時送數(shù)據(jù)。該方案簡單易行,可以保證數(shù)據(jù)是單程傳輸?shù)?,避免了重影。不搖動時把慣性開關處在左邊就可以使LED棒熄滅,可以達到省電的效果。
5 結論
本次將使用單片機對搖動顯示進行實例化,設計一個LED搖動顯示器來顯示文字、圖像等信息。掌握利用8051型單片機對發(fā)光二極管陣列進行搖動控制的方法。在設計中通過調試,使用外部中斷讓數(shù)據(jù)單程傳輸很好的取消了重影。通過改變傳送數(shù)據(jù)方式,由一個字符接一個字符傳送改為將一組字符一起傳送,傳送結束后再延時等,使顯示的內容在扇形區(qū)域內完整的顯示出來,同時也解決了畫面連續(xù)出現(xiàn)沒有間斷的問題。
評論