標(biāo)題:
請問如何確定一個單片機(jī)延時程序的延時時間呢?
[打印本頁]
作者:
明日香
時間:
2020-12-29 10:45
標(biāo)題:
請問如何確定一個單片機(jī)延時程序的延時時間呢?
請問如何確定一個晶振12M的單片機(jī)程序中延時程序延時的時間呢?
比如說12M晶振,晶振周期1/12微妙,一個機(jī)器周期包含12個晶振周期,所以12M晶振時機(jī)器周期=12x(1/12)微秒=1微秒。
那么1MS的延時程序為:
void delay(uint z)//延時函數(shù)1ms
{
uint x,y;
for(x=z;x>0;x--);
for(y=110;y>0;y--);
}
請問這個y=110里這個110是怎么來的?
謝謝大家指點
作者:
xianfajushi
時間:
2020-12-29 11:35
這種延時不需鉆牛角,受其他執(zhí)行影響非常大。
作者:
cheney03
時間:
2020-12-29 11:42
110是自己定的,for循環(huán)110次,如果要延時1ms=1000us,就是兩個for循環(huán)總共要循環(huán)1000次(110*9)左右,調(diào)用延時函數(shù)時形參z取9,delay(9);精確的延時需要用到定時器。
作者:
人人學(xué)會單片機(jī)
時間:
2020-12-29 11:52
一、不同晶振頻率,延遲時間不同。這種計算無意義
二、不同單片機(jī)內(nèi)核,延遲時間不同。這種計算無意義
三、不同的變量長度,延遲時間不同。這種計算無意義
四、變量在不同的存放空間,延遲時間不同。這種計算無意義
五、中斷開多開少,延遲時間不同。這種計算無意義
六、工作中調(diào)試程序, 肯定不會出現(xiàn)這種計算要求的。
七、看《人人學(xué)會單片機(jī)》視頻教程,學(xué)習(xí)框架式編程方式,提高你的代碼執(zhí)行效率,讓單片機(jī)能夠更快的執(zhí)行最多的任務(wù)。這才是你們該學(xué)的。
作者:
湖南
時間:
2020-12-29 14:52
利用單片機(jī)的定時器延時就可以
作者:
leehk88
時間:
2020-12-29 16:16
學(xué)而時習(xí)之 不亦說乎
作者:
dasSpieler
時間:
2020-12-29 18:14
四樓說的很對了,這種延時沒必要精確計算。需要精確延時的話用定時器,這種循環(huán)延時是初學(xué)者比較低端的做法。
作者:
wysh_2004
時間:
2020-12-29 22:42
可以先在KEIL中進(jìn)行軟件仿真,模擬運行,看這段延時程序的延時時間。
作者:
TTQ001
時間:
2020-12-29 23:20
不同晶振頻率,延遲時間不同
應(yīng)該使用單片機(jī)庫提供的延遲子例程。
作者:
踏雪無痕做什么
時間:
2020-12-30 16:12
要精確延時,用中斷定時器,聽說工程實例中不會讓CPU去干這種太長時間的軟件延時。
作者:
1401999503@qq.c
時間:
2020-12-31 00:39
單片機(jī)還是很有意義的,多研究
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1