欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 52750|回復(fù): 9
打印 上一主題 下一主題
收起左側(cè)

詳細(xì)的Proteus8.0教程(特殊調(diào)試與診斷功能的開發(fā))

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


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

關(guān)鍵詞—Proteus8.0 ,Proteus7.0;

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

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

2.使用過程

2.1 創(chuàng)建新工程

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

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

點擊 File,如圖,選擇 New Project,將出現(xiàn)新建工程向?qū)Р?分,在此可以設(shè)置文件名(Name)和保存路徑(Path)




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

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




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


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


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

2.2 在 Proteus 中進(jìn)行匯編代碼的調(diào)試

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

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


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

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




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

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



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

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


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


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




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


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

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

首先要確定 Proteus 沒有運(yùn)行仿真,處于停止?fàn)顟B(tài)。通過“仿真控制面板”暫停按鈕啟 動仿真或暫停。


啟動仿真后,源程序頁面自動變?yōu)橄聢D格式:




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


如果現(xiàn)在點擊運(yùn)行程序,程序執(zhí)行到斷點代碼處將自動停止。 到達(dá)斷點后,可以通過源代碼窗口右上角或 VSM Studio 調(diào)試菜單中的常用命令單步執(zhí)行

代碼。另外可以使用快捷鍵 F10 和 F11 分別進(jìn)行單步跳過調(diào)試和單步進(jìn)入函數(shù)內(nèi)部調(diào)試。
如圖:



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


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





2.3 在 Proteus 中進(jìn)行 C 代碼的調(diào)試

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

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




此時的原理圖如下圖:





源程序如下:




當(dāng) Proteus 沒有進(jìn)行仿真,處于停止?fàn)顟B(tài)時,才可以進(jìn)行調(diào)試,這一點與匯編語言的調(diào)試
完全一樣。

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




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

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

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

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


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





值得注意的是,反匯編的應(yīng)用是匯編語言和 C51 語言編程的一大區(qū)別。

2.4 Proteus8.0 與 Keil 聯(lián)接調(diào)試

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

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

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

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

中單片機(jī)程序的開發(fā)和仿真。

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

聯(lián)合調(diào)試之前需要安裝 vudgi.exe 文件,文件可到 Proteus 的官方網(wǎng)站下載。vudgi.exe

文件安裝后,需對 Proteus 與μVision3 中進(jìn)行相應(yīng)設(shè)置。

2.4.1 對 Proteus8.0 的設(shè)置

首先打開 Proteus 需要聯(lián)調(diào)的程序文件,但不要運(yùn)行,然后選中“調(diào)試”菜單中的“使 用遠(yuǎn)程調(diào)試監(jiān)控”選項,如下圖所示。使得 KeilμVision3 能與Proteus 進(jìn)行通信。





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

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



完成上述設(shè)置后,在 Keil μVision3 中全速運(yùn)行程序時,Proteus 中的單片機(jī)系統(tǒng)也

會自動運(yùn)行,出現(xiàn)的聯(lián)調(diào)界面如圖 4-4 所示。左半部分為 Keil μVision3 的調(diào)試界面,右 半部分是 Proteus ISIS 的界面。如果希望觀察運(yùn)行過程中某些變量的值或者設(shè)備狀態(tài),需 要在 Keil μVision3 中恰當(dāng)使用各種 Step In/ Step Over/ Step Out/ Run To Cursor Line 及 Breakpoint 進(jìn)行跟蹤,來觀察右面的虛擬硬件系統(tǒng)運(yùn)行的情況?傊,需要把 Keil μVision3 中的各種調(diào)試手段,如單步、跳出、運(yùn)行到當(dāng)前行、設(shè)置斷點等恰當(dāng)?shù)嘏浜蟻磉M(jìn) 行單片機(jī)系統(tǒng)運(yùn)行的軟硬件聯(lián)調(diào)。

需要說明的是,聯(lián)調(diào)方式不支持需要調(diào)試的程序工程的中文名字,因此應(yīng)將中文名字改 為英文名字,例如,需將 “流水燈.Uv2”工程文件的名字改為英文字符的名字“LSD.Uv2”。

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

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

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





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



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



2.7 .診斷模式的設(shè)定

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


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

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


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



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




3. 結(jié)論

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

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

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


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

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

無效樓層,該帖已經(jīng)被刪除
5#
ID:504978 發(fā)表于 2019-5-11 09:40 | 只看該作者
你好,我想請問一下,proteus8里 單片機(jī)C程序?qū)懞茫卜抡娉晒α耍袥]有直接生成hex文件?在哪能找到它?
回復(fù)

使用道具 舉報

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

使用道具 舉報

7#
ID:291411 發(fā)表于 2019-5-13 09:10 來自觸屏版 | 只看該作者
yygy10 發(fā)表于 2019-5-11 09:40
你好,我想請問一下,proteus8里 單片機(jī)C程序?qū)懞,也仿真成功了,有沒有直接生成hex文件?在哪能找到它?

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

使用道具 舉報

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

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

使用道具 舉報

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

使用道具 舉報

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

Proteus8.0默認(rèn)是調(diào)試模式Debug。要生成HEX文件需應(yīng)用發(fā)布模式Release。
在代碼頁面工具欄有個下拉菜可配置
回復(fù)

使用道具 舉報

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

使用道具 舉報

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

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表