新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > Keil C51程序調(diào)試過程

        Keil C51程序調(diào)試過程

        作者: 時(shí)間:2016-11-17 來源:網(wǎng)絡(luò) 收藏
        用MCS-51單片機(jī)軟件Keil C51編寫程序時(shí),經(jīng)常需要調(diào)試,如果不是經(jīng)常用這個(gè)軟件的話,很容易忘記這些調(diào)試步驟,現(xiàn)在舉一個(gè)例子“驗(yàn)證延遲函數(shù)delay()使其延遲的時(shí)間為500ms”供以后復(fù)習(xí)查考。

        源程序?qū)懲旰螅涂梢哉{(diào)試了,按照圖1所示,先進(jìn)行第一步和第二步操作,使界面切換到圖2的狀態(tài),可以看到在文本編輯窗口中,有一個(gè)黃色箭頭指向13行的位置,說明程序從這個(gè)位置開始執(zhí)行。左上角有一些跟調(diào)試相關(guān)的按鈕,如“全速執(zhí)行”、“單步進(jìn)入”~~~對于我這個(gè)例子,目的是驗(yàn)證delay()函數(shù)的延遲時(shí)間,使其大約為500ms。按照下列方法可以達(dá)到我的目的:

        本文引用地址:http://www.104case.com/article/201611/315472.htm

        圖1 編譯界面

        圖2 調(diào)試界面

        點(diǎn)擊“單步跳出”按鈕(或功能鍵F10),黃色箭頭從第13行往下移一行(14),再單擊“單步跳出”,則箭頭移到15行那邊,表示程序從第13行執(zhí)行到第15行,(注:這種方式是一步一步執(zhí)行程序,如果要同時(shí)執(zhí)行幾行,如從第13行一下子到15行,可以這樣來做,用鼠標(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的第二步所對應(yīng)的按鈕切換到圖1所示的編譯界面上來,點(diǎn)擊“重新構(gòu)造所有對象文件”編譯一下程序,然后再切換到圖2的界面上來進(jìn)行調(diào)試。重復(fù)上面的步驟,直到左邊寄存器窗口中的sec(單位秒)數(shù)值大約為0.50s,即可說明delay()延遲時(shí)間為500ms。(注:這種方法比較麻煩,而且延遲時(shí)間不會(huì)很精確,如果要精確延遲的話可采用定時(shí)器的方式)



        關(guān)鍵詞: KeilC51程序調(diào)

        評論


        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 麻栗坡县| 河东区| 庆安县| 岗巴县| 财经| 获嘉县| 大关县| 车致| 进贤县| 昌乐县| 岳阳市| 巴南区| 遵义县| 思茅市| 南丹县| 临武县| 江山市| 梅州市| 湖口县| 江门市| 桐庐县| 南昌县| 隆尧县| 老河口市| 建湖县| 湾仔区| 安多县| 集安市| 大姚县| 泰州市| 蓝山县| 镇坪县| 磐石市| 定陶县| 建水县| 祥云县| 称多县| 连南| 大同县| 靖州| 宜川县|