在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

PIC單片機的在線調試說明

454398 ? 來源:網絡整理 ? 作者:網絡整理 ? 2019-12-06 11:25 ? 次閱讀

在線調試器(ICD)是一種非常強大且有效的工具,可以在硬件級別對基于微控制器的系統進行實時調試,它允許您在目標微控制器運行,停止和單步執行程序被嵌入到實際電路中。暫停后,可以實時檢查和修改程序變量,特殊功能寄存器(SFR),RAM和EEPROM的位置,從而幫助設計人員一起調試固件和硬件。在本文中,我將描述PIC單片機中的在線調試技術,并通過使用PIC16F887單片機的測試項目演示調試過程。盡管大多數ICD的操作是相似的,但在這里我將結合使用mikroICD器件的mikroElektronika的PICFlash以及用于PIC編譯器的mikroC Pro進行說明。

PIC單片機的在線調試說明

ICD在調試PIC編程

理論

ICD是硬件連接在PC和目標微控制器之間的設備,可以快速,輕松地調試實時應用程序。 ICD由PC上運行的調試應用程序工具控制。調試工具允許設計人員通過將斷點插入到程序0r中來單步執行程序,從而減慢微控制器的運行速度。在執行了一條指令或一組指令之后,可以檢查程序變量和內部寄存器的值,并在需要時進行修改。這有助于快速識別源代碼中的錯誤和錯誤,從而加快項目的開發過程。

PICMicro中的ICD

在PIC單片機中,可通過與在線串行編程(ICSP)相同的引腳(即ICSPDAT(或PGD),ICSPCLK(或PGC),V PP)來實現在線調試。 sub》/MCLR(編程模式電壓),V DD (電源電壓)和V SS (地)。這使制造商可以將ISCP編程和在線調試功能集成到單個設備中。在調試過程中,ICD設備會向目標微控制器的程序存儲器中添加額外的代碼塊(以及用戶應用程序),該代碼塊與調試應用程序進行交互。并通過同一條編程電纜將變量值,內部寄存器值和其他詳細信息發送到PC。

例如,MicrochipMPLAB ICD2和ICD3既是選定PIC MCUdsPIC DSC的編程器又是實時調試器。 ICD的功能由PC上運行的MPLAB集成開發環境(IDE)應用軟件控制。在調試期間,可通過MPLAB IDE界面以交互方式訪問目標微控制器的所有可用功能。這些功能使您能夠以單步模式運行程序,將斷點插入程序,檢查寄存器和變量,并根據需要修改它們。

盡管ICD是一種非常有價值的調試工具,但它并不是不惜一切代價。 ICD的兩個主要缺點是:1)它使用目標微控制器的一些內存,并且2)它占用目標微控制器的一些I/O引腳以與PC通信。因此,在調試時,目標微控制器的PGD,PGC和MCLR引腳不能用于任何其他目的。

帶有mikroICD的PICFlash

帶有mikroICD的PICFlash是用于PIC12,PIC16和PIC18系列微控制器的編程器和在線調試器。它由mikroElektronika制造,并受其所有PIC編譯器(mikroC,mikroBasic和mikroPascal)支持。設備通過USB接口與PC通信,該接口還為ICD提供必要的電源。它通過PGC,PGD,V PP /MCLR和電源引腳連接到目標PIC微控制器。當該器件用作獨立編程器時,在將HEX文件加載到目標PIC微控制器之后,釋放前三個引腳。但是,如果將其用于在線調試,則這三個引腳用于與PC進行通信,因此不能用于任何其他目的。

帶有mikroICD的PICFlash :程序員+在線調試器

使用mikroICD安裝PICFlash的軟件

您可以找到詳細信息有關此信息,請參見mikroICD手冊。設置該器件的最簡單方法是首先下載PIC編譯器。請注意,此設備無法與任何其他方的編譯器一起使用,因此您需要使用mikroElektronika編譯器之一才能使其正常工作。以下步驟介紹了用于mikroC Pro for PIC編譯器的帶有mikroICD的PICFlash的軟件安裝和設置。

