LPC21xx C程序的精確延時(shí)方法
2.3 使用反匯編工具計算延時(shí)時(shí)間
對于不熟悉示波器但熟悉匯編語(yǔ)言,并且了解指令周期的開(kāi)發(fā)人員來(lái)說(shuō),可以用ADSl.2中AXD Debugger的反匯編工具計算延時(shí)時(shí)間。在反匯編窗口中可用源程序和匯編程序的混合代碼或匯編代碼顯示目標應用程序,再根據每條指令周期計算出結果。例如:
其反匯編結果如圖7所示。
這種方法最直觀(guān),但是要求開(kāi)發(fā)人員熟練掌握匯編語(yǔ)言及指令周期,并且理解流水線(xiàn)及Cache的工作原理等,需要花費大量的精力,而且指令周期只對低端單片機有用。因此,對于初學(xué)者這種方法不可取。
結語(yǔ)
掌握延時(shí)程序的編寫(xiě),能夠使程序準確得以執行,這對學(xué)習和項目開(kāi)發(fā)有著(zhù)重要的意義。本文介紹了LPC21xx系列微控制器的幾種計算延時(shí)程序執行時(shí)間并實(shí)現精確延時(shí)的方法。使用定時(shí)器進(jìn)行延時(shí)是最佳的選擇,可以提高CPU工作效率。在使用系統管理任務(wù)時(shí),可以選擇使用系統延時(shí)函數;在不使用嵌入式系統,無(wú)法使用定時(shí)器而又需要實(shí)現比較精確的延時(shí)時(shí),其他幾種方法可以實(shí)現不等時(shí)間的延時(shí)。
寫(xiě)延時(shí)程序是一項很麻煩的任務(wù),可能需要多次修改才能滿(mǎn)足要求,以上介紹只是提供了一些精確延時(shí)的方法,在使用時(shí)需視情況而定。
評論