delay怎么計(jì)算延時(shí)
鐸妹13717469186咨詢: 單片機(jī)的延時(shí)程序 -
都昌縣面符號(hào)回復(fù):
______ 去百度文庫(kù),查看完整內(nèi)容> 內(nèi)容來(lái)自用戶:天成信息 單片機(jī)延時(shí)方法總結(jié) 實(shí)現(xiàn)延時(shí)通常有兩種方法:一種是硬件延時(shí),要用到定時(shí)器/計(jì)數(shù)器,這種方法可以提高CPU的工作效率,也能做到精確延時(shí);另一種是軟件延時(shí),這種方法主要采用循...
鐸妹13717469186咨詢: 單片機(jī)延時(shí)程序的延時(shí)時(shí)間怎么算的? -
都昌縣面符號(hào)回復(fù):
______ 單片機(jī)的延時(shí)程序通過(guò)執(zhí)行指令來(lái)達(dá)到延時(shí)效果,這個(gè)時(shí)間等于執(zhí)行的指令需要的時(shí)間,而一個(gè)指令需要的時(shí)間叫做指令周期,這個(gè)時(shí)間等于若干個(gè)機(jī)器周期. 擴(kuò)展資料: 1丶指令周期,是每種運(yùn)算需要的時(shí)間,如加法、邏輯等,是每一步進(jìn)行這種指令運(yùn)算需要的時(shí)間,是機(jī)器周期的整數(shù)倍,這種周期不定. 2丶51單片機(jī)12M晶振,晶振周期1/12微妙,一個(gè)機(jī)器周期包含12個(gè)晶振周期,所以12M晶振時(shí)機(jī)器周期=12x(1/12)微妙=1微妙. 3丶1個(gè)毫秒延時(shí)子程序如下: void delay1ms(uint ms) { uint i,j; for(i=0;i<ms;i++) { for(j=0;j<110;j++); } }
鐸妹13717469186咨詢: 計(jì)算C程序中的延時(shí)問(wèn)題 -
都昌縣面符號(hào)回復(fù):
______ delay 延時(shí) ms 解釋為毫秒 毫秒和秒的換算率為1000.因此,Delayms(1000) 實(shí)則是延時(shí)1 秒5000則是5秒10000則是10秒.類似的函數(shù)有 Sleep(1000) c++里所有的時(shí)間單位,都是以毫秒計(jì)算的.
鐸妹13717469186咨詢: 51單片機(jī)使用匯編語(yǔ)言循環(huán)延遲時(shí)間怎么算? -
都昌縣面符號(hào)回復(fù):
______ 舉例來(lái)說(shuō)明吧: delay: mov r0,#10 ;1 delay1: mov r1,#100 ;1*10 djnz r1,$ ;2*100*10 djnz r0,delay1 ;2*10 ret ;2 total=1+1*10+2*100*10+2*10+2=2033 time=total*1/(focse/12) 總結(jié): 第一步:在延時(shí)程序沒(méi)行后邊標(biāo)注該指令執(zhí)行的機(jī)器周期 第二步:在機(jī)器周期后邊乘以該指令循環(huán)的次數(shù) 第三步:計(jì)算總共用的機(jī)器周期數(shù) 第四步:計(jì)算總延時(shí)時(shí)間.
鐸妹13717469186咨詢: 外部晶振如果為12MHz,i執(zhí)行了600次為什么延時(shí)1ms,這是怎么算的 -
都昌縣面符號(hào)回復(fù):
______ 這種延時(shí),不會(huì)太精確的,一般是這樣測(cè)算的:while ( 1 ) { SetGPIOLow; Delay(1); SetGPIOHigh; Delay(1); } 然后在程序運(yùn)行時(shí)用示波器查看設(shè)置的GPIO管腳波形,看其頻率是否正確,否則調(diào)整Delay函數(shù)中的600,擴(kuò)大或縮小,使Delay延時(shí)約1ms
鐸妹13717469186咨詢: 單片機(jī)的延時(shí)怎么計(jì)算? -
都昌縣面符號(hào)回復(fù):
______ delayxms:mov 52h,#4 ;50h,51h,52h用于延時(shí) 50h為參數(shù)x 延時(shí)1*x ms delaya: mov 51h,#191 nop nop djnz 51h,$ djnz 52h,delaya djnz 50h,delayxms ret ;延時(shí)返回 這就是個(gè)延遲函數(shù).這個(gè)函數(shù)的延遲時(shí)間不但要看 你這幾個(gè)值,還跟晶振有關(guān).晶...
鐸妹13717469186咨詢: 51單片機(jī)C語(yǔ)言程序中延時(shí)函數(shù)delay的原理是什么? -
都昌縣面符號(hào)回復(fù):
______ 1:原理:僅僅執(zhí)行一些,沒(méi)有實(shí)質(zhì)性影響的所謂“無(wú)意義指令”,比如做比大小啊,做某個(gè)int的自加運(yùn)算啊之類的 2:兩重for的作用:簡(jiǎn)單的說(shuō),就像高中數(shù)學(xué)中的“乘法原理”一樣,這樣可以很輕易的迅速增加上述“無(wú)意義指令”的數(shù)目 3...
鐸妹13717469186咨詢: arduino delay(200)是多少 -
都昌縣面符號(hào)回復(fù):
______ delay(200)相當(dāng)于0.02秒 在keil中調(diào)試時(shí)設(shè)置斷點(diǎn)后,運(yùn)行可以計(jì)算出你需要的時(shí)間的 1、函數(shù)名: delay 功 能: 將程序的執(zhí)行暫停一段時(shí)間(毫秒) (該函數(shù)是TC下特有的函數(shù),VC下應(yīng)使用Sleep()函數(shù)) 用 法: void delay(unsigned milliseconds); 2、WinAVR avr/delay函數(shù)的用法:在avr GCC的函數(shù)庫(kù)中包有個(gè)非常有用的精確延時(shí)函數(shù), #include <util/delay.h> 其中包括,4個(gè)函數(shù) _delay_loop_1( ); _delay_loop_2( ); _delay_us( ); _delay_ms( );
鐸妹13717469186咨詢: 任意型號(hào)單片機(jī),延遲1或2秒怎么寫?12M,24M怎么算?for后面怎么寫.要過(guò)程不要結(jié)果.
都昌縣面符號(hào)回復(fù):
______ 一般先寫一個(gè)延時(shí)幾個(gè)毫秒的子程序,很簡(jiǎn)單.void delay( int ms ) { while( ms-- ) { int i = 延時(shí)常數(shù); do { _nop_(); } while( --i ); } } 要延時(shí)一秒鐘,就是1000ms,delay( 1000 ); 幾個(gè)注意事項(xiàng),1、延時(shí)程序沒(méi)有關(guān)中斷,所以中斷程序會(huì)影響定時(shí)精度.2、延時(shí)常數(shù)可以用軟仿真程序?qū)嶒?yàn)確定,需要根據(jù)不同的單片機(jī)、晶振頻率調(diào)整延時(shí)常數(shù).3、想要適用任意型號(hào)單片機(jī),內(nèi)層循環(huán)最好加一句空操作,通常這可以阻止編譯時(shí)優(yōu)化程序.
鐸妹13717469186咨詢: 單片機(jī)延時(shí)時(shí)間程序怎么編程 -
都昌縣面符號(hào)回復(fù):
______ 舉一個(gè)例子來(lái)說(shuō)明吧.比如你要編一個(gè)延時(shí)50毫秒的子程序,那么步驟如下:1、查看一下你的硬件環(huán)境,比如晶振大小,CPU型號(hào),不用CPU指令的機(jī)器周期是不一樣的.2、計(jì)算延時(shí)需要的機(jī)器周期.比如采用12M晶振,CPU采用通用8051,...