首先,從HERE下載適用于PIC編譯器的mikroC Pro并將其安裝在PC上。/span》

安裝完成后,它將詢問您是否要安裝mikroProg Suite for PIC。同意,然后安裝。

下一步,它將詢問您是否要安裝驅動程序formikroProgprogrammer。說是,然后選擇適合您的操作系統的驅動程序文件,然后安裝它。您完成了!

使用帶有mikroICD的PICFlash進行調試

第一步使用mikroICD正在用所選的編譯器編寫應用程序,例如mikroC Pro for PIC。編譯器的IDE提供了調試功能,例如逐步運行程序,使用斷點暫停程序執行,檢查內部寄存器的狀態,跟蹤程序中變量的值等。請閱讀mikroICD手冊以獲取更多詳細信息。我將在我們的測試項目中說明調試過程,該項目使用PIC16F887微控制器和LM34DZ傳感器測量環境溫度并將其顯示在LCD上。該項目的電路圖如下所示,這是不言自明的。每次讀取溫度時,它的工作方式都是如此。按下開關,微控制器從LM34DZ讀取溫度樣本并將其顯示在LCD上。您可以看到,在默認情況下,開關輸出為高,按下開關時輸出為低。我正在為此實驗設置使用mikroElektronika的PIC Ready 1板。它是用于28和40引腳PIC微控制器的快速原型板。該開發板配有PIC16F887微控制器,預裝了串行引導加載程序,但實際上不適用于我們的情況。但是,該開發板也確實包含帶有mikroICD的PICFlash連接器。 PIC Ready 1板上的用戶手冊描述了有關板上連接的更多信息。

用于調試PIC16F887單片機系統的電路圖

實驗設置:帶有mikroICD的PIC-Ready1板和PICFlash

所以讓我再次簡要描述整個場景,以便更清楚地了解我們正在嘗試在這里做。我們有一個PIC16F887微控制器電路,該電路可以讀取LM34DZ傳感器的模擬輸出,將其轉換為溫度(°F),并在LCD上顯示。該微控制器通過ICSP引腳連接到mikroICD(PIC編程器+ ICD)。 mikroICD也通過USB端口連接到PC。 mikroICD調試工具已嵌入PIC編譯器的mikroC Pro中,因此可以從那里進行操作。我們將使用調試工具對加載到微控制器中的程序進行單步調試,并觀察變量值。同時,隨著每條指令的執行,其效果也可以在真實的硬件電路中觀察到。

mikroICD調試過程

首先,使用以下源代碼創建一個新項目,以讀取LM34DZ輸出并在LCD屏幕上顯示測得的溫度。如果您是首次使用mikroC編譯器,請閱讀在mikroC Pro for PIC中創建第一個項目,以了解如何在mikroC Pro for PIC中創建新項目。編譯之前,請轉到“編輯項目”窗口,然后將生成類型選擇為ICD Debug。該選項將使mikroICD將調試代碼與用戶應用程序一起加載到微控制器中。

/*

* Project name:

Testing mikroICD debugging tool with PIC16F887

* Copyright:

(c) Rajendra Bhatt

* Test configuration:

MCU: PIC16F887

Oscillator: HS, 10.0000 MHz

*/

// LCD module connections

sbit LCD_RS at RC3_bit;

sbit LCD_EN at RC2_bit;

sbit LCD_D4 at RC4_bit;

sbit LCD_D5 at RC5_bit;

sbit LCD_D6 at RC6_bit;

sbit LCD_D7 at RC7_bit;

sbit LCD_RS_Direction at TRISC3_bit;

sbit LCD_EN_Direction at TRISC2_bit;

sbit LCD_D4_Direction at TRISC4_bit;

sbit LCD_D5_Direction at TRISC5_bit;

