張東輝 劉春東 鄒義龍 陳 龍
(河北建筑工程學院,河北張家口075000)
隨著電子技術的發(fā)展以及單片機應用技術的普及,涌現(xiàn)出各種單片機開發(fā)工具,設計工程師一直在努力縮短新產品的開發(fā)周期,而軟、硬件并行開發(fā)就是一種比較好的方法.并行開發(fā)方法需要多個獨立的軟、硬件開發(fā)小組同時進行軟件、硬件設計.當原型硬件和嵌入式代碼的主要部分實現(xiàn)后,就可以在系統(tǒng)整合階段將硬件與軟件合并起來并開始測試工作.在系統(tǒng)整合時經常會發(fā)生嚴重的問題,有些問題甚至會導致軟件或硬件的重新設計.所以,人們需要找到更好的方法來解決這些問題.采用Proteus進行虛擬仿真是解決這類問題的一個絕好的辦法.
Proteus軟件已有20多年的歷史,是英國Labcenter electronics公司開發(fā)的目前世界上最先進、最完整的嵌入式系統(tǒng)設計與仿真平臺軟件[1].它運行于Windows操作系統(tǒng)上,是一種低投資的電子設計自動化軟件,提供Schematic Drawing、SPICE仿真與PCB設計功能,是目前最好的模擬單片機及其外圍器件的工具,可以仿真51系列、AVR,PIC等常用的MCU及其外圍電路(如RAM,ROM,鍵盤,馬達,LED,LCD,A/D、D/A器件、示波器等),這些都可以直接用于虛擬仿真,極大地提高了應用系統(tǒng)的設計效率[2].
Keil是德國開發(fā)的一個51單片機開發(fā)軟件平臺,支持匯編語言和C語言等高級語言[2].Keil集成開發(fā)環(huán)境是基于32位的windows環(huán)境,它是以高效率的C語言或匯編語言為基礎的開發(fā)平臺,具備強大的軟件仿真功能[3].目前,Keil公司推出的C51編譯器已被完全集成到一個功能強大的全新集成開發(fā)環(huán)境Vision 3中,包括項目管理、程序編譯和連接定位等,并且可以與Proteus原理圖進行聯(lián)機仿真,為單片機的開發(fā)帶來極大的方便.
Proteus與Keil軟件的聯(lián)合仿真研究就是建立一個軟硬件聯(lián)合仿真系統(tǒng)的過程.硬件系統(tǒng)仿真部分由Proteus ISIS軟件實現(xiàn),利用ISIS繪制電路原理圖,選擇好所需要的電路元器件并進行聯(lián)接,軟件仿真是由Keil軟件實現(xiàn)的.程序在Keil仿真平臺運行無誤并生成測試程序(以hex為后綴的程序文件).軟件環(huán)境和硬件環(huán)境都有自己的糾錯和控制界面,在Proteus設計的電路原理圖界面,調入已經生成的測試文件,從而可以實現(xiàn)系統(tǒng)的總調,并可以直觀的觀察到仿真結果.
現(xiàn)在很多文娛活動中都會有搶答這一項,需要用到搶答器.在目前的市場上,普通搶答器都需要幾百塊,價格比較昂貴.本項目設計的搶答器電路簡單、成本較低、操作方便、靈敏可靠,具有較高的推廣價值.本文以八路搶答器為例,介紹了基于Proteus的硬件電路設計、基于Keil的軟件設計以及軟硬件的聯(lián)合仿真.通過仿真,得到了滿意的效果.
利用Proteus的ISIS繪制原理圖.八路搶答器由單片機、復位電路、電源電路、選手按鍵、主持人按鍵、聲音提示和數(shù)碼顯示等部分組成,單片機采用內部時鐘方式,P1口接8個選手按鍵,并進行標號區(qū)別,P3口接LED數(shù)碼管,采用共陰極數(shù)碼管,P2口接蜂鳴器電路和主持人按鍵.原理圖設計如圖1所示.
搶答器的功能比較簡單,故采用匯編語言進行程序設計.利用Keil進行程序設計并進行仿真,生成hex測試文件,如圖2所示.編譯信息顯示,程序沒有錯誤.可以將生成的hex文件導入Proteus,進行聯(lián)合調試.
軟硬件聯(lián)合仿真調試,也就是將Keil生成的測試文件導入到單片機中去,觀察單片機的外圍器件在單片機控制下的動作結果.
首先,在Proteus ISIS原理圖界面,雙擊單片機,將所需文件導入單片機,如圖3所示.
其次,運行程序,開始仿真.當沒有開始搶答的時候,數(shù)碼管顯示為F,為初始狀態(tài),如圖4所示.當主持人按下按鍵后,開始搶答,若有選手按搶答按鈕,編號立即鎖存,并在數(shù)碼管上顯示選手的編號,同時伴隨聲音提示.此外,要封鎖輸入電路,禁止其他選手搶答,最先搶答選手的編號一直保持到主持人將系統(tǒng)復位.圖5為搶答開始后,8號選手先按下按鍵,數(shù)碼管顯示相應的選手編號.圖6為下一輪搶答開始后2號選手搶答的結果顯示.
通過以上仿真過程,可以看出,利用Proteus進行單片機設計,可以直觀地觀察到系統(tǒng)仿真控制效果,為單片機的開發(fā)帶來極大的方便.Proteus ISIS以其特有的虛擬仿真技術很好的解決了單片機及其外圍電路的設計和協(xié)同仿真問題,可以在沒有單片機實際硬件的條件下,利用PC進行虛擬仿真實現(xiàn)單片機的軟、硬件協(xié)同設計,仿真結果可以直接用于真實設計,極大的提高了單片機應用系統(tǒng)的設計效率.采用Proteus虛擬仿真技術,可以在原理圖設計階段對系統(tǒng)性能進行評估,驗證所設計電路是否達到技術指標要求,使設計過程變得簡單容易,降低了解決問題的成本.
[1]朱清慧,張鳳蕊,翟天嵩,等.Proteus教程——電子線路設計、制版與仿真[M].北京:清華大學出版社,2008:1~2
[2]孫凌燕,黃允千.Proteus與Keil軟件的整合在單片機實驗開發(fā)中的應用[J].實驗室研究與探索,2008,27(4)
[3]范磊,張祖立,崔玉潔.基于Proteus與Keil的采摘機械手控制系統(tǒng)仿真[J].農機化研究2007,12