c語言中delay函式如何運用,C語言中 delay 函式如何運用?

時間 2021-08-30 10:59:03

1樓:匿名使用者

1、delay函式是一般自己定義的一個延時函式。

2、c語言定義延時函式主要通過無意義指令的執行來達到延時的目的。下面給出一個經典的延時函式。

// 定義一個延時xms毫秒的延時函式

void delay(unsigned int xms)  // xms代表需要延時的毫秒數

2樓:匿名使用者

它應該不是標準庫函式,就是讓程式停止執行一段時間,這段時間由delay(int )來決定

3樓:匿名使用者

函式名: delay

功 能: 將程式的執行暫停一段時間(毫秒)用 法: void delay(unsigned milliseconds);

程式例:

/* emits a 440-hz tone for 500 milliseconds */

#include

int main(void)

建議用sleep()函式。

51微控制器c語言中delay函式是怎麼定義和使用的?

4樓:匿名使用者

定義一個延時xms毫秒的延時函式

void delay(unsigned int xms)// xms代表需要延時的毫秒數

使用:void delay10us(uchar ms)i=[(延時值-1.75)*12/ms-15]/41、在c51中進行精確的延時子程式設計時,儘量不要或少在延時子程式中定義區域性變數,所有的延時子程式中變數通過有參函式傳遞。

2、在延時子程式設計時,採用do…while,結構做迴圈體要比for結構做迴圈體好。

3、在延時子程式設計時,要進行迴圈體巢狀時,採用先內迴圈,再減減比先減減,再內迴圈要好。

5樓:天雲一號

delay函式是一般自己定義的一個延時函式。

c語言定義延時函式主要通過無意義指令的執行來達到延時的目的。下面給出一個經典的延時函式。

// 定義一個延時xms毫秒的延時函式

void delay(unsigned int xms)  // xms代表需要延時的毫秒數

6樓:匿名使用者

這是一個延時函式()

裡的unsigned int a是一個形參,為int型變數最 大值為32767;{}裡的unsigned int i和()裡的一樣 只是變數的名稱不同,為i;while就是迴圈語句 如果他後面的()裡的量不為零就執行他{}裡的內容,一旦為零就跳出該語句。for(i=0;i<600;i++);就是把i定為零,如果i在for裡小於600就跳到第三步i++(也就是i自增1);然後i=1但他還是小於600,接著就到第三步。。。。599次之後i=600,600就不小於600,這時就跳出for。

while後的()如果為零就跳出while

7樓:匿名使用者

5 51微控制器c語言中delay函式是怎麼定義和使用的?

voiddelay(unsignedinta){unsignedinti;while(--a!=0)

8樓:匿名使用者

c的話其實時間沒有辦法完全定性地計算的

如果非得精確的話只能使用定時器了,或者彙編的也行不過時間要求精度不是很高的話使用下面的**就行了當時使用示波器把時間完全調準的,65536ms範圍內還是比較準的,已經可以滿足通常的要求了:

#include "reg51.h" //標頭檔案包含//巨集定義

#define uint unsigned int#define uchar unsigned charvoid delay(uint ms) // 毫秒級延時(at89c52 @ 11.0592mhz)

//112}}

呼叫方式如下:

delay(400); //開機延時400ms夠詳細了吧?!

9樓:神奇號

假如說執行for(i = 0; i < 600; i++); 要1s,那a決定了執行1s的次數,這個延時就是a秒,懂了嗎?

不過12m晶振的話,大家一般是for(i = 0; i < 114; i++); 執行這句要1ms

10樓:匿名使用者

這是個延遲函式,delay 括號中的表示式是定義的無符號的整形變數,它是形參,你只要知道它是定義一個變數既可,它的值由main 函式傳遞過來,a的值有了,就進入了while 迴圈。不知你是否學過c語言,如果沒有,就看看while 迴圈。

11樓:匿名使用者

delay後面的()當中的a,是呼叫函式時,傳遞過來的變數,此值越大,延遲的時間就越長。

delay的c語言怎麼用

12樓:河蟹和諧河蟹

delay([毫秒數]);

作用是讓當前程序等待[毫秒數],防止100% cpu佔有率。

13樓:匿名使用者

給你一個e2prom下,控制led顯示時間的程式希望對你的學習有幫助。

#include

#define uchar unsigned char#define uint unsigned intsbit sda=p2^0;

sbit scl=p2^1;

sbit dula=p2^6;

sbit wela=p2^7;

uchar flag,sec;

uint num;

uchar code table=;

void delay()

void start() //開始訊號

void stop() //停止

void respons() //應答

void init()

void write_byte(uchar date)sda=1;

delay();

}uchar read_byte()

