LPC21xx C程序的精確延時方法
示波器觀察到的波形以及延時情況如圖2所示。本文引用地址:http://butianyuan.cn/article/151264.htm
2.2 使用示波器確定延時時間
LPC21xx系列微控制器基于ARM7TDMI-S內(nèi)核,采用三級流水線結(jié)構(gòu),如圖3所示。處理和存儲系統(tǒng)的所有部分都可連續(xù)工作。通常在執(zhí)行一條指令的同時就對下一條指令進行譯碼,并將第三條指令從存儲器中取出。
因帶有Cache,所以具體指令執(zhí)行時間會有不同,在學習和開發(fā)過程中需要對指令時間有較粗略的判斷,具體到μs級、ms級的延時。雖然采用定時器似乎比較精確,但是定時器不能解決所有問題,有些情況還需要用到軟件延時。代碼如下:
使PO.7口輸出方波,高低電平延時時間為dly=1。通過示波器觀察延時時間,具體波形如圖4所示。
10 μs和1μs延時程序的波形分別如圖5和圖6所示。在主函數(shù)里調(diào)用以上函數(shù),就可以實現(xiàn)非精確延時。采用這種方法,雖然延時不是十分精確,但是不占用資源,并且可移植性很好,示波器效果觀察起來直觀。因此,在不要求延時很精確的情況下,可以采用此方法進行定時。
評論