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