sbit LCD_D6_Direction at TRISC6_bit;

sbit LCD_D7_Direction at TRISC7_bit;

// End LCD module connections

char txt[] = “Temp = F”;

char *temp = “000.0”;

sbit PressSwitch at RC0_bit;

unsigned int ADC_Value;

void main() {

ANSEL = 0x01; // Configure RA0 as Analog input

ANSELH = 0x00;

TRISA = 0xff;

C1ON_bit = 0; // Disable comparators

C2ON_bit = 0;

TRISC = 0x01; // RC0 is input

TRISD = 0x00;

TRISB = 0xFF;

txt[11] = 223; // ASCII value for degree symbol

Lcd_Init(); // Initialize LCD

Lcd_Cmd(_LCD_CLEAR); // Clear display

Lcd_Cmd(_LCD_CURSOR_OFF); // Cursor off

Lcd_Out(1,1,txt); // Write text in first row

do {

if (!PressSwitch) { // Detect logical 0

Delay_ms(300);

ADC_Value = ADC_Read(0);

ADC_Value = ADC_Value*4.88; // Convert to temperature in F

temp[0] = adc_value/1000 + 48;

temp[1] = (adc_value/100)%10 + 48;

temp[2] = (adc_value/10)%10 + 48;

temp[4] = adc_value%10 + 48;

Lcd_Out(1,7,temp);

}

} while(1); // Endless loop

}

下載mikroC項目文件

為構建類型選擇ICD調試可進行在線調試

您保存此方案,然后單擊 Build + Program (或按F4鍵)來編譯編程并將其加載到目標微控制器中。 mikroICD必須連接到PC的USB端口以及目標微控制器。它會自動啟動 PIC的mikroProg Suite ,這是PC上將HEX文件傳輸到micrcontroller中所需的應用程序軟件。現在已經加載了應用程序和調試代碼,是時候使用調試功能了,看看它如何工作。

要開始調試,請從菜單中選擇 Start Debugger 選項。 運行下拉菜單或使用功能鍵[F9]。現在,您可以通過按[F8]鍵逐行執行程序。在執行過程中,默認情況下將以藍色突出顯示下一步執行的程序行(請參見下圖)。

要執行的下一條指令將以藍色突出顯示

可以在監視窗口上監視程序的實時執行。您可以選擇要監視的任何寄存器和變量,并將它們添加到監視窗口。轉到查看-》調試Windows-》監視窗口選項以獲取“監視”窗口。從變量列表中選擇要觀察的變量,然后通過單擊顯示的+號將它們添加到窗口中。在下圖中,我正在調試期間監視四個變量。它們是 ADC_Value,PressSwitch,ADRESH 和 ADRESL 。 ADC_Value 是用戶定義的整數變量,用于存儲10位A/D結果。 PressSwitch 是輸入端口RC0,因為輕觸開關處于打開狀態,所以它為高。 ADRESH 和 ADRESL 是8位內部寄存器,用于存儲10位A/D轉換結果。最低有效8位存儲在 ADRESL 中,其余2個最高有效位存儲在 ADRESH 中。

將寄存器和變量添加到監視窗口

正如我之前提到的,在在線調試中,只要執行一條指令,在實際的硬件電路中也會觀察到其效果。例如,當執行 LCD_Init()例程時,LCD屏幕上會出現一個閃爍的光標。這表明您 LCD_Init()例程和您的LCD硬件接口都正常工作。

當LCD_Init例程處于運行狀態時,會出現一個閃爍的光標。執行

按住[F8]鍵,直到執行 Lcd_Out(1,1,txt),您將看到顯示的“ txt”字符串在液晶顯示屏上。繼續按下[F8]功能鍵,單步執行將繼續直到達到 if(!PressSwitch)條件。默認情況下,讀取溫度開關處于打開狀態,而 PressSwitch 為“ 1”,因此不滿足 If條件。因此,如果再次按下[F8]鍵,執行將跳至 while(1)語句。它將繼續在 if 和 while 語句之間來回移動,直到您按下電路板上的Read Temp開關。

