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