用MCS-51單片機軟體Keil C51編寫程序時,經常需要調試,如果不是經常用這個軟體的話,很容易忘記這些調試步驟,現在舉一個例子「驗證延遲函數delay()使其延遲的時間為500ms」供以後複習查考。
源程序寫完後,就可以調試了,按照圖1所示,先進行第一步和第二步操作,使界面切換到圖2的狀態,可以看到在文本編輯窗口中,有一個黃色箭頭指向13行的位置,說明程序從這個位置開始執行。左上角有一些跟調試相關的按鈕,如「全速執行」、「單步進入」~~~對於我這個例子,目的是驗證delay()函數的延遲時間,使其大約為500ms。按照下列方法可以達到我的目的:
本文引用地址:http://www.eepw.com.cn/article/201611/315472.htm圖1 編譯界面
圖2 調試界面
點擊「單步跳出」按鈕(或功能鍵F10),黃色箭頭從第13行往下移一行(14),再單擊「單步跳出」,則箭頭移到15行那邊,表示程序從第13行執行到第15行,(註:這種方式是一步一步執行程序,如果要同時執行幾行,如從第13行一下子到15行,可以這樣來做,用滑鼠在第15行的位置處點擊兩下會出現一個圖2所示的紅色圖標,此時點擊「全速執行」按鈕,則黃色的箭頭則會從第13行快速移到15行,這兩行同時執行)此時左邊寄存器窗口中的sec有一個數值,表示程序執行的時間(即delay()延遲時間),可能不是為500ms。此時,改變delay()函數中x,y的數值,然後點擊圖1的第二步所對應的按鈕切換到圖1所示的編譯界面上來,點擊「重新構造所有對象文件」編譯一下程序,然後再切換到圖2的界面上來進行調試。重複上面的步驟,直到左邊寄存器窗口中的sec(單位秒)數值大約為0.50s,即可說明delay()延遲時間為500ms。(註:這種方法比較麻煩,而且延遲時間不會很精確,如果要精確延遲的話可採用定時器的方式)