delay函式怎麼用呢,delay的c語言怎麼用

2021-03-03 21:07:10 字數 3286 閱讀 7772

1樓:☆你大爺

函式名: delay

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

程式例:

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

#include

int main(void)

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

2樓:匿名使用者

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

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

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

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

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

3樓:天雲一號

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

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

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

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

4樓:匿名使用者

這是一個延時函式()

裡的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

5樓:匿名使用者

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

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

6樓:匿名使用者

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

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

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

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

//112}}

呼叫方式如下:

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

7樓:神奇號

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

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

8樓:匿名使用者

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

9樓:匿名使用者

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

delay的c語言怎麼用

10樓:河蟹和諧河蟹

delay([毫秒數]);

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

11樓:匿名使用者

給你一個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}}

12樓:匿名使用者

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

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

裡面的引數都是毫秒。

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

自然會有不同

13樓:福建省寧德市

用 法: void delay(unsigned milliseconds);

程式例:

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

#include

int main(void)

函式名: delay

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

Excel Vlookup函式怎麼用

vlookup函式,遮蔽0與na值 excel中vlookup函式如何使用,我教你!vlookup函式的使用方法。方法 步驟 為了講解的需要,特製作如圖所示的 當然,大家也可以根據自己的實際情況設計合適的內容。接下來,我們的任務是通過利用vlookup函式來實現查詢同學c的成績。為此在單元格中輸入 ...

getcharputchar函式該怎麼用啊

你可以把要輸出的字串放在一個字元陣列中,再用一個迴圈語句逐個輸出字元 例如 include main getchar也是一樣 用一個迴圈語句 例 putchar函式的格式和使用方法。1 include stdio.h 2 void main 3程式執行結果如下 newnew 1 putchar函式的...

ecel怎麼用迴圈函式,Excel怎麼用迴圈函式

利用迭代計算實現迴圈 1在使用excel過程中,我們可能會出現一種情況,就是單元格有時會對本身進行引用,即形如在b2單元格中輸入 b2 1 之類的公式即為一種迴圈引用自身的行為。為了避免死迴圈的產生,就出現了迭代策略。2其實我們完成可以利用該迭代功能實現我們想要的效果。例如我們想實現 1到10的和累...