1樓:匿名使用者
定義一個延時xms毫秒的延時函式
void delay(unsigned int xms)// xms代表需要延時的毫秒數
使用:void delay10us(uchar ms)i=[(延時值-1.75)*12/ms-15]/41、在c51中進行精確的延時子程式設計時,儘量不要或少在延時子程式中定義區域性變數,所有的延時子程式中變數通過有參函式傳遞。
2、在延時子程式設計時,採用do…while,結構做迴圈體要比for結構做迴圈體好。
3、在延時子程式設計時,要進行迴圈體巢狀時,採用先內迴圈,再減減比先減減,再內迴圈要好。
2樓:天雲一號
delay函式是一般自己定義的一個延時函式。
c語言定義延時函式主要通過無意義指令的執行來達到延時的目的。下面給出一個經典的延時函式。
// 定義一個延時xms毫秒的延時函式
void delay(unsigned int xms) // xms代表需要延時的毫秒數
3樓:匿名使用者
這是一個延時函式()
裡的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
4樓:匿名使用者
5 51微控制器c語言中delay函式是怎麼定義和使用的?
voiddelay(unsignedinta){unsignedinti;while(--a!=0)
5樓:匿名使用者
c的話其實時間沒有辦法完全定性地計算的
如果非得精確的話只能使用定時器了,或者彙編的也行不過時間要求精度不是很高的話使用下面的**就行了當時使用示波器把時間完全調準的,65536ms範圍內還是比較準的,已經可以滿足通常的要求了:
#include "reg51.h" //標頭檔案包含//巨集定義
#define uint unsigned int#define uchar unsigned charvoid delay(uint ms) // 毫秒級延時(at89c52 @ 11.0592mhz)
//112}}
呼叫方式如下:
delay(400); //開機延時400ms夠詳細了吧?!
6樓:神奇號
假如說執行for(i = 0; i < 600; i++); 要1s,那a決定了執行1s的次數,這個延時就是a秒,懂了嗎?
不過12m晶振的話,大家一般是for(i = 0; i < 114; i++); 執行這句要1ms
7樓:匿名使用者
這是個延遲函式,delay 括號中的表示式是定義的無符號的整形變數,它是形參,你只要知道它是定義一個變數既可,它的值由main 函式傳遞過來,a的值有了,就進入了while 迴圈。不知你是否學過c語言,如果沒有,就看看while 迴圈。
8樓:匿名使用者
delay後面的()當中的a,是呼叫函式時,傳遞過來的變數,此值越大,延遲的時間就越長。
微控制器c語言中delay()函式的標頭檔案是什麼?
9樓:會飛的小兔子
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();}
10樓:天雲一號
delay( )函式並不是
來標準庫函自數,是程式設計人員自定義的一個函式(通常是延時函式),所以其並不包含在其他標頭檔案中。
下面給出51微控制器中一個常見的延時函式。
// 延時z毫秒的延時函式
void delay(unsigned int z)
11樓:匿名使用者
沒有一個軟體自帶標頭檔案是專門有delay這種函式的,delay就是延時,一般都是在自定義的標頭檔案裡,或者直接在主函式所在的檔案定義
12樓:匿名使用者
delay 一般是自己寫的軟體延遲函式!
13樓:李威威
51微控制器是自己寫延遲函式
請求微控制器delay延時函式,51微控制器C語言中delay函式是怎麼定義和使用的?
如果在程式中x 10 你寫程式時肯定會給他賦一個值,在這裡假定是10 即在程式的某處會有delay 10 這樣的語句。相當於迴圈了600 x 600 10 6000次。可以根據自己的需要來定。你說得對,可以寫一個就行。但是有些晶片,你在控制他時,時序要求非常嚴格,如果延時太長或延時太短,都不會執行出...
51微控制器c語言是什麼意思,51微控制器C語言中 和 的意思是什麼?
c 語言,是計算機程式語言。適合於入門者學習 使用。51 微控制器,是一種微型計算機。用 c 語言,對其程式設計,就是 51微控制器c語言 51微控制器c語言中 和 的意思是什麼?u8comdata 1 相當於 u8comdata u8comdata 1,u8comdata u8temp 相當於 u...
51微控制器c語言如何實現中斷呼叫
你這個不是中斷呼叫,只是一種模式選擇。也就是按鍵1按下之後按照一種方式掃描顯示燈回,按鍵2按下之後答按照另一種方式顯示燈 很簡單的。我習慣用switch case 結構,想想就解決了。在你程式裡設定個檢測條件,檢測到按鍵後就無條件跳轉就ok了 include sbit d1 p2 0 sbit p1...