Keil軟件仿真調(diào)試.doc

Keil軟件仿真調(diào)試.doc

ID:53246184

大?。?90.50 KB

頁數(shù):9頁

時間:2020-04-02

Keil軟件仿真調(diào)試.doc_第1頁
Keil軟件仿真調(diào)試.doc_第2頁
Keil軟件仿真調(diào)試.doc_第3頁
Keil軟件仿真調(diào)試.doc_第4頁
Keil軟件仿真調(diào)試.doc_第5頁
資源描述:

《Keil軟件仿真調(diào)試.doc》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。

1、51TRACER仿真調(diào)試高級技巧進(jìn)入調(diào)試狀態(tài)后,Debug菜單項中的命令可以使用了,有關(guān)編譯的工具欄按鈕消失了,出現(xiàn)了一個用于運(yùn)行和調(diào)試的工具欄,Debug菜單上的大部份命令都有相應(yīng)的快捷按鈕。從左到右依次是復(fù)位、運(yùn)行、暫停、單步跟蹤、單步、執(zhí)行完當(dāng)前子程序、運(yùn)行到當(dāng)前行、下一狀態(tài)、打開跟蹤、觀察跟蹤、反匯編窗口、觀察窗口、代碼作用范圍分析、1#串行窗口、內(nèi)存窗口、性能分析、工具按鈕命令;然后按一下圖示第二個“運(yùn)行”按鈕。連接上相關(guān)的實驗資源,本實驗用一條8PIN的數(shù)據(jù)排線把實驗儀的CPU部份的P1口(JP44)連接到八路指示

2、燈部份的JP32。這時你會看到實驗儀的八個紅色LED,輪流點亮,表示運(yùn)行成功,也可以查看相關(guān)的變量和參數(shù),非常方便。⒈單步跟蹤運(yùn)行使用菜單Debug->Step或上圖第四個單步運(yùn)行按鈕或使用快捷鍵F11可以單步跟蹤執(zhí)行程序,在這里我們按下F11鍵,即可執(zhí)行該箭頭所指程序行,每按一次F11,可以看到源程序窗口的左邊黃色調(diào)試箭頭指向下一行,如果程序中有Delay延時子程序,則會進(jìn)入延時程序中運(yùn)行。?⒉單步運(yùn)行如果Delay程序有錯誤,可以通過單步跟蹤執(zhí)行來查找錯誤,但是如果Delay程序已正確,每次進(jìn)行程序調(diào)試都要反復(fù)執(zhí)行這些程序

3、行,會使得調(diào)試效率很低,為此,可以在調(diào)試時使用F10來替代F11(也可使用菜單StepOver或相應(yīng)的命令按鈕),在main函數(shù)中執(zhí)行到Delay時將該行作為一條語句快速執(zhí)行完畢。為了更好的進(jìn)行對比,我們重新進(jìn)入仿真環(huán)境,將反匯編窗口關(guān)閉,不斷按F10鍵,可以看到在源程序窗口中的左邊黃色調(diào)試箭頭不會進(jìn)入到延時子程序。⒊全速運(yùn)行點擊工具欄上的“運(yùn)行”按鈕或按F5鍵啟動全速運(yùn)行,全速執(zhí)行程序,此時用戶板上的P1口所接LED以流水燈狀態(tài)顯示。⒋暫停點擊工具欄上的按鈕,此時用戶板上的P1口所接LED停止以流水燈狀態(tài)顯示,只有一個LED

4、燈點亮(取決于暫停前的P1的值)。⒌觀察/修改寄存器的值Project窗口在進(jìn)入調(diào)試狀態(tài)后顯示Regs頁的內(nèi)容,包括工作寄存器R0~R7的內(nèi)容和累加器A、寄存器B、堆棧指針SP的內(nèi)容。用戶除了可以觀察以外還可自行修改,例如將寄存器a的值0x62改為0x85。方法一:用鼠標(biāo)點擊選中單元a,然后再單擊其數(shù)值位置,出現(xiàn)文字框后輸入0x85按回車鍵即可;方法二:在命令行窗口,輸入A=0x85,按回車鍵將把A的數(shù)值設(shè)置為0x856.觀察/修改存儲器的數(shù)據(jù)點擊菜單“視圖View->儲存器窗口MemoryWindows”,便會打開儲存器Me

5、mory窗口(如窗口已打開,則會關(guān)閉),Memory窗口可以同時顯示4個不同的存儲器區(qū)域,點擊窗口下部分的編號可以相互切換顯示。在儲存器1(Memory#1)的地址輸入欄內(nèi)輸入“D:0e0h”,按回車鍵后,可以從內(nèi)部可直接尋址RAM的e0H地址處開始顯示,e0H地址的值就是寄存器a的值,應(yīng)與主寄存器窗口下的值相同。點擊窗口下部分的儲存器2(Memory#2),在Address輸入欄內(nèi)輸入“D:0e0h”,按回車鍵后,可以從內(nèi)部可間接尋址RAM的e0H地址處開始顯示。點擊窗口下部分的Memory#3,在Address輸入欄內(nèi)輸入

6、“C:0x0021”,按回車鍵后,可以從代碼區(qū)域0000H地址處開始顯示,這時各地址值應(yīng)與在反匯編窗口中的值相同。點擊窗口下部分的Memory#4,在Address輸入欄內(nèi)輸入“X:00h”,按回車鍵后,可以從xdataRAM區(qū)域0000H地址處開始顯示。通過Memory窗口修改數(shù)據(jù)在Memory窗口中顯示的數(shù)據(jù)可以修改。例如,要改動data區(qū)域OXE0地址的數(shù)據(jù)內(nèi)容:把鼠標(biāo)移動到該數(shù)據(jù)的顯示位置,按動鼠標(biāo)右鍵在彈出的菜單中選中:更新儲存器“ModifyMemoryatD:0xE0”,在彈出對話框的文本輸入欄內(nèi)輸入相應(yīng)數(shù)值,按

7、回車鍵或點擊OK,修改完成。通過命令行查看數(shù)據(jù)例如,我們想查看data空間從0x01到0x03地址的內(nèi)容,可在命令輸入窗口輸入“dd:0x01,03H”,回車即可完成,d表示data空間,0x01表示起始地址,03H表示結(jié)束地址(注意兩種16進(jìn)制的表示方法在這里都可以接受),輸出結(jié)果在信息輸出窗口中顯示出來。通過命令行修改數(shù)據(jù)例如,我們想把p1口的值從0x02數(shù)據(jù)修改成0x04,可在命令輸入窗口輸入p1=0x04”,回車即可完成,此時如果p1口接有l(wèi)ed,將立即看到led狀態(tài)改變。通過Memory窗口可以看到修改后的數(shù)據(jù):在地

8、址欄輸入d:00H然后回車。儲存器1的d:0x90后的第一個數(shù)據(jù)就變成了04,這正是我們剛才修改的結(jié)果。?7.觀察/修改變量的值在暫停程序運(yùn)行時,可以觀察到有關(guān)的變量值。在監(jiān)視/調(diào)用堆棧(Watch)窗口“局部”頁自動顯示當(dāng)前正在使用的局部變量,不需要用戶自己添加。監(jiān)視(Wa

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。