Keil Uvision3調(diào)試疑難解析:解決無(wú)法調(diào)試程序問(wèn)題
【段落一】
該句的涵義為:
系統(tǒng)提示地址斷點(diǎn)已設(shè)置,是否需要重新設(shè)置斷點(diǎn)?當(dāng)在同一位置重復(fù)設(shè)置斷點(diǎn)時(shí),就會(huì)出現(xiàn)此提示。
在設(shè)置斷點(diǎn)時(shí),只需在語(yǔ)句最左邊的灰色列上單擊即可。設(shè)置的斷點(diǎn)會(huì)在打開(kāi)debug菜單的breakpoints選項(xiàng)后,于對(duì)話(huà)框中顯示。
若未設(shè)置或已清除斷點(diǎn)但仍然出現(xiàn)此提示,則需清除所有斷點(diǎn),重新編譯程序并重新設(shè)置。
【段落二】
確保你的編譯過(guò)程是成功的。
接著,如圖所示,點(diǎn)擊第1步的標(biāo)識(shí)(d)。
之后,將自動(dòng)顯示第1步的projectworkspce。在此,你可以觀(guān)察到寄存器的值(1)。第二步(1)的Disaeembly窗口也能被打開(kāi)(2),在此窗口中,你可以看到C語(yǔ)言的反匯編以及變量的值。如第二步所指的 *** 部分,可以觀(guān)察到CLRA;MOVIAP_DATA,即IAP_DATA等于0x00。
第2步(2)中,輸入變量的名稱(chēng),即可看到其具體值(3)。
【段落三】
我曾遇到過(guò)類(lèi)似問(wèn)題,我認(rèn)為可能與Keil程序及其字符編碼設(shè)置有關(guān)。
以下是從Baidu搜索到的相關(guān)信息:
來(lái)自Keil:
uVision3相比uV2增加了對(duì)更多型號(hào)單片機(jī)的支持,并對(duì)一些方面進(jìn)行了優(yōu)化。但同時(shí)也帶來(lái)一個(gè)問(wèn)題,即光標(biāo)位置顯示不正確,這給程序編寫(xiě)帶來(lái)不便。這個(gè)問(wèn)題是有解決辦法的。
解決方法一:進(jìn)入uV3,選擇【Edit】→【Configuration】→【Colors&Fonts】。在【W(wǎng)indow】框中,對(duì)Asm文件編輯狀態(tài)和C文件編輯狀態(tài)等字體與顏色進(jìn)行設(shè)置。選擇相應(yīng)的文件類(lèi)型,如【8051:Editor Asm Files】,然后點(diǎn)擊【Font】后面的按鈕,打開(kāi)字體選擇對(duì)話(huà)框。選擇字體為Fixedsys,字號(hào)設(shè)置為10。同樣地,對(duì)C文件進(jìn)行相同設(shè)置。完成后點(diǎn)擊確定。
解決方法二:修改Keil安裝目錄下的tools.ini文件。使用記事本打開(kāi)tools.ini文件,在第三行后增加一行:ANSI=1。修改后的內(nèi)容示例如下:[原內(nèi)容]...[修改后添加的ANSI=1]...OK,這樣問(wèn)題就解決了。
Keil C51是Keil Software公司出品的51系列兼容單片機(jī)C語(yǔ)言軟件開(kāi)發(fā)系統(tǒng)。相比匯編語(yǔ)言,C語(yǔ)言在功能、結(jié)構(gòu)性、可讀性、可維護(hù)性方面有明顯優(yōu)勢(shì),因此更容易學(xué)習(xí)和使用。使用過(guò)匯編語(yǔ)言后轉(zhuǎn)而使用C語(yǔ)言進(jìn)行開(kāi)發(fā),體驗(yàn)會(huì)更加深刻。
【段落四】
運(yùn)行KEIL51軟件,如圖2所示。要建立項(xiàng)目,點(diǎn)擊Project菜單,選擇下拉式菜單中的New Project。隨后彈出一個(gè)標(biāo)準(zhǔn)Windows文件對(duì)話(huà)窗口,在“文件名”中輸入您的第一個(gè)C程序項(xiàng)目名稱(chēng),保存后的文件擴(kuò)展名為uv2,這是KEIL uVision2項(xiàng)目文件擴(kuò)展名。以后我們可以直接點(diǎn)擊此文件來(lái)打開(kāi)先前做過(guò)的項(xiàng)目。
在選擇單片機(jī)時(shí),我們選擇常用的Ateml公司的AT89C51。完成上述步驟后,我們就可以開(kāi)始編寫(xiě)程序了。
點(diǎn)擊保存新建的程序,也可以通過(guò)菜單File-Save或使用快捷鍵Ctrl+S進(jìn)行保存。我們將第一個(gè)程序命名為test1.c,保存在項(xiàng)目所在的目錄中。這時(shí)你會(huì)發(fā)現(xiàn)程序的單詞有了不同的顏色,說(shuō)明KEIL的C語(yǔ)法檢查生效了。如圖所示,在屏幕左側(cè)的Source Group1文件夾圖標(biāo)上右擊彈出菜單,我們可以在這里進(jìn)行在項(xiàng)目中增加或減少文件等操作。選擇Add File to Group'Source Group 1',彈出文件窗口,選擇剛剛保存的文件,點(diǎn)擊ADD按鈕,關(guān)閉文件窗口,程序文件即已添加到項(xiàng)目中了。這時(shí)在Source Group1文件夾圖標(biāo)左邊會(huì)出現(xiàn)一個(gè)小+號(hào)標(biāo)識(shí),表示文件組中已有文件。點(diǎn)擊它可以展開(kāi)查看。如圖4所示。
【段落五】
C程序文件已加入到項(xiàng)目中,接下來(lái)就是編譯運(yùn)行了。如圖5所示,圖中的編譯按鈕1用于編譯單個(gè)文件,按鈕2用于編譯當(dāng)前項(xiàng)目。如果先前編譯過(guò)且文件沒(méi)有做動(dòng)編輯改動(dòng),再次點(diǎn)擊不會(huì)重新編譯。按鈕3是重新編譯按鈕,每次點(diǎn)擊都會(huì)重新編譯鏈接,不管程序是否有改動(dòng)。在按鈕3的右邊是停止編譯按鈕,只有點(diǎn)擊了前三個(gè)中的任一個(gè),停止按鈕才會(huì)生效。在圖4中可以看到編譯的錯(cuò)誤信息和使用的系統(tǒng)資源情況等,這是我們查錯(cuò)的重要依據(jù)。圖中的小放大鏡按鈕是開(kāi)啟/關(guān)閉調(diào)試模式的按鈕,也可以在菜單Debug中選擇Start/Stop Debug Session進(jìn)行操作,其快捷鍵為Ctrl+F5。
創(chuàng)建HEX文件