天天看點

keil與proteus聯調及仿真調試

keil與proteus聯調方法如下

1.把VDM51.dll(沒有的請到網上下載下傳) 複制到proteus安裝目錄的MODELS檔案夾下,

我的是C:\Program Files\Labcenter Electronics\Proteus 7Professional\MODELS\目錄下,

再複制一個到C:\keilC\C51\BIN目錄下(keil的安裝目錄),

2.修改keil安裝目錄下Tools.ini檔案,在[C51]字段加入

TDRV9=BIN\VDM51.DLL ("Proteus VSM Monitor-51 Driver"),并儲存。

注意:不一定要用TDRV8,根據原來字段選用一個不重複的數值,如“TDRV10”也可以。

keil與proteus聯調及仿真調試

Tools.ini檔案截圖

3.打開proteus,畫出相應電路原理圖。在proteus的Debug菜單中

選中“use remote debug monitor”。(英文菜單)

keil與proteus聯調及仿真調試

4.進入KEIL的project菜單option for target '工程名'。在DEBUG選項中

右欄上部的下拉菜選中 Proteus VSM Monitor-51 Driver。在進入seting,

如果用同一台機IP名為127.0.0.1,如不是同一台機調試則填另一台的IP位址。

端口号一定為8000。注意:可以實作在一台機器上運作keil,另一台中運作

proteus進行遠端仿真調試的。

注意:8000端口可能會和酷狗的下載下傳端口沖突,此時修改酷狗下載下傳端口。

keil與proteus聯調及仿真調試
keil與proteus聯調及仿真調試

5.在proteus中選擇Debug,“Start/Restart Debugging”,如果在KEIL的OutputWindow的視窗中出現“VDM51 target initialized.”說明Proteus連接配接成功了;在keil中進行debug,如進行單步、斷點等;同時在proteus中檢視調試的結果。





Keil5基本的仿真調試操作:

首先點選魔法棒

keil與proteus聯調及仿真調試

然後輸入你闆子上所用的晶振,然後進入debug:

keil與proteus聯調及仿真調試

然後選擇 Use Simulator,然後點選OK:

keil與proteus聯調及仿真調試

然後點選調試按鈕:

keil與proteus聯調及仿真調試

然後就會出現調試頁面:

keil與proteus聯調及仿真調試

我這裡是已經把彙編視窗給挪到右側了,你第一次打開可能是在螢幕的上側,你隻需要用滑鼠點住你需要移動的視窗,然後拖到你想讓他去的位置就行了。

仿真調試頁面最左邊顯示的是單片機内部的一些寄存器的目前值和系統資訊,右邊是keil将C語言轉換成彙編的代碼,中間就是我們編寫的C程式了。

在C語言和彙編語言視窗都有一個黃色的箭頭,這個箭頭代表的就是程式目前運作的位置。

在調試頁面上方的工具欄中,有幾個按鈕:

keil與proteus聯調及仿真調試

第一個标有RST字樣的是複位,單擊之後,程式就會跑到最開始的位置運作;緊接着第二個按鈕是全速運作,單擊之後程式就會全速跑起來;再然後第三個按鈕是停止按鈕,當程式全速運作起來時候,單擊停止按鈕程式就會立即停止,可以觀察程式運作到哪裡去了。

單擊複位之後,可以看到C語言程式的視窗左側有灰色或者保持着原來的顔色,其中有灰色的地方是我們可以設定斷點的地方,至于為啥有些地方不能設定斷點呢,主要是因為keil具有程式優化的功能,如果我們想在任何地方都可以設定斷點的話,我們需要更改工程選項裡的優化等級,把等級設定為0即可,即高速keil不要對程式進行優化。其他的按鈕就是關于子函數或者循環是否進入的操作了,具體自己可以試試看。

在最左側的框内,sec顯示的就是單片機運作了多長時間:

keil與proteus聯調及仿真調試

通過設定斷點和檢視sec可以計算出軟體延時的大概時間。

如果我們想檢視某一個變量或者寄存器的值的話,我們可以點選view:

keil與proteus聯調及仿真調試

這樣在下面的視窗就會出現watch頁面,在裡面的name選項裡面輸入你想要檢視的變量的名字或者寄存器的名字,随着程式的運作,我們就可以實時看到他們的值的變化:

keil與proteus聯調及仿真調試

繼續閱讀