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