Proteus 仿真軟件在單片機設計中的應用
1.引言
本文引用地址:http://dyxdggzs.com/article/79090.htm單片機在很多產(chǎn)品中得到廣泛的應用,無(wú)論是51 系列、AVR、還是PIC 系列,他們各有各的特點(diǎn),學(xué)習者也是逐年增加,但是在學(xué)習開(kāi)發(fā)過(guò)程中,我們往往在確定方案后做試驗的開(kāi)支往往比較大,尤其是對于一些學(xué)生或者初學(xué)者這就可能成為他們學(xué)習的障礙。在我們使用Proteus 軟件以來(lái)大大節省了時(shí)間和開(kāi)發(fā)費。尤其將此軟件用在單片機開(kāi)發(fā)中是一個(gè)不錯的選擇。我們這里主要講述的是Proteus 軟件與Keil 軟件的結合與應用。
2.Protues 軟件介紹與應用
2.1 Protues 軟件介紹
Proteus 是目前最好的模擬單片機外圍器件的工具,它可以仿真51 系列、AVR,PIC 等常用的MCU 及其外圍電路(如LCD,RAM,ROM,鍵盤(pán),馬達,LED,AD/DA,部分SPI 器件,部分IIC 器件...)。本文章基于ProteusPRO6.7SP3和KEIL uVision3 軟件。當然,軟件仿真精度有限,而且不可能所有的器件都找得到相應的仿真模型,用開(kāi)發(fā)板和仿真器當然是最好選擇,可是對于單片機愛(ài)好者,或者簡(jiǎn)單的開(kāi)發(fā)應該是比較好的選擇。Proteus 與其它單片機仿真軟件不同的是,它不僅能仿真單片機CPU 的工作情況,也能仿真單片機外圍電路或沒(méi)有單片機參與的其它電路的工作情況。因此在仿真和程序調試時(shí),關(guān)心的不再是某些語(yǔ)句執行時(shí)單片機寄存器和存儲器內容的改變,而是從工程的角度直接看程序運行和電路工作的過(guò)程和結果。對于這樣的仿真實(shí)驗,從某種意義上講,是彌補了實(shí)驗和工程應用間脫節的矛盾和現象。
2.2 Protues 軟件與Keil uVision 的結合
對于初次使用Protues 軟件的人可能還不知道如何設置,現在把設置步驟簡(jiǎn)介如下,僅供參考(本文章只討論在單機上結合,在兩個(gè)聯(lián)網(wǎng)機器使用由于篇幅限制不在此討論):設置步驟如下:
(1) 把proteus 安裝目錄下 VDM51.dll ( C:ProgramFilesLabcenterElectronicsProteus6ProfessionalMODELS)文件復制到Keil 安裝目錄的 C51BIN 目錄中;(2) 編輯C51 里tools.ini 文件, 加入:TDRV1=BINVDM51.DLL("PROTEUS VSM MONITOR-51 DRIVER");(3)Keil uVision 里設置: project-->options forproject-->debug tab;(4) 選中use proteus VSM monitor 51( 如果想用兩臺電腦仿真,雙擊setting,輸入IP 地址 或者DNS name);(5) 載入proteus 文件;(6)proteus 里選擇DEBUG-->use remote debug monitor;進(jìn)入KEIL 的project 菜單option for target '工程名'。在DEBUG 選項中右欄上部的下拉菜選中 Proteus VSMMonitor-51 Driver。 在進(jìn)入seting,如果同一臺機IP 名為127.0.0.1,如不是同一臺機則填另一 臺的IP 地址。端口號一定為8000 注意:可以在一臺機器上運行keil,另一臺中運行proteus 進(jìn)行遠程仿真.(7)打開(kāi)KEIL uVision, 按F5 開(kāi)始仿真.
2.3 proteus 的工作過(guò)程
運行proteus 的ISIS 程序后,進(jìn)入該仿真軟件的主界面。在工作前,要設置view 菜單下的捕捉對齊和system 下的顏色、圖形界面大小等項目。通過(guò)工具欄中的p(從庫中選擇元件命令)命令,在pick devices 窗口中選擇電路所需的元件,放置元件并調整其相對位置,元件參數設置,元器件間連線(xiàn),編寫(xiě)程序;在source 菜單的Define code generation tools 菜單命令下,選擇程序編譯的工具、路徑、擴展名等項目;在source菜單的Add/remove source files 命令下,加入單片機硬件電路的對應程序;通過(guò)debug 菜單的相應命令仿真程序和電路的運行情況。Proteus 軟件所提供了30 多個(gè)元件庫,數千種元件。元件涉及到數字和模擬、交流和直流等。
2.4 Proteus 軟件所提供的調試手段
Proteus 提供了比較豐富的測試信號用于電路的測試。這些測試信號包括模擬信號和數字信號。對于單片機硬件電路和軟件的調試,Proteus 提供了兩種方法:一種是系統總體執行效果,一種是對軟件的分步調 試以看具體的執行情況。對于總體執行效果的調試方法,只需要執行debug 菜單下的execute 菜單項或F12 快捷鍵啟動(dòng)執行,用debug 菜單下的pause animation 菜單項或pause 鍵暫停系統的運行;或用debug 菜單下的stop animation 菜單項或shift-break 組合鍵停止系統的運行。其運行方式也可以選擇工具欄中的相應工具進(jìn)行。對于軟件的分步調試, 應先執行debug 菜單下的start/restart debugging 菜單項命令,此時(shí)可以選擇stepover 、step into 和 step out 命令執行程序(可以用快捷鍵F10、F11 和ctrl+F11),執行的效果是單句執行、進(jìn)入子程序執行和跳出子程序執行。在執行了start / restart debuging命令后,在debug 菜單的下面要出現仿真中所涉及到的軟件列表和單片機的系統資源等,可供調試時(shí)分析和查看。
2.5 Proteus 和KEIL uVision3 軟件結合實(shí)例
(1)通過(guò)Proteus 畫(huà)原理圖:(圖1)

(2)在K
eil uVision 軟件別寫(xiě)程序:
#i nclude
#i nclude
void delayms(unsigned char ms)// 延時(shí)子程序
{unsigned char i;
while(ms--)
{for(i = 0; i < 120; i++);}
}
main()
{unsigned char LED;
LED = 0xfe;
P0 = LED;
while(1)
{delayms(250);
LED = _crol_(LED,1);//循環(huán)右移1 位,點(diǎn)亮下一個(gè)LED
P0 = LED;
} }
(3)對Proteus 和Keil uVision 軟件的設置:(參考2.2 Protues 軟件與Keil uVision 的結合章節)(4)運行程序,運行結果如下(圖2):實(shí)現流水燈功能

3.總結
Proteus 不僅可以作為學(xué)校單片機(電子等)實(shí)驗的模擬仿真,也可以作為個(gè)人工作室的仿真實(shí)驗。作為電子技術(shù)或控制類(lèi)相關(guān)專(zhuān)業(yè)的學(xué)生和工程技術(shù)人員,在學(xué)習了該軟件后,可以充分地利用它所提供的資源,幫助自己提高工程應用能力。在教學(xué)中利用該軟件,除了能教單片機的具體課程內容外,還可以教會(huì )學(xué)生應用該工具的能力,為今后的工作打下基礎。歡迎大家對本文章提出意見(jiàn),如有問(wèn)題請咨詢(xún)我們。
單片機相關(guān)文章:單片機教程
單片機相關(guān)文章:單片機視頻教程
單片機相關(guān)文章:單片機工作原理
評論