1.time_t start,end;
做網站、成都網站設計,成都做網站公司-創新互聯已向數千家企業提供了,網站設計,網站制作,網絡營銷等服務!設計與技術結合,多年網站推廣經驗,合理的價格為您打造企業品質網站。
start=time(NULL);
end=time(NULL);
while(end-start 1.5) //這里是要延遲1.5個毫秒
end=time(NULL);
return 0;
時間是以毫秒為單位
1、delay函數是一般自己定義的一個延時函數。
2、C語言定義延時函數主要通過無意義指令的執行來達到延時的目的。下面給出一個經典的延時函數。
//?定義一個延時xms毫秒的延時函數
void?delay(unsigned?int?xms)??//?xms代表需要延時的毫秒數
{
unsigned?int?x,y;
for(x=xms;x0;x--)
for(y=110;y0;y--);
}
C語言的延遲函數一般是利用無意義程序運行來控制時間從而達到延時的目的
舉個例子:
for(i=0;ix;i++)
for(j=0;j120;j++);
這是延時x毫秒的for循環語句。
值得注意的是記得最后的;一定得記得寫。
delay函數是一般自己定義的一個延時函數。
c語言定義延時函數主要通過無意義指令的執行來達到延時的目的。下面給出一個經典的延時函數。
// 定義一個延時xms毫秒的延時函數
void delay(unsigned int xms) // xms代表需要延時的毫秒數
{
unsigned int x,y;
for(x=xms;x0;x--)
for(y=110;y0;y--);
}
延時時間的計算與單片機的晶振頻率有關。若晶振頻率為12Mhz,那么單片機每震動一次所需要的時間是1/12M s。那么再來看看單片機執行一次自減所需要的振動次數是96次,假如我們對時間要求不是特別精確的話,可以約等于100來計算。現在通過上面兩個數據可以得出:單片機每執行一次自減所需要的時間是1/12M *100(s),即1/120000 s,逆向計算一下,每1ms需要自減多少次?120次對吧。所以一個簡單的延時功能就誕生了,我們只需要自減120次,就可以延時1ms,如果我們要延時50ms呢,那就自減50*120=6000次。那么在程序上如何表達呢?我們可以用兩套for循環
void delay(int i){
int x,y;
for(x=i;x0;x--){
for(y=120;y0;y--)
}
}
參數 i 代表該函數延時多少ms
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;ims;i++)
{
for(j=0;j200;j++);
for(j=0;j102;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;ims;i++)
{
for(j=0;j200;j++);
for(j=0;j102;j++);
}
}
拓展資料
C語言是一門通用計算機編程語言,應用廣泛。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。
盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平臺的特性,以一個標準規格寫出的C語言程序可在許多電腦平臺上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業平臺。
當前標題:c語言怎么定義延時函數,c語言的延時函數
分享URL:http://m.newbst.com/article40/phheeo.html
成都網站建設公司_創新互聯,為您提供App開發、關鍵詞優化、動態網站、營銷型網站建設、小程序開發、定制開發
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