如果是PC平臺,用VC開發(fā),實現(xiàn)一毫秒延時可以用以下程序:
成都創(chuàng)新互聯(lián)是一家朝氣蓬勃的網(wǎng)站建設(shè)公司。公司專注于為企業(yè)提供信息化建設(shè)解決方案。從事網(wǎng)站開發(fā),網(wǎng)站制作,網(wǎng)站設(shè)計,網(wǎng)站模板,微信公眾號開發(fā),軟件開發(fā),小程序制作,10多年建站對成都陽臺護欄等多個方面,擁有多年的網(wǎng)站設(shè)計經(jīng)驗。
#include?stdio.h
#include?windows.h?//Sleep函數(shù)對應(yīng)的庫
int?main()
{
int?i;
for?(i=0;?i11;?i++)
{
printf("%d\n",?i);
Sleep(1);//?1?單位是毫秒,實現(xiàn)等待一毫秒
}
return?0;
}
如果是嵌入式平臺,單片機、dsp等
可以采用芯片的定時器實現(xiàn)精確延時,采用定時器中斷,這是就需要根據(jù)晶振周期來精確設(shè)定定時器初值,然后延時到了就產(chǎn)生中斷
下面是delay
函數(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
功能:短暫延時
說明:延時msec*4毫秒所以,delay的延遲時間是和你的cpu時鐘周期相關(guān)的
定義一個延時xms毫秒的延時函數(shù)
void delay(unsigned int xms) // xms代表需要延時的毫秒數(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=[(延時值-1.75)*12/Ms-15]/4
擴展資料
1、在C51中進行精確的延時子程序設(shè)計時,盡量不要或少在延時子程序中定義局部變量,所有的延時子程序中變量通過有參函數(shù)傳遞。
2、在延時子程序設(shè)計時,采用do…while,結(jié)構(gòu)做循環(huán)體要比for結(jié)構(gòu)做循環(huán)體好。
3、在延時子程序設(shè)計時,要進行循環(huán)體嵌套時,采用先內(nèi)循環(huán),再減減比先減減,再內(nèi)循環(huán)要好。
C語言的延遲函數(shù)一般是利用無意義程序運行來控制時間從而達到延時的目的
舉個例子:
for(i=0;ix;i++)
for(j=0;j120;j++);
這是延時x毫秒的for循環(huán)語句。
值得注意的是記得最后的;一定得記得寫。