新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 關(guān)于單片機(jī)延時(shí)程序中參數(shù)類型對(duì)延時(shí)的影響

關(guān)于單片機(jī)延時(shí)程序中參數(shù)類型對(duì)延時(shí)的影響

作者: 時(shí)間:2016-11-25 來(lái)源:網(wǎng)絡(luò) 收藏
今天別人問了一個(gè)關(guān)于天祥延時(shí)程序的問題。

void delay(unsigned int z)

本文引用地址:http://2s4d.com/article/201611/321144.htm

unsigned int x,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

對(duì)于此延時(shí)函數(shù)中,系統(tǒng)時(shí)鐘為11.0592MHz,當(dāng)z取1時(shí),延時(shí)時(shí)間大約為1ms,即當(dāng)z去m,其延時(shí)時(shí)間就m ms.但是,當(dāng)把x和y的類型都修改為char型時(shí),z同樣取1,其延時(shí)卻變?yōu)?.2ms,為原來(lái)的1/5。剛開始一直沒想明白,原以為兩種定義類型都應(yīng)該是一樣的,但實(shí)際卻不是如此。經(jīng)過多方打探,覺得下面的解釋還比較好。由于在51單片機(jī)中,int型數(shù)據(jù)占2個(gè)字節(jié)(16位),而char型只占1個(gè)字節(jié)(8位),因此,在運(yùn)行的過程中自然時(shí)間要短很多。



評(píng)論


技術(shù)專區(qū)

關(guān)閉