C語言delay函數(shù)延時計算源代碼如下:
我們提供的服務(wù)有:成都網(wǎng)站制作、網(wǎng)站建設(shè)、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、鎮(zhèn)江ssl等。為上千多家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的鎮(zhèn)江網(wǎng)站制作公司
#include "stdlib.h"
void delay()
{
time_t start,end;
start=time(null);
unchar i;
while(z--)
{
for(i=0;ilt;121;i++);
}
end=time(null);
printf("%f",difftime(end,start));
}
擴(kuò)展資料
1、對于要求精確延時時間更長,這時就要采用循環(huán)嵌套的方法來實(shí)現(xiàn),因此,循環(huán)嵌套的方法常用于達(dá)到ms級的延時。
對于循環(huán)語句同樣可以采用for,do…while,while結(jié)構(gòu)來完成,每個循環(huán)體內(nèi)的變量仍然采用無符號字符變量。
單片機(jī)的C語言關(guān)于延時函數(shù)主要有兩種
一種是用for循環(huán),通過單片機(jī)執(zhí)行空指令達(dá)到延時的目的
如:
for(i=0;i100;i++)
{
;
}
這個簡單的語句會執(zhí)行100次空指令
每一次指令的時間可以大概確定
因此這個是最簡單的延時函數(shù)
第二種是通過定時器的方式來實(shí)現(xiàn)
定時器是通過對單片機(jī)的晶振進(jìn)行計數(shù)
然后在定時器中斷服務(wù)函數(shù)里面實(shí)現(xiàn)定時時間的計算及設(shè)置
51單片機(jī)的定時器0中斷服務(wù)函數(shù)為
void
time0()
interrupt
1
{
...
}
下面是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)的
C語言的延遲函數(shù)一般是利用無意義程序運(yùn)行來控制時間從而達(dá)到延時的目的
舉個例子:
for(i=0;ix;i++)
for(j=0;j120;j++);
這是延時x毫秒的for循環(huán)語句。
值得注意的是記得最后的;一定得記得寫。