等待直到按下Read Temp鍵

當 if(!PressSwitch)指令以藍色突出顯示時,按 Read Temp 切換并點擊[F8],執行將進入if語句內。按[F8]鍵將再次執行單步執行。當執行 ADC_Read(0)時, ADC_Value , ADRESH 和 ADRESL 的值也會改變。 監視窗口。

在if語句中的執行從按下“讀取溫度”按鈕(PressSwitch = 0)開始執行

監視窗口中的ADC_Value顯示ADC結果

接下來,顯示 ADC_Value 和 temp Lcd_Out(1、7,temp)時,將更新em》變量并在LCD上以°F為單位顯示溫度。

運行到光標 [F4]和 breakpoint 功能,以加快調試過程。使用[F4]功能鍵,可以讓程序執行直到到達光標位置。類似地,使用斷點允許將故意停止放置在所需的程序行上。下表顯示了mikroICD中各種調試功能鍵的摘要。此外,在調試過程中,您還可以從監視窗口修改程序變量的值。 用戶手冊中描述了mikroICD調試工具的更高級功能。

mikroICD調試工具中的主要功能鍵
責任編輯:wv

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6043

    文章

    44621

    瀏覽量

    638570
  • PICMicro
    +關注

    關注

    0

    文章

    27

    瀏覽量

    12425
