點擊 File,如圖,選擇 New Project,將出現(xiàn)新建工程向?qū)Р?分,在此可以設(shè)置文件名(Name)和保存路徑(Path)
Proteus8.0 版本自身支持匯編語言,故先以匯編語言為例。 由于前面已經(jīng)設(shè)置過外部代碼編譯器,所以此時工程包含 Source Code(源代碼),如
Proteus8.0 或以上版本自帶源代碼編輯、編譯器,所以不再需要外部文本編輯器。 具體操作界面如圖所示,在指定位置(Write your code here)進行編碼。
下的 Build Project 或者 Rebuild Project 編譯固件。 如果代碼錯誤,系統(tǒng)會自動提示哪行代碼出現(xiàn)錯誤,比如下圖:
系統(tǒng)自動生成名為 Debug.hex 的文件,并自動拷入到前面的原理圖中,點擊按鈕即 可仿真運行。這也是 Proteus8.0 版本與以往版本的不同之處,該版本不再需要用 Keil 編程后 生成.Hex 文件再手動拷入到原理圖中,一切都是自動完成的,節(jié)約了很多時間。
如果現(xiàn)在點擊運行程序,程序執(zhí)行到斷點代碼處將自動停止。 到達斷點后,可以通過源代碼窗口右上角或 VSM Studio 調(diào)試菜單中的常用命令單步執(zhí)行
如果用 C51 編程,則代碼的調(diào)試與匯編語言代碼的調(diào)試十分相似,具體如下: 首先,由于本人電腦沒有安裝有關(guān) C51 編譯的軟件,故用 Proteus8.0 版本本身自帶的一
此時進行仿真,結(jié)果運行到斷點處便會停止。 如果需要查看程序執(zhí)行的細節(jié),具體到每一條指令的執(zhí)行過程,則可以在反匯編代碼中
Keil 是德國 Keil 公司(ARM 公司收購)現(xiàn)已被開發(fā)的 8051 單片機軟件開發(fā)平臺,經(jīng)過 不斷升級,現(xiàn)已經(jīng)成為一個重要的單片機開發(fā)平臺。Keil 界面不復(fù)雜,操作也不困難,很 多優(yōu)秀程序都是在 Keil 的平臺上編寫出來的。Keil 是一個重要的單片機語言開發(fā)軟件平臺, 用戶群極為龐大。
(1)Keil 的μVision3 可進行純粹的軟件仿真(仿真軟件程序,不接硬件電路);也可 以利用硬件仿真器,搭接上單片機硬件系統(tǒng),在仿真器中載入項目程序后進行實時仿真;還 可以使用μVision3 的內(nèi)嵌模塊 Keil Monitor-51,在不需要額外的硬件仿真器的條件下, 搭接單片機硬件系統(tǒng)對項目程序進行實時仿真。
(2)μVision3 調(diào)試器具備所有常規(guī)源代碼級調(diào)試,符號調(diào)試特性以及歷史跟蹤,代 碼覆蓋,復(fù)雜斷點等功能。Keil μVision3 可以編輯、編譯匯編語言、C51 語言,連接定位 目標文件和庫文件,創(chuàng)建.hex 文件,調(diào)試目標程序等。
前面介紹了 Proteus 下完成原理圖設(shè)計文件后,再在 keil μVision3 下編寫 C51 程序, 經(jīng)過調(diào)試、編譯最終生成.hex 文件后,在 Proteus 下把.hex 文件載入虛擬單片機中,然后 進行系統(tǒng)聯(lián)調(diào)。如果要修改程序,需再回到 keilμVision3 下修改,再經(jīng)過調(diào)試、編譯,新 生成.hex 文件,重復(fù)上述過程,直至系統(tǒng)正常運行為止。但是對于較為復(fù)雜的程序,如果 沒有達到預(yù)期效果,這時可能需要 Proteus 與 KeilμVision3 進行聯(lián)合調(diào)試。
首先打開 Proteus 需要聯(lián)調(diào)的程序文件,但不要運行,然后選中“調(diào)試”菜單中的“使 用遠程調(diào)試監(jiān)控”選項,如下圖所示。使得 KeilμVision3 能與Proteus 進行通信。
在 Debug 選項卡中選定右邊的“Use”及其中的選項“Proteus VSM Simulator”,如果 Proteus 與 Keil C 安裝在同一臺計算機中,右邊“Setting”中的Host 與 Port 可保持默認 值 127.0.0.1 與 8000 不變,如圖所示。在跨計算機調(diào)試時則需要進行相應(yīng)的修改。
會自動運行,出現(xiàn)的聯(lián)調(diào)界面如圖 4-4 所示。左半部分為 Keil μVision3 的調(diào)試界面,右 半部分是 Proteus ISIS 的界面。如果希望觀察運行過程中某些變量的值或者設(shè)備狀態(tài),需 要在 Keil μVision3 中恰當使用各種 Step In/ Step Over/ Step Out/ Run To Cursor Line 及 Breakpoint 進行跟蹤,來觀察右面的虛擬硬件系統(tǒng)運行的情況?傊,需要把 Keil μVision3 中的各種調(diào)試手段,如單步、跳出、運行到當前行、設(shè)置斷點等恰當?shù)嘏浜蟻磉M 行單片機系統(tǒng)運行的軟硬件聯(lián)調(diào)。
需要說明的是,聯(lián)調(diào)方式不支持需要調(diào)試的程序工程的中文名字,因此應(yīng)將中文名字改 為英文名字,例如,需將 “流水燈.Uv2”工程文件的名字改為英文字符的名字“LSD.Uv2”。
需要注意的是,這種聯(lián)調(diào)方式在有些場合并不適用。例如鍵盤矩陣掃描時,就不能用單 步跟蹤,因為程序運行到某一步驟時,如果單擊按鍵后,再到 KeilC 中繼續(xù)單步跟蹤,這 時按鍵早已釋放了。又如程序中某些函數(shù)模擬了訪問某個芯片的程序,如果在內(nèi)部單步跟蹤, 這樣也會失去芯片時序的仿真模擬,跟蹤也是達不到效果的。
切換到原理圖部分,在左邊的部分選擇電壓探針圖標,選擇 VOLTAGE。接下來在編輯 窗口單擊,開始進行探針的放置,即移動鼠標到想要放置探針的位置,左鍵單擊即可,如圖:
歡迎光臨 (http://www.torrancerestoration.com/bbs/) | Powered by Discuz! X3.1 |