摘 要:為了實現對無線傳感器網絡的顯示效果,提出了一種基于單片機的Proteus仿真的測試系統設計方案,并完成系統的軟硬件設計。該系統的硬件部分主要采用Proteus虛擬儀器模擬仿真,軟件部分采用單片機c語言進行編程,能夠完成對整個系統的顯示效果仿真。實際應用表明,該仿真電路具有操作簡便、測試準確的特點,達到了系統設計要求。
關鍵詞:無線傳感器網絡;仿真;Proteus;單片機
中圖分類號:TP368.1 文獻標識碼:A 文章編號:1674-7712 (2015) 02-0000-01
傳感器作為人們感官的延伸,在現代社會中得到了越來越廣泛的應用。隨著通信技術、嵌入式技術、傳感器技術的發展,傳感器正逐漸向智能化、微型化、無線網絡化發展。本文以多功能跑馬燈系統為例,使用模塊化設計思路,實現了一個無線傳感器網絡。這種傳感器網絡綜合了嵌入式技術、傳感器技術、短程無線通信技術,多功能跑馬燈可以應用到裝飾當中去裝飾一些東西,更具有吸引力、漂亮。熟悉掌握SPI接口的應用,還有利用SPI對74HC595的控制學會如何編寫具有連發功能的按鍵,如何控制16個LED[1,2]。
一、系統設計分析
多功能跑馬燈的具體要求如下:(1)顯示效果使用16個LED;(2)設置三個按鍵,K1-模式鍵,通過按鍵調整顯示結果,要求有8種模式;K2-加速鍵,提高走馬燈顯示效果的速度;K3-減速鍵,放慢走馬燈的顯示效果速度;(3)8種模式通過一個共陰型數碼管顯示出來,比如,走馬燈的顯示效果為模式一時,數碼管顯示數字“1”。
在電路的連接與安裝當中沒出現什么問題,電路連接好后,下載程序,一切運行正常,LED具有八種顯示模式。分別如下:
模式1:LED從左到右循環點亮,只有一個燈亮。模式2:LED從右到左循環點亮,只有一個燈亮。模式3:LED從左到右,然后從右到左,只有一個燈亮。模式4:一個燈從左到右滅,然后從右到左,循環滅。模式5:LED燈從左到右滅,然后從右到左滅,再接著就是從右到左點亮,從左到右點亮。模式6:四個LED點亮,從左到右,然后從右到左,每次循環到一個燈亮時,就重新循環。模式7:四個LED滅,從左到右,然后從右到左,每次循環到一個燈滅時,就重新循環。模式8:六個LED燈亮,從左到又,到達邊界時立即返回,不停留。
二、總體設計
該系統結構控制器采用51系列單片機,通過按鍵模塊作為輸入端口,對二極管陣列進行操作,同時控制數碼管顯示功能現象。
三、Proteus仿真電路圖
仿真電路多樣化,本系統采用并排發光管陣列,通過總線連接方式布線,是整體看起來美觀大方,效果更加明顯,給視覺上的感覺更加逼真,無需實際器件。在算法效果上達到與實際一致,測試上省時省力。
仿真系統直接加載算法設計程序代碼生成的HEX文件,跟實際運行效果一致,無需多余操作,方便初學者應用。
四、測試系統軟件設計
該測試系統的軟件采用高級語言C編程,編程平臺是keil,keil平臺是目前常見的免費軟件開發平臺。該平臺不僅提供了對C語言及匯編語言的支持,還具有各種測試、通信、控制和數值分析的能力,具有控制功能強大、庫函數豐富、實時性強、編程容易等優點。為了日后的更新、維護與拓展,在設計過程中采用模塊化的思想,整個系統由按鍵模塊、顯示模塊、發光二極管檢測模塊、定時中斷模塊和初始化模塊等組成。
本系統采用89C52單片機設計,主要通過按鍵開關對跑馬燈進行控制,包括跑馬燈模式的選擇、跑馬燈模式的顯示、跑馬燈速度變化控制。
定時器中斷延時程序設計:采用delay()函數進行的延時是不精確的,主要有以下兩個原因。(1)該類型的delay()函數采用的延時是通過對變量進行遞減或遞增實現的,很難計算精確的延時時間;(2)由于跑馬燈的狀態函數和延時函數是和主任務耦合到一起的,因此主任務的執行時間要對延時的時間產生影響。假設一個跑馬燈的延時函數的延時時間是1s,但是由于主函數可能存在不同的分支,因此當主函數執行不同分支程序時,實際的跑馬燈延時時間是不一樣的;(3)系統應用到P0口做I/O口,要接上拉電阻;(4)使用萬用表排查電路中是否存在斷路或者短路情況。筆者在制作外部接口電路時使用的是排針,焊接時容易出現管腳之間短路,所以在上電以前必須先排查電路;(5)編輯一個簡單程序,上電運行,檢查單片機是否正常工作,復位電路是否正確。
如果比較結果不正確,需要檢查修改電路后重新進行檢測。通過實際應用發現,該測試系統測試結果準確、穩定可靠。
五、實驗應用
單片機最小系統電路包括電源、復位電路、外部時鐘震蕩電路、單片機和外部接口電路。調試過程需要注意以下幾點:(1)檢查電源是否完好;(2)單片機電源要連接正確,并且保證單片機的31號引腳接高電平。單片機的31號引腳是外部程序存儲器選擇信號端,當該引腳為高電平時,單片機會一直從片內程序存儲器內取指令;(3)系統應用到P0口做I/O口,要接上拉電阻;(4)使用萬用表排查電路中是否存在斷路或者短路情況。筆者在制作外部接口電路時使用的是排針,焊接時容易出現管腳之間短路,所以在上電以前必須先排查電路;(5)編輯一個簡單程序,上電運行,檢查單片機是否正常工作,復位電路是否正確。
如果比較結果不正確,需要檢查修改電路后重新進行檢測。通過實際應用發現,該測試系統測試結果準確、穩定可靠。
六、結束語
該測試系統采用常見器件為硬件平臺,軟件設計采用模塊化設計思想,提高了系統的可靠性和維護性。該測試系統已用于大型活動裝飾進行測試,實際應用表明該測試系統具有測試準確、穩定可靠、人機界面友好等特點,達到了設計要求。
參考文獻:
[1]肖洪兵.跟我學用單片機[M].北京:北京航空航天大學出版社,2012(08).
[2]彭偉.單片機C語言程序設計實訓100例——基于8051+Proteus仿真[M].北京:電子工業出版社,2012.
[3]趙曉安.MCS-51單片機原理及應用[M].天津:天津大學出版社,2011(03).
[4]李廣第.單片機基礎[M].北京:北京航空航天大學出版社,2009.
[5]徐惠民,安德寧.單片微型計算機原理接口與應用[M].北京:北京郵電大學出版社,2006.
[作者簡介]聶增麗(1985-),女,重慶人,講師,碩士,研究方向:通信技術、無線傳感器網絡。
[基金項目]重慶工程學院2013年校內科研基金項目《最小跳數的無線傳感器網絡能耗均衡路由算法研究》(項目編號:2013xzky07)。