return k;

}void delayms(uchar x)void write_add(uchar address,uchar date)

uchar read_add(uchar address)void display(uchar shi,uchar ge)void main()}}

void t0_time() interrupt 1}}

14樓:匿名使用者

這兩個函式都是將程式的執行暫停一段時間。

sleep是api函式,delay似乎是c專有的。

裡面的引數都是毫秒。

delay(1000)是暫停1000毫秒(1秒)sleep(1)是暫停1毫秒

自然會有不同

15樓:福建省寧德市

用 法: void delay(unsigned milliseconds);

程式例:

/* emits a 440-hz tone for 500 milliseconds */

#include

int main(void)

函式名: delay

功 能: 將程式的執行暫停一段時間(毫秒)(該函式是tc下特有的函式,vc下應使用sleep()函式)函式標頭檔案:#include

微控制器c語言中delay()函式的標頭檔案是什麼?

16樓:會飛的小兔子

delay函式是一個自己bai定義的du

延時函式,c語言定義延時函式主要zhi通過無意義指dao令的執回行來達到延時的目,並沒

答有一個軟體自帶標頭檔案專門有delay這個函式的。

微控制器c語言中delay()的使用:

voiddelay10us(ucharms)i=[(延時值-1.75)*12/ms-15]/4擴充套件資料把delay(10000)改為100000voidmain()

delay(100000);

printf("%c",str[i]);

}getch();}

17樓:天雲一號

delay( )函式並不是

來標準庫函自數,是程式設計人員自定義的一個函式(通常是延時函式),所以其並不包含在其他標頭檔案中。

下面給出51微控制器中一個常見的延時函式。

// 延時z毫秒的延時函式

void delay(unsigned int z)

18樓:匿名使用者

沒有一個軟體自帶標頭檔案是專門有delay這種函式的,delay就是延時,一般都是在自定義的標頭檔案裡,或者直接在主函式所在的檔案定義

19樓:匿名使用者

delay 一般是自己寫的軟體延遲函式!

20樓:李威威

51微控制器是自己寫延遲函式

c語言中清屏函式是什麼,C語言中清屏函式是什麼?

莊生曉夢 c語言中清屏函式是為清除螢幕上的輸出功能,用法是 void clrscr void 程式例 include int main int i clrscr for i 0 i 20 i cprintf d r n i cprintf r npress any key to clear scre...

c語言中,函式返回值怎麼用,c語言中呼叫函式如何返回多個值?

斑駁丶4129仉 一般用0表示函式執行正確,正常返回 用負數表示函式執行出錯,每個值可以提前定義,根據出錯的值進行出錯處理。誠心為您解答每一個問題!如您滿意請採納最佳!如有疑問請繼續追問!您的好評是我們前進的動力,相互幫助,一起進步! return後接一個值。在呼叫這個函式的函式裡面,呼叫它的時候希...

C語言中的sprint函式問題,C語言中迴圈問題

好程式設計師 sprintf函式原型為 int sprintf char str,const char format,作用是格式化字串,具體功能如下所示 1 將數字變數轉換為字串。2 得到整型變數的16進位制和8進位制字串。3 連線多個字串。舉例如下所示 1 char str 256 2 int d...