Proteus軟件的仿真調試方法


共有3種調試方法,分別是:

  1. 直接用擴展名為HEX的十六進制文件調試;
  2. 源代碼級調試;
  3. Keil與Proteus聯合調試。

第一種方法比較簡捷,不論是用匯編語言,還是用C語言,都要在Keil下,連接編譯成擴展名為HEX的十六進制文件。之后把該HEX文件載入單片機,就可直接仿真運行。只要Proteus電路原理圖正確,與之配套的程序也正確,它就能運行。其缺點是運行時看不到源程序。第二種方法是源代碼級調試,分匯編語言方式和C語言方式。調試時都可以看到源代碼,也可用全速運行、單步運行等方法執行程序。第三種方法是Keil與Pro-teus聯合調試,在Keil 中執行程序,在Proteus原理圖中顯示變化情況,兩種軟件各負其責,分工合作。以下逐一介紹這3種調試方法。

1直接用擴展名為HEX的十六進制文件調試

這種直接裝入HEX文件的方法,有全速運行方法,和單步運行方法。方法是:不單擊開始仿真按鈕,而是單擊單步仿真按鈕,系統會進入單步運行狀態。

2源代碼級調試

1).匯編語言方式源代碼級調試

2).C51語言方式源代碼調試

在源代碼級調試C51語言程序,需要先把C51語言編譯生成OMF51格式的可執行文件。

OMF51格式文件,英文是“absolute object module format files”,意指絕對目標文件。人們常用的HEX十六進制文件沒有包含足夠的信息,不允許進行單步調試。而OMF51格式文件包含所有的指令和調試信息,允許實現全速、單步、設置斷點、觀察變量等調試功能。OMF51格式是Keil所支持的。

1)在Keil中生成OMF51格式的文件。生成OMF51格式文件的過程是這樣的:

​ ① 在Keil中打開工程項目文件。

​ ② 選中“Target 1”,然后單擊鼠標右鍵,在彈出的快捷菜單中選擇“Options for Target ‘Target 1’ ”。

​ ③ 在新打開的對話框中選擇“Output”選項卡,並完成如圖所示的設置。

2)OMF51格式文件的應用。

​ ①在原理圖的單片機上雙擊鼠標左鍵,在彈出的“編輯元件”對話框內的“Program File”文本框中要添加剛才生成的OMF51格式的文件。

​ ②在原理圖中,單擊運行仿真按鈕[插圖],系統會啟動仿真,流水燈點亮,仿真開始后,單擊暫停按鈕,程序暫時停止運行,然后調出調試窗口。

​ ③在C語言的源代碼窗口中,右上角的6個圖標依次是“全速”、“單步”、“進入函數”、“跳出函數”、“執行到光標處”、“設置/取消斷點”。

3Keil與Proteus聯合調試

1)Keil C與Proteus聯合調試的准備工作

(1)安裝Keil 與Proteus軟件.

(2)安裝Keil 與Proteus軟件的鏈接文件vdmagdi.exe。

(3)啟動Proteus,打開要仿真的工程文件,配置Proteus軟件。單擊菜單“調試”,選中“使用遠程調試監控”。

(4)調出編輯AT89C51屬性的對話框,將其程序文件設置為空。程序文件設置為空意味着Proteus原理圖的控制權全交給C51程序了。至此,Proteus軟件的准備工作已完成。

(5)在Keil中打開工程項目文件。

(6)選中“Target 1”,然后單擊鼠標右鍵,在彈出的快捷菜單中選擇“Options for Tar-get ‘Target 1’ ”。

(7)在新打開的對話框中選擇“Debug”選項卡,並完成設置:這里需要改動的地方是,將“Use”單選按鈕選中,將其后的內容選擇為“Proteus VSM Simulator”。單擊圖中的“Settings”按鈕,它是IP地址設定按鈕,出現另一對話框,單擊“OK”按鈕,又回到Debug對話框。再將“Load Application atSta”和“Go till main”兩個復選框選中,單擊“確定”按鈕退出。

2)Keil C與Proteus聯合調試。

(1)雙擊Proteus文件,打開仿真電路原理圖,在“調試”菜單中選中“使用遠程調試監控”。調出編輯AT89C51屬性的對話框,將其程序文件設置為空。

(2)在Keil中打開工程項目文件。將工程全部重新編譯,在程序沒有錯誤的情況下,編譯完成之后進入Keil調試系統,同時Proteus中的仿真功能也已啟動,等待執行指令。

(3)在Keil調試系統初始啟動調試界面的代碼窗口為匯編、C51和機器碼的混合體,這對調試程序很不方便,需要調出源代碼窗口。方法是:單擊“View”→“Dis-assembly Window”,就變成C51代碼窗口了。


注意:一定要先在Proteus界面的“調試”菜單中選中“使用遠程調試監控”,不然在Keil中調試時會打開其他原理圖文件。


(4)如果要全速運行,在清除所有斷點的前提下,按F5功能鍵,程序會全速運行。

(5)如果要觀察每步的運行情況,可以按F11和F10功能鍵,其中F11是單步運行鍵, F10是跳出函數鍵。單步運行時,執行延時程序按F10,執行其他指令按F11,如果不這樣,會陷進延時程序一時無法出來。

(6)還有個運行方式是“運行到光標處”,先要把光標放到正執行程序后的某一行,然后單擊“運行到光標處”圖標,程序就會執行到該光標處停下來。

(7)在Proteus原理圖仿真畫面中,也可讓寄存器窗口、特殊寄存器窗口和內部存儲器窗口出現,即打開“8051 CPU Registers U1”、“8051CPU SFR Memory U1”和“8051 CPU Internal(IDATA)MemoryU1”3個窗口。

(8)要停止仿真時,選擇“Debug”→“Start /Restart DebugSession”,停止調試。

(9)要重新開始仿真,仍選擇“Debug”→“Start /Restart DebugSession”,又重新進入仿真調試狀態。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM