當前位置:首頁 » 編程語言 » c語言怎麼給延時函數加變數
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言怎麼給延時函數加變數

發布時間: 2023-06-19 04:59:58

『壹』 c語言延時程序編程

在單片機中,要延時程序盡量准確,可以:
-延時循環盡量簡單,盡量少開變數比如:
Delay(unsigned int uDelay) { while ( uDelay-- ); }
-在主程序中用一個GPIO測試,如:
SetGPIOHigh(); Delay(1000); SetGPIOLOW();
-用示波器測量該GPIO波形及頻率
-調整Delay函數的調用值,可以用變數,在調試時實時修改變數值,找到延時1毫秒的值,把Delay函數改名為Delay1ms,之後調用這個函數完成精確延時
-其他的延時函數也可以類似上述方法完成,但記住在調試和實際使用時要用同樣的CPU主頻。
-最精確的還是用定時器中斷程序計時

『貳』 c語言自己怎麼寫延時函數

學過匯編你就會知道,每條指令都佔一定的時間(或者機器周期)的,如果你讓機器什麼都不做,即空指令的話,機器就會延時,然後你在計算好每次延時到底有多長,外面套一個循環(或者多重循環),根據你想要的延時時間即可計算出來循環的次數,延時函數基本上都是這種原理,它的參數就是用來控制循環次數的。

『叄』 51單片機c語言延時函數 Void delay 1ms(unsigned int ms){un

C程序中可使用不同類型的變數來進行延時設計。經實驗測試,使用unsigned char類型具有比unsigned int更優化的代碼,在使用時應該使用unsigned char作為延時變數。 以某晶振為12MHz的單片機為例,晶振為12MHz即一個機器周期為1us。

void delay_ms(unsigned int ms_number) // ms延時函數 (AT89C51 @ 11.0592MHz)

{

unsigned int i;

unsigned char j;

for(i=0;i<ms;i++)

{

for(j=0;j<200;j++);

for(j=0;j<102;j++);

}

}

void Delay()

{

unsigned char a,b,c;

for(a=0;a<?;a++)

for(b=0;b<?;b++)

for(c=0;c<?;c++);

}

void delay_ms(unsigned int ms)

{

unsigned int i;

unsigned char j;

for(i=0;i<ms;i++)

{

for(j=0;j<200;j++);

for(j=0;j<102;j++);

}

}

拓展資料

C語言是一門通用計算機編程語言,應用廣泛。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。

盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平台的特性,以一個標准規格寫出的C語言程序可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業平台。



『肆』 c語言的延遲函數 編寫

C語言的延遲函數一般是利用無意義程序運行來控制時間從而達到延時的目的
舉個例子:
for(i=0;i<x;i++)
for(j=0;j<120;j++);
這是延時x毫秒的for循環語句。
值得注意的是記得最後的;一定得記得寫。

『伍』 51單片機C語言中delay函數是怎麼定義和使用的

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

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

{

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

(5)c語言怎麼給延時函數加變數擴展閱讀

1、在C51中進行精確的延時子程序設計時,盡量不要或少在延時子程序中定義局部變數,所有的延時子程序中變數通過有參函數傳遞。

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

3、在延時子程序設計時,要進行循環體嵌套時,採用先內循環,再減減比先減減,再內循環要好。