久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 51190|回復: 9
打印 上一主題 下一主題
收起左側

詳細的Proteus8.0教程(特殊調試與診斷功能的開發)

  [復制鏈接]
跳轉到指定樓層
樓主
ID:251586 發表于 2018-12-5 11:10 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
Proteus V8 的特殊調試與診斷功能的開發


摘要—本文主要以 Proteus8.0 版本的功能及使用為基礎,主要介紹工程的創建、編譯 器的配置、基本調試等一些基本問題,并探討 Proteus8.0 的一些新特點新功能,最后與 Proteus7.0 做出對比得出結論。

關鍵詞—Proteus8.0 ,Proteus7.0;

1.簡介
Proteus 軟件是英國 Lab Center Electronics 公司出版的 EDA 工具軟件(該軟件中國 總代理為廣州風標電子技術有限公司)。它不僅具有其它 EDA 工具軟件的仿真功能,還能仿 真單片機及外圍器件。它是目前比較好的仿真單片機及外圍器件的工具。雖然目前國內推廣 剛起步,但已受到單片機愛好者、從事單片機教學的教師、致力于單片機開發應用的科技工 作者的青睞。
同時,Proteus 還是一個巨大的教學資源,可以用于模擬電路與數字電路的教學實驗、 單片機與嵌入式系統的教學實驗、微控制器系統的綜合實驗、創新實驗與畢業設計等。 Proteus 可以與廣大學生相結合,打造成一個口袋實驗室。

在 Proteus 家族里,Proteus8.0 是目前較新的版本(最新的是 8.1 版),Proteus8.0 版 本的出現具有重要的意義,它也與其他版本有著很明顯的不同,再此進行詳細介紹 Proteus8.0 版本的使用過程。

2.使用過程

2.1 創建新工程

假定此時已安裝了 Proteus8.0 版本。

選擇并點開 Proteus 8 Professional,首先需要新建一個工程,由于本教程是與 PCB 繪 制教程相關聯的,所以此時的工程是一個帶有原理圖、PCB 和源代碼編譯部分的工程。

點擊 File,如圖,選擇 New Project,將出現新建工程向導部 分,在此可以設置文件名(Name)和保存路徑(Path)




點擊 Next,在下一頁的頂部選項卡中,選擇“從選中的模板中創建原理圖”(Create a

Schematic from the selected template),在此可選擇默認(DFAULT)。如果不需要繪制 原理圖,可直接選擇 Do not create a schematic。




繼續點擊 Next,選擇“從選擇的模板中創建 PCB 設計”(Create a PCB layout from the
selected template),在此可繼續選擇默認(DFAULT)。如果不需要進行 PCB 設計,可直 接選擇 Do not create a PCB layout。


由于本教程需要仿真,所以繼續點擊 Next,在仿真頁面選擇 Create Firmware Project, 并設置 Family(系列)-8051,Contoller(控制器)-AT89C51,Compiler(編譯器)-ASEM-51, 也就是在此設計外部代碼編譯器。如果不需要進行仿真,則可直接選擇 No Firmware Project 即可。


點擊 Next,新工程便創建完畢。此時的新工程包含原理圖設計部分、PCB 繪制部分和源 代碼部分。

2.2 在 Proteus 中進行匯編代碼的調試

Proteus8.0 版本自身支持匯編語言,故先以匯編語言為例。 由于前面已經設置過外部代碼編譯器,所以此時工程包含 Source Code(源代碼),如

果前面沒設置或者不小心刪除后,也可以在此新建,方法為點擊 Source


選擇 Create Project,再次設置 Family(系列)-8051,Contoller(控制器)-AT89C51, Compiler(編譯器)-ASEM-51 即可。

Proteus8.0 或以上版本自帶源代碼編輯、編譯器,所以不再需要外部文本編輯器。 具體操作界面如圖所示,在指定位置(Write your code here)進行編碼。




此時,編譯器、原理圖、源代碼都已準備好,點擊 Build,選擇 Build

下的 Build Project 或者 Rebuild Project 編譯固件。 如果代碼錯誤,系統會自動提示哪行代碼出現錯誤,比如下圖:



