下面是delay
在鎮(zhèn)沅等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站建設(shè)、網(wǎng)站制作 網(wǎng)站設(shè)計(jì)制作按需定制開(kāi)發(fā),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站建設(shè),全網(wǎng)整合營(yíng)銷推廣,成都外貿(mào)網(wǎng)站建設(shè),鎮(zhèn)沅網(wǎng)站建設(shè)費(fèi)用合理。
函數(shù)原型:
原型:
void
Delay(unsigned
int
nDelay)
{
unsigned
int
i,j,k;
for
(
i=0;inDelay;i++
)
for
(
j=0;j6144;j++
)
k++;
}
用法:#include
system.h
功能:短暫延時(shí)
說(shuō)明:延時(shí)msec*4毫秒所以,delay的延遲時(shí)間是和你的cpu時(shí)鐘周期相關(guān)的
C語(yǔ)言中的delay函數(shù)是一個(gè)簡(jiǎn)單的延遲程序,它通過(guò)循環(huán)來(lái)浪費(fèi)CPU時(shí)間,使程序暫停一段時(shí)間。雖然這個(gè)函數(shù)在某些特定情況下可能會(huì)有用,但是它也有一些缺點(diǎn)和副作用:
1. 占用CPU資源:delay函數(shù)循環(huán)浪費(fèi)CPU時(shí)間,阻止其他程序能夠在同一時(shí)間內(nèi)運(yùn)行。因此,在程序需要同時(shí)處理多個(gè)任務(wù)時(shí),使用delay函數(shù)可能不是最好的選擇。
2. 穩(wěn)定性問(wèn)題:由于delay函數(shù)暫停了程序的執(zhí)行,所以如果程序中的其它部分需要在固定時(shí)間內(nèi)完成某個(gè)任務(wù),則在執(zhí)行delay函數(shù)時(shí)可能會(huì)引入不必要的延遲,從而影響程序的穩(wěn)定性。
3. 具有依賴性:對(duì)于延遲函數(shù),其延遲的時(shí)間通常是根據(jù)CPU的工作頻率來(lái)計(jì)算的。因此,如果CPU的運(yùn)行頻率發(fā)生變化,例如由于CPU溫度過(guò)高或其他原因,那么延遲的時(shí)間將會(huì)有變化,這將會(huì)導(dǎo)致程序行為的不確定性。
總之,盡管delay函數(shù)在某些情況下可能很有用,但是一般情況下應(yīng)該避免使用它。如果你的程序需要進(jìn)行延遲操作,請(qǐng)考慮使用硬件定時(shí)器或者操作系統(tǒng)提供的相應(yīng)功能,這些方法更加準(zhǔn)確和可靠。
定義一個(gè)延時(shí)xms毫秒的延時(shí)函數(shù)
void delay(unsigned int xms) // xms代表需要延時(shí)的毫秒數(shù)
{
unsigned int x,y;
for(x=xms;x》0;x--)
for(y=110;y》0;y--);
}
使用:
void Delay10us(uchar Ms)
{
uchar data i;
for(;Ms》0;Ms--)
for(i=26;i》0;i--);
}
i=[(延時(shí)值-1.75)*12/Ms-15]/4
擴(kuò)展資料
1、在C51中進(jìn)行精確的延時(shí)子程序設(shè)計(jì)時(shí),盡量不要或少在延時(shí)子程序中定義局部變量,所有的延時(shí)子程序中變量通過(guò)有參函數(shù)傳遞。
2、在延時(shí)子程序設(shè)計(jì)時(shí),采用do…while,結(jié)構(gòu)做循環(huán)體要比f(wàn)or結(jié)構(gòu)做循環(huán)體好。
3、在延時(shí)子程序設(shè)計(jì)時(shí),要進(jìn)行循環(huán)體嵌套時(shí),采用先內(nèi)循環(huán),再減減比先減減,再內(nèi)循環(huán)要好。
1、delay函數(shù)是一般自己定義的一個(gè)延時(shí)函數(shù)。
2、C語(yǔ)言定義延時(shí)函數(shù)主要通過(guò)無(wú)意義指令的執(zhí)行來(lái)達(dá)到延時(shí)的目的。下面給出一個(gè)經(jīng)典的延時(shí)函數(shù)。
//?定義一個(gè)延時(shí)xms毫秒的延時(shí)函數(shù)
void?delay(unsigned?int?xms)??//?xms代表需要延時(shí)的毫秒數(shù)
{
unsigned?int?x,y;
for(x=xms;x0;x--)
for(y=110;y0;y--);
}