Proteus 仿真軟件在單片機設計中的應用
1.引言
本文引用地址:http://butianyuan.cn/article/79090.htm單片機在很多產品中得到廣泛的應用,無論是51 系列、AVR、還是PIC 系列,他們各有各的特點,學習者也是逐年增加,但是在學習開發(fā)過程中,我們往往在確定方案后做試驗的開支往往比較大,尤其是對于一些學生或者初學者這就可能成為他們學習的障礙。在我們使用Proteus 軟件以來大大節(jié)省了時間和開發(fā)費。尤其將此軟件用在單片機開發(fā)中是一個不錯的選擇。我們這里主要講述的是Proteus 軟件與Keil 軟件的結合與應用。
2.Protues 軟件介紹與應用
2.1 Protues 軟件介紹
Proteus 是目前最好的模擬單片機外圍器件的工具,它可以仿真51 系列、AVR,PIC 等常用的MCU 及其外圍電路(如LCD,RAM,ROM,鍵盤,馬達,LED,AD/DA,部分SPI 器件,部分IIC 器件...)。本文章基于ProteusPRO6.7SP3和KEIL uVision3 軟件。當然,軟件仿真精度有限,而且不可能所有的器件都找得到相應的仿真模型,用開發(fā)板和仿真器當然是最好選擇,可是對于單片機愛好者,或者簡單的開發(fā)應該是比較好的選擇。Proteus 與其它單片機仿真軟件不同的是,它不僅能仿真單片機CPU 的工作情況,也能仿真單片機外圍電路或沒有單片機參與的其它電路的工作情況。因此在仿真和程序調試時,關心的不再是某些語句執(zhí)行時單片機寄存器和存儲器內容的改變,而是從工程的角度直接看程序運行和電路工作的過程和結果。對于這樣的仿真實驗,從某種意義上講,是彌補了實驗和工程應用間脫節(jié)的矛盾和現象。
2.2 Protues 軟件與Keil uVision 的結合
對于初次使用Protues 軟件的人可能還不知道如何設置,現在把設置步驟簡介如下,僅供參考(本文章只討論在單機上結合,在兩個聯網機器使用由于篇幅限制不在此討論):設置步驟如下:
(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;進入KEIL 的project 菜單option for target '工程名'。在DEBUG 選項中右欄上部的下拉菜選中 Proteus VSMMonitor-51 Driver。 在進入seting,如果同一臺機IP 名為127.0.0.1,如不是同一臺機則填另一 臺的IP 地址。端口號一定為8000 注意:可以在一臺機器上運行keil,另一臺中運行proteus 進行遠程仿真.(7)打開KEIL uVision, 按F5 開始仿真.
2.3 proteus 的工作過程
運行proteus 的ISIS 程序后,進入該仿真軟件的主界面。在工作前,要設置view 菜單下的捕捉對齊和system 下的顏色、圖形界面大小等項目。通過工具欄中的p(從庫中選擇元件命令)命令,在pick devices 窗口中選擇電路所需的元件,放置元件并調整其相對位置,元件參數設置,元器件間連線,編寫程序;在source 菜單的Define code generation tools 菜單命令下,選擇程序編譯的工具、路徑、擴展名等項目;在source菜單的Add/remove source files 命令下,加入單片機硬件電路的對應程序;通過debug 菜單的相應命令仿真程序和電路的運行情況。Proteus 軟件所提供了30 多個元件庫,數千種元件。元件涉及到數字和模擬、交流和直流等。
2.4 Proteus 軟件所提供的調試手段
Proteus 提供了比較豐富的測試信號用于電路的測試。這些測試信號包括模擬信號和數字信號。對于單片機硬件電路和軟件的調試,Proteus 提供了兩種方法:一種是系統(tǒng)總體執(zhí)行效果,一種是對軟件的分步調 試以看具體的執(zhí)行情況。對于總體執(zhí)行效果的調試方法,只需要執(zhí)行debug 菜單下的execute 菜單項或F12 快捷鍵啟動執(zhí)行,用debug 菜單下的pause animation 菜單項或pause 鍵暫停系統(tǒng)的運行;或用debug 菜單下的stop animation 菜單項或shift-break 組合鍵停止系統(tǒng)的運行。其運行方式也可以選擇工具欄中的相應工具進行。對于軟件的分步調試, 應先執(zhí)行debug 菜單下的start/restart debugging 菜單項命令,此時可以選擇stepover 、step into 和 step out 命令執(zhí)行程序(可以用快捷鍵F10、F11 和ctrl+F11),執(zhí)行的效果是單句執(zhí)行、進入子程序執(zhí)行和跳出子程序執(zhí)行。在執(zhí)行了start / restart debuging命令后,在debug 菜單的下面要出現仿真中所涉及到的軟件列表和單片機的系統(tǒng)資源等,可供調試時分析和查看。
2.5 Proteus 和KEIL uVision3 軟件結合實例
(1)通過Proteus 畫原理圖:(圖1)
(2)在K
eil uVision 軟件別寫程序:
#i nclude
#i nclude
void delayms(unsigned char ms)// 延時子程序
{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 位,點亮下一個LED
P0 = LED;
} }
(3)對Proteus 和Keil uVision 軟件的設置:(參考2.2 Protues 軟件與Keil uVision 的結合章節(jié))(4)運行程序,運行結果如下(圖2):實現流水燈功能
3.總結
Proteus 不僅可以作為學校單片機(電子等)實驗的模擬仿真,也可以作為個人工作室的仿真實驗。作為電子技術或控制類相關專業(yè)的學生和工程技術人員,在學習了該軟件后,可以充分地利用它所提供的資源,幫助自己提高工程應用能力。在教學中利用該軟件,除了能教單片機的具體課程內容外,還可以教會學生應用該工具的能力,為今后的工作打下基礎。歡迎大家對本文章提出意見,如有問題請咨詢我們。
單片機相關文章:單片機教程
單片機相關文章:單片機視頻教程
單片機相關文章:單片機工作原理
評論