Keil C51程序調(diào)試過(guò)程
源程序?qū)懲旰?,就可以調(diào)試了,按照?qǐng)D1所示,先進(jìn)行第一步和第二步操作,使界面切換到圖2的狀態(tài),可以看到在文本編輯窗口中,有一個(gè)黃色箭頭指向13行的位置,說(shuō)明程序從這個(gè)位置開(kāi)始執(zhí)行。左上角有一些跟調(diào)試相關(guān)的按鈕,如“全速執(zhí)行”、“單步進(jìn)入”~~~對(duì)于我這個(gè)例子,目的是驗(yàn)證delay()函數(shù)的延遲時(shí)間,使其大約為500ms。按照下列方法可以達(dá)到我的目的:
本文引用地址:http://www.ex-cimer.com/article/201611/315472.htm圖1 編譯界面
圖2 調(diào)試界面
點(diǎn)擊“單步跳出”按鈕(或功能鍵F10),黃色箭頭從第13行往下移一行(14),再單擊“單步跳出”,則箭頭移到15行那邊,表示程序從第13行執(zhí)行到第15行,(注:這種方式是一步一步執(zhí)行程序,如果要同時(shí)執(zhí)行幾行,如從第13行一下子到15行,可以這樣來(lái)做,用鼠標(biāo)在第15行的位置處點(diǎn)擊兩下會(huì)出現(xiàn)一個(gè)圖2所示的紅色圖標(biāo),此時(shí)點(diǎn)擊“全速執(zhí)行”按鈕,則黃色的箭頭則會(huì)從第13行快速移到15行,這兩行同時(shí)執(zhí)行)此時(shí)左邊寄存器窗口中的sec有一個(gè)數(shù)值,表示程序執(zhí)行的時(shí)間(即delay()延遲時(shí)間),可能不是為500ms。此時(shí),改變delay()函數(shù)中x,y的數(shù)值,然后點(diǎn)擊圖1的第二步所對(duì)應(yīng)的按鈕切換到圖1所示的編譯界面上來(lái),點(diǎn)擊“重新構(gòu)造所有對(duì)象文件”編譯一下程序,然后再切換到圖2的界面上來(lái)進(jìn)行調(diào)試。重復(fù)上面的步驟,直到左邊寄存器窗口中的sec(單位秒)數(shù)值大約為0.50s,即可說(shuō)明delay()延遲時(shí)間為500ms。(注:這種方法比較麻煩,而且延遲時(shí)間不會(huì)很精確,如果要精確延遲的話可采用定時(shí)器的方式)
評(píng)論