呂倩 王梓同 李金虎



摘要:MSP430系列單片機被稱為混合信號處理器,具有處理能力強、運算速度快、超低功耗等特點,現已廣泛應用于各種領域。本文利用MSP430單片機和Proteus軟件對轉彎燈系統進行設計。通過Proteus軟件的仿真,系統的穩定性和正確性得到驗證,且具有較強的應用價值。
關鍵詞:MSP430
Proteus 單片機 轉彎燈
1.引言
單片機作為計算機發展的一個重要分支領域,憑借其強大的控制功能和靈活的編程實現特性,得到了廣泛的應用。本文設計的電路除了能實現由兩個開關分別控制左右轉彎燈亮外,還能增加了雙跳開關,增強了系統的實用性。
2.設計方案
考慮到系統功能的實現,本文選擇Pl.0和Pl.l作為輸出端口控制兩盞LED燈,低電平點亮;選擇P1.5~P1.7作為輸入端口,由外部連接的三個按鈕分別控制,三個按鈕都是按下即輸入高電平信號;選擇P2和P3分別控制數碼管的段選和位選,電路原理圖如圖1所示。
3.軟件實現
3.1端口初始化
3.2轉彎燈設計流程
該系統基本可以確定為循環內嵌套多層判斷的模式。考慮到附加要求中的雙跳燈優先級最高,可以先判斷SW3,接著再考慮SW1和SW2。其中,SW1,SW2同時按下的情況又是第二優先的,最后一級優先才是SW1與SW2分別控制LED1,LED2(即左拐與右拐燈),系統流程圖如圖2所示。
3.3程序實現
首先,初始化端口。
其次,在外部設置循環以實現長效性,并于循環內檢測外部按鈕輸入狀態。
最后,利用Switch Case語句實現不同外部按鈕輸入的狀況下,兩燈閃滅狀態控制,循環往復,實時監測與控制,以實現任務目的。
3.4 LED閃爍功能設計
首先,在主函數前編寫延時函數void delayms(uint t),利用循環遞減,該函數可以實現延時效果,程序段如圖3所示。
其次,在主函數循環內Switch Case語句每一個Case實現中,完成輸出高電平和低電平這兩個狀態的延時及跳變,即控制外部LED實現一次閃爍。
最后,在外部循環的往復下,實現LED的不停閃爍,直到外部按鍵狀態改變,程序段如圖4所示。
4.問題解決
問題:生成.hex文件的方法有錯誤
解決辦法:在Project-Options-Linker-Output-Output file中勾選Override default。并將后綴改為.hex,這樣生成的.hex文件系統會報錯。其實應該是在Linker-Extra Output-Output file中勾選Override default,并將后綴改為.hex,并在Format中選intel-extended。
5.總結
本文設計的轉彎燈不僅能實現由按鍵分別控制的左右燈亮的功能還可以雙跳本文中的轉彎燈控制系統具有良好的正確性和穩定性,可應用于生活的中的多種領域,很容易根據實際需求生成不同的智能化產品。因此,該系統具有較強的應用價值。
參考文獻
[1]王海燕,楊艷華.Proteus和Keil軟件在單片機實驗教學中的應用[J].實驗室研究與探索,2012,31(05):88-91.
[2]王自珍,殳國華,張士文,基于計算機仿真技術的MSP430單片機實驗教學實例[J],實驗室研究與探索,2 013,32(09):94-97.
[3]楊平,王威.MSP430系列超低功耗單片機及應用[J],國外電子測量術,2008,27(12):48-50.
[4]羅琴,基于MSP430單片機的智能熱量表的研究[D].南昌大學,2007.
[5]汪燁.基于MSP430單片機地下車庫通風控制系統設計[D],上海交通大學,2008.
[6]吳平,龔彬,丁鐵夫.液晶顯示模塊和MSP430單片機在顯示終端上的應用[J].液晶與顯示,2003(06):436-440.