收藏 人收藏

    評論

    相關推薦

    AN4121-采用PIC16F單片機進行系統電源控制

    電子發燒友網站提供《AN4121-采用PIC16F單片機進行系統電源控制.pdf》資料免費下載
    發表于 01-21 14:42 ?0次下載
    AN4121-采用<b class='flag-5'>PIC</b>16F<b class='flag-5'>單片機</b>進行系統電源控制

    AN4873-使用PIC單片機的集成運算放大器測量水中的總溶解固體

    電子發燒友網站提供《AN4873-使用PIC單片機的集成運算放大器測量水中的總溶解固體.pdf》資料免費下載
    發表于 01-21 14:41 ?1次下載
    AN4873-使用<b class='flag-5'>PIC</b><b class='flag-5'>單片機</b>的集成運算放大器測量水中的總溶解固體

    TB3320-PIC單片機集成模擬外設入門

    電子發燒友網站提供《TB3320-PIC單片機集成模擬外設入門.pdf》資料免費下載
    發表于 01-21 14:01 ?0次下載
    TB3320-<b class='flag-5'>PIC</b><b class='flag-5'>單片機</b>集成模擬外設入門

    單片機Debug工具性能對比 單片機調試常用命令

    單片機(Microcontroller Unit, MCU)調試是嵌入式開發中的一個重要環節,它幫助開發者發現和修復代碼中的錯誤,優化程序性能。不同的單片機和開發環境可能使用不同的調試
    的頭像 發表于 12-19 09:56 ?474次閱讀

    單片機Debug與仿真區別

    單片機的開發是一個復雜的過程,涉及到硬件設計、軟件開發和測試等多個環節。為了確保單片機能夠按照預期工作,開發者需要使用Debug和仿真技術來檢測和修正代碼中的錯誤。 Debug(調試) Debug
    的頭像 發表于 12-19 09:47 ?287次閱讀

    單片機調試常見問題與解決方法

    單片機調試是嵌入式系統開發中的一個重要環節,它涉及到對單片機程序的測試和優化,以確保系統能夠正常工作。在調試過程中,開發者可能會遇到各種問題。 1. 程序無法燒錄到
    的頭像 發表于 11-01 14:11 ?1207次閱讀

    PICmicro?中檔單片機系列參考手冊

    PIC單片機中文資料
    發表于 10-09 10:44 ?1次下載

    PIC單片機的優勢和不足之處

    PIC單片機系列,作為美國微芯公司的杰出產品,憑借其卓越的性能和廣泛的應用領域,在單片機市場上占據了舉足輕重的地位。該系列分為基本級、中級和高級三個級別,旨在滿足不同層次的應用需求。 PIC
    的頭像 發表于 09-25 17:22 ?447次閱讀

    單片機基本io功能調試過程

    單片機基本IO功能的調試過程涉及多個步驟,旨在確保IO口能夠正確地執行輸入和輸出操作。以下是一個調試過程,涵蓋了從準備階段到實際測試的關鍵步驟: 一、準備階段 確定單片機型號和IO口
    的頭像 發表于 09-14 14:38 ?786次閱讀

    調試SsitaraAM2x單片機注意事項

    電子發燒友網站提供《調試SsitaraAM2x單片機注意事項.pdf》資料免費下載
    發表于 09-11 14:13 ?0次下載
    <b class='flag-5'>調試</b>SsitaraAM2x<b class='flag-5'>單片機</b>注意事項

    keil可以讀出單片機的程序嗎

    Keil是一款廣泛應用于單片機程序開發的軟件,它提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調試器等在內的完整開發方案。然而,關于Keil是否能直接“讀出”單片機的程序,這一
    的頭像 發表于 09-02 10:32 ?1247次閱讀

    單片機燒錄程序的基本步驟是什么

    單片機燒錄程序的基礎,它包含了單片機芯片、電源、接口等基本元件。在選擇單片機開發板時,需要考慮以下幾個方面: (1)單片機型號:根據項目需求選擇合適的
    的頭像 發表于 09-02 09:47 ?1438次閱讀

    幾種常用單片機在線升級能力比較

    電子發燒友網站提供《幾種常用單片機在線升級能力比較.pdf》資料免費下載
    發表于 03-24 09:39 ?2次下載

    應用單片機開發的ST LINK調試器設計制作

    調試ST單片機的過程中,ST-LINK是一個很好使用的調試工具。今天,我們就根據網絡上的設計方案進行簡化,設計制作一個ST LINK調試器,用于之后的
    發表于 03-06 10:26 ?1266次閱讀
    應用<b class='flag-5'>單片機</b>開發的ST LINK<b class='flag-5'>調試</b>器設計制作

    16位單片機RL78系列Rev.1.20發布說明

    電子發燒友網站提供《16位單片機RL78系列Rev.1.20發布說明.pdf》資料免費下載
    發表于 02-19 10:15 ?0次下載
    16位<b class='flag-5'>單片機</b>RL78系列Rev.1.20發布<b class='flag-5'>說明</b>
    主站蜘蛛池模板: 黄视频免费在线看 | 丁香婷婷啪啪 | 又色又爽视频 | 天天干天天草 | 玖玖在线国产精品 | 色婷婷狠狠 | 国产色婷婷免费视频 | 天天谢天天干 | 激情爱爱的免费视频 | 欧美成人一区亚洲一区 | 51久久| 日本高清视频不卡 | 亚洲第一区视频 | 成人网在线视频 | 在线视频网址免费播放 | 好吊色青青青国产在线观看 | 伊人草| 久久久久久久久综合影视网 | 国产盗摄女子私密保健视频 | 免费在线视频你懂的 | 欧美特黄三级在线观看 | 777人体粉嫩u美图 | 欧美三级久久 | 另类激情亚洲 | 能直接看黄的网站 | 午夜一级黄色片 | 午夜免费啪在线观看视频网站 | 免费观看在线视频 | 免费观看欧美一级片 | 五月国产综合视频在线观看 | 午夜剧场刺激性爽免费视频 | 精品伊人久久大香线蕉网站 | 亚洲一区二区三区免费看 | 国产精品成人va在线观看入口 | 日韩成人毛片高清视频免费看 | 日本三级高清 | 美女三级黄 | 色图插插插| 美女扒开尿口给男人看的让 | 激情婷婷综合久久久久 | 午夜精品久久久久久久久 |