系統在下方 IDE 的底部面板上顯示錯誤提示,即 main.asm 的匯編程序第 41 行出現錯誤, 錯誤為“illegal statement syntax”,鼠標直接點擊這句錯誤提示,系統將自動跳轉到出 錯的代碼處,這對于查錯改錯十分方便

如果編譯成功,系統不顯示錯誤。其編譯的輸出也顯示在下方 IDE 的底部面板上,最終 編譯成功后,能得到一個編譯成功的信號。


系統自動生成名為 Debug.hex 的文件,并自動拷入到前面的原理圖中,點擊按鈕即 可仿真運行。這也是 Proteus8.0 版本與以往版本的不同之處,該版本不再需要用 Keil 編程后 生成.Hex 文件再手動拷入到原理圖中,一切都是自動完成的,節約了很多時間。


同時,Proteus 8.0 或以上版本支持 C51 語言的編譯和調試,這需要電腦本身已經安裝 Keil 或者 IAR 等可以編譯 C51 語言的軟件。Proteus 自帶匯編語言的編譯器,如果想編譯 C51,則需要找到電腦中安裝的編譯環境,也可以到網上 Download,具體如圖:




點擊 Config              ,在下拉菜單中選擇 Compilers Configuration,自動
彈出如下界面:


這個對話列出了所有支持的編譯器,并指示是否被安裝和配置。按下對話框底部的檢查 全部按鈕(Check all),Proteus 將掃描你的計算機,檢查安裝好的編譯器。如果找到 Proteus 支持的編譯器,Proteus 將自動進行配置并在 Proteus 中調用這些編譯器編譯源代碼。

其余的編譯器,Proteus 自動給出下載(Download)或者下載鏈接(Goto Website),讀 者可根據自身要求選擇下載。值得注意的是,其中有些編譯器的下載是需要收費的。
編譯成功后,如果想觀察代碼的單步運行,則需要進行如下操作:

首先要確定 Proteus 沒有運行仿真,處于停止狀態。通過“仿真控制面板”暫停按鈕啟 動仿真或暫停。


啟動仿真后,源程序頁面自動變為下圖格式:




現在說明如何設置斷點,對于上圖,要在 0111 處設置斷點,只需在需要設置斷點的代碼 處雙擊鼠標左鍵即可,斷點指示器(一個小紅點)將出現在代碼的左側;如果誤設了斷點, 只需在這行再次雙擊(或從代碼窗口中點擊鼠標右鍵選擇取消)即可取消,效果如下圖:


如果現在點擊運行程序,程序執行到斷點代碼處將自動停止。 到達斷點后,可以通過源代碼窗口右上角或 VSM Studio 調試菜單中的常用命令單步執行

代碼。另外可以使用快捷鍵 F10 和 F11 分別進行單步跳過調試和單步進入函數內部調試。
如圖:



此時,還可以觀看該代碼處的寄存器參數等,具體設置為:點擊 Debug,在下拉菜單中 選擇所需要觀測的參數。可以觀看 8051 CPU Registers、8051 CPUSFR Memory、8051 CPU
Source code 等等。


其中寄存器的狀態如下(8051 CPU Registers):





2.3 在 Proteus 中進行 C 代碼的調試

如果用 C51 編程,則代碼的調試與匯編語言代碼的調試十分相似,具體如下: 首先,由于本人電腦沒有安裝有關 C51 編譯的軟件,故用 Proteus8.0 版本本身自帶的一

個例子為例。打開 Proteus8.0 之后,點擊 File,選擇 New Project,這時彈出如下對話框
如下圖,選擇 From Development Board(從開發板),并選擇 PIC16 系列下的 F1 Release
開發板,點擊 Finish,調用完畢。




此時的原理圖如下圖:





源程序如下:




當 Proteus 沒有進行仿真,處于停止狀態時,才可以進行調試,這一點與匯編語言的調試
完全一樣。

該案例包含很多源文件,所以需要在下拉菜單里選擇具體的文件來進行調試,如下圖:




此時選擇 main.c 作為例子,點擊后出現下面的 C 程序:

現在設置斷點,方法同上,只需在需要放置斷點的代碼處雙擊鼠標左鍵即可,此時會出 現一個紅點(斷點指示器),如果斷點設置錯誤,則再次雙擊鼠標左鍵,斷點即可取消,假 設在 0980 處設置斷點,如下圖所示:

