基于單片機的LED 搖搖棒的研究
在proteus 下仿真調試的時(shí)候,給定的電源VCC 為5V,實(shí)際使用時(shí)用3 節干電池串聯(lián)4.5V 即可。
2 系統軟件設計
2.1 軟件設計思想
在搖動(dòng)LED 棒的時(shí)候單片機必須單程傳送數據,否則顯示的圖形會(huì )產(chǎn)生重影,影響視覺(jué)效果。因此當系統開(kāi)始工作后通過(guò)滾珠開(kāi)關(guān)的位置來(lái)使單片機實(shí)現單程傳送數據給LED.如果滾珠開(kāi)關(guān)位于右邊,則進(jìn)入外部中斷1 并將一變量置1,在變量為1期間讓單片機以一定的頻率將數據傳送給LED.如果滾珠開(kāi)關(guān)位于左邊,則進(jìn)入外部中斷0 并將變量置0.在這期間單片機不會(huì )傳送數據給LED.在送數據時(shí),數據送完后應延時(shí)一段時(shí)間來(lái)使搖動(dòng)時(shí)顯示的每個(gè)字不會(huì )太擁擠,之后再立刻熄滅LED 并開(kāi)始重新判斷滾珠開(kāi)關(guān)的位置。
2.2 軟件設計流程圖
通過(guò)軟件設計思想的分析,得到該系統的主程序流程如圖3所示。

系統開(kāi)始運行,首先初始化整個(gè)系統,然后等待外部中斷。當用手搖動(dòng)到指定位置時(shí),由滾珠開(kāi)關(guān)觸發(fā)外部中斷,系統接收到外部中斷信號后,就傳送數據,再經(jīng)過(guò)一段延時(shí)后開(kāi)始顯示。顯示完成返回主程序,等待下一個(gè)搖動(dòng)周期的到來(lái)。周而復始的晃動(dòng),則會(huì )顯示出相應的信息。
3 結論
在設計中通過(guò)調試,使用外部中斷讓數據單程傳輸很好的取消了重影。通過(guò)改變傳送數據方式:由一個(gè)字符接一個(gè)字符傳送改為將一組字符一起傳送,傳送結束后再延時(shí)等,使顯示的內容在扇形區域內完整的顯示出來(lái),同時(shí)也解決了畫(huà)面連續出現沒(méi)有間斷的問(wèn)題。所以得出,只要控制好數據傳輸方式以及每次傳輸數據間的延時(shí)就可以實(shí)現多種數據的顯示方法。整個(gè)系統達到了預期的目的,結構簡(jiǎn)單,趣味性好。經(jīng)過(guò)繼續研究可以應用到LED廣告等行業(yè)中。
評論