此時進行仿真,結果運行到斷點處便會停止。 如果需要查看程序執行的細節,具體到每一條指令的執行過程,則可以在反匯編代碼中

進行代碼的匯編級單步調試。右鍵單擊所設斷點的代碼,選擇 Dissassembly(反匯編)或者
按 Ctrl+D,如下:


反匯編后會顯示從當前斷點到下一條指令之間所有的操作,對于上面的 0980 處設置的斷 點,將顯示 0980 到 09A2 之間的所有單步程序:





值得注意的是,反匯編的應用是匯編語言和 C51 語言編程的一大區別。

2.4 Proteus8.0 與 Keil 聯接調試

Keil 是德國 Keil 公司(ARM 公司收購)現已被開發的 8051 單片機軟件開發平臺,經過 不斷升級,現已經成為一個重要的單片機開發平臺。Keil 界面不復雜,操作也不困難,很 多優秀程序都是在 Keil 的平臺上編寫出來的。Keil 是一個重要的單片機語言開發軟件平臺, 用戶群極為龐大。

(1)Keil 的μVision3 可進行純粹的軟件仿真(仿真軟件程序,不接硬件電路);也可 以利用硬件仿真器,搭接上單片機硬件系統,在仿真器中載入項目程序后進行實時仿真;還 可以使用μVision3 的內嵌模塊 Keil Monitor-51,在不需要額外的硬件仿真器的條件下, 搭接單片機硬件系統對項目程序進行實時仿真。

(2)μVision3 調試器具備所有常規源代碼級調試,符號調試特性以及歷史跟蹤,代 碼覆蓋,復雜斷點等功能。Keil μVision3 可以編輯、編譯匯編語言、C51 語言,連接定位 目標文件和庫文件,創建.hex 文件,調試目標程序等。

下面介紹使用 Keil μVision3 來開發項目、調試程序并生成*..hex 文件來用于 Proteus

中單片機程序的開發和仿真。

前面介紹了 Proteus 下完成原理圖設計文件后,再在 keil μVision3 下編寫 C51 程序, 經過調試、編譯最終生成.hex 文件后,在 Proteus 下把.hex 文件載入虛擬單片機中,然后 進行系統聯調。如果要修改程序,需再回到 keilμVision3 下修改,再經過調試、編譯,新 生成.hex 文件,重復上述過程,直至系統正常運行為止。但是對于較為復雜的程序,如果 沒有達到預期效果,這時可能需要 Proteus 與 KeilμVision3 進行聯合調試。

聯合調試之前需要安裝 vudgi.exe 文件,文件可到 Proteus 的官方網站下載。vudgi.exe

文件安裝后,需對 Proteus 與μVision3 中進行相應設置。

2.4.1 對 Proteus8.0 的設置

首先打開 Proteus 需要聯調的程序文件,但不要運行,然后選中“調試”菜單中的“使 用遠程調試監控”選項,如下圖所示。使得 KeilμVision3 能與Proteus 進行通信。





2.4.2 對 KeilμVision3 的設置
完成上述設置后,在 KeilμVision3 中打開工程文件,然后單擊菜單【Project】→ “Options for Target”選項(或單擊工具欄上“Options forTarget”快捷按鈕),打開
如圖所示的工程,即 KeilμVision3 中的設置選項對話框

在 Debug 選項卡中選定右邊的“Use”及其中的選項“Proteus VSM Simulator”,如果 Proteus 與 Keil C 安裝在同一臺計算機中,右邊“Setting”中的Host 與 Port 可保持默認 值 127.0.0.1 與 8000 不變,如圖所示。在跨計算機調試時則需要進行相應的修改。



完成上述設置后,在 Keil μVision3 中全速運行程序時,Proteus 中的單片機系統也

會自動運行,出現的聯調界面如圖 4-4 所示。左半部分為 Keil μVision3 的調試界面,右 半部分是 Proteus ISIS 的界面。如果希望觀察運行過程中某些變量的值或者設備狀態,需 要在 Keil μVision3 中恰當使用各種 Step In/ Step Over/ Step Out/ Run To Cursor Line 及 Breakpoint 進行跟蹤,來觀察右面的虛擬硬件系統運行的情況。總之,需要把 Keil μVision3 中的各種調試手段,如單步、跳出、運行到當前行、設置斷點等恰當地配合來進 行單片機系統運行的軟硬件聯調。

需要說明的是,聯調方式不支持需要調試的程序工程的中文名字,因此應將中文名字改 為英文名字,例如,需將 “流水燈.Uv2”工程文件的名字改為英文字符的名字“LSD.Uv2”。

需要注意的是,這種聯調方式在有些場合并不適用。例如鍵盤矩陣掃描時,就不能用單 步跟蹤,因為程序運行到某一步驟時,如果單擊按鍵后,再到 KeilC 中繼續單步跟蹤,這 時按鍵早已釋放了。又如程序中某些函數模擬了訪問某個芯片的程序,如果在內部單步跟蹤, 這樣也會失去芯片時序的仿真模擬,跟蹤也是達不到效果的。

2.5 硬件斷點的設置
到目前為止,Proteus8.0 的基本使用已經敘述完畢,前面所介紹的是基于軟件條件的仿 真中斷,另外也可以使用硬件斷點,以便當硬件條件發生時檢查代碼。

切換到原理圖部分,在左邊的部分選擇電壓探針圖標,選擇 VOLTAGE。接下來在編輯 窗口單擊,開始進行探針的放置,即移動鼠標到想要放置探針的位置,左鍵單擊即可,如圖:





現在右鍵單擊探針,從彈出的菜單中選擇編輯屬性(Edit Properties),如下圖:



實時斷點類型選擇數字的(Digital),如果想在低電平進行觸發,輸入 0 作為觸發值, 即在 Trigger Value(觸發值)處輸入 0;同時還可以設置裝備時間(Arm at Time),來跳過斷 點等



2.7 .診斷模式的設定

在 Proteus 中仿真診斷信息是一個十分有用又容易被人忽略的工具,它提供一個窗口, 允許用戶查看指定外設上仿真活動的文字性報告。下面介紹一下它的使用。


切換到原理圖界面,選擇 Debug 菜單,打開后找到 Configure

Diagnostics(配置診斷信息),左鍵單擊,彈出如下對話框:


展開 ISIS,選擇需要診斷的部分,并點擊 Full Trace(所有信息),即將診斷信息輸出 等級設置為所有信息。



點擊 OK 后啟動仿真,我們會在 VSM Studio 底部看見診斷信息




3. 結論

Proteus 是世界上著名的 EDA 工具(仿真軟件),從原理圖布圖、代碼調試到單片機與外 圍電路協同仿真,一鍵切換到 PCB 設計,真正實現了從概念到產品的完整設計。是目前世界 上唯一將電路仿真軟件、PCB 設計軟件和虛擬模型仿真軟件三合一的設計平臺,其處理器模 型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086 和 MSP430 等,2010 年又增加了 Cortex 和 DSP 系列處理器,并持續增加其他系列處理器模型。在編譯方面,它 也支持 IAR、Keil 和 MATLAB 等多種編譯器。
用 Proteus 軟件進行單片機系統仿真設計,是虛擬仿真技術和計算機多媒體技術相結合 的綜合運用,有利于培養學生的電路設計能力及仿真軟件的操作能力;在單片機課程設計和 全國大學生電子設計競賽中,我們使用 Proteus 開發環境對學生進行培訓,在不需要硬件 投入的條件下,學生普遍反映,對單片機的學習比單純學習書本知識更容易接受,更容易提 高。實踐證明,在使用 Proteus 進行系統仿真開發成功之后再進行實際制作,能極大提高 單片機系統設計效率。因此,Proteus 有較高的推廣利用價值。

在 Proteus 的家族里,Proteus8.0 是目前比較新的版本(最新的是 Proteus8.1 版本), 它與以前其他版本相比,界面變化很大,功能更強,總體結構變化較大,PCB 設計和 VSM 設 計功能都有所加強,對于其兼容性,Proteus8.0 所生成的文件在 Proteus7 系列里不能運行, 而 Proteus7 生成的文件可以在Proteus8.0 里運行,說明 Proteus 的更新是向下兼容的。
與 Proteus7.0 相比,8.0 版本可以調節字體大小,但是也取消了外部文本編輯器。 Proteus8.0 對于匯編語言的應用要求較高,同時也在一定程度上支持C51 語言的使用。值 得注意的是,Proteus8.0 版本更加偏向于匯編語言的應用,對匯編語言給予里很大便利。

完整的pdf格式文檔51黑下載地址:
詳細的Proteus8.0教程.pdf (1.49 MB, 下載次數: 146)


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:501350 發表于 2019-3-30 19:09 | 只看該作者
資料很不錯的,感謝分享,正是需要的!謝謝~
回復

使用道具 舉報

板凳
ID:510485 發表于 2019-4-18 18:26 | 只看該作者
講的很好,感謝分享
回復

使用道具 舉報

地板
ID:504978 發表于 2019-5-11 09:40 | 只看該作者
你好,我想請問一下,proteus8里 單片機C程序寫好,也仿真成功了,有沒有直接生成hex文件?在哪能找到它?
回復

使用道具 舉報

5#
ID:165117 發表于 2019-5-11 16:18 | 只看該作者
很好,感謝分享!!!               
回復

使用道具 舉報

6#
ID:291411 發表于 2019-5-13 09:10 來自手機 | 只看該作者
yygy10 發表于 2019-5-11 09:40
你好,我想請問一下,proteus8里 單片機C程序寫好,也仿真成功了,有沒有直接生成hex文件?在哪能找到它?

生成hex文件用的工具鏈接掛了或錯了聯系重發
鏈接:https://pan.baidu.com/s/11A3yFrShdUs7bqZX-qFDpw提取碼:dr32
回復

使用道具 舉報

7#
ID:504978 發表于 2019-5-13 16:15 | 只看該作者
肆月 發表于 2019-5-13 09:10
生成hex文件用的工具鏈接掛了或錯了聯系重發
鏈接:https://pan.baidu.com/s/11A3yFrShdUs7bqZX-qFDpw提 ...

你好,這個軟件不是用來把hex文件下載到單片機上的嗎?
回復

使用道具 舉報

8#
ID:64765 發表于 2019-8-8 20:19 | 只看該作者
很好,感謝分享!!!
回復

使用道具 舉報

9#
ID:342822 發表于 2019-8-14 10:08 | 只看該作者
yygy10 發表于 2019-5-11 09:40
你好,我想請問一下,proteus8里 單片機C程序寫好,也仿真成功了,有沒有直接生成hex文件?在哪能找到它?

Proteus8.0默認是調試模式Debug。要生成HEX文件需應用發布模式Release。
在代碼頁面工具欄有個下拉菜可配置
回復

使用道具 舉報

10#
ID:679186 發表于 2020-1-2 17:26 | 只看該作者
講的很好,感謝分享
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 婷婷激情在线 | 日本久久一区 | 玖玖免费 | 草久久免费视频 | 国产精品久久国产精品 | 夜夜操av| 国产在线一区二 | 亚洲 欧美 日韩 精品 | 亚洲精品一区二区在线观看 | 久久精彩视频 | 国产精品久久在线观看 | 亚洲成人自拍网 | 狠狠做六月爱婷婷综合aⅴ 国产精品视频网 | 成人精品一区二区三区 | 欧美精品综合在线 | 91福利在线观看视频 | 在线日韩中文字幕 | 婷婷丁香在线视频 | 欧美日韩国产精品激情在线播放 | 日韩国产在线 | 欧美日韩福利视频 | 日韩欧美一级精品久久 | 欧美日韩一二三区 | 中文字幕成人在线 | 美女网站视频免费黄 | 精品久久ai电影 | 老外黄色一级片 | www国产成人免费观看视频,深夜成人网 | 久久中文字幕电影 | 91影院| 一级a性色生活片久久毛片 午夜精品在线观看 | 青娱乐av | 亚洲第一天堂 | 日韩精品在线观看一区二区三区 | 国产在线资源 | 欧美色欧美亚洲另类七区 | 国产精品69毛片高清亚洲 | 99精品视频一区二区三区 | 亚洲一区亚洲二区 | 久久精品免费观看 | av在线免费看网址 |