重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
C程序中可使用不同類型的變量來進行延時設計。經實驗測試,使用unsigned char類型具有比unsigned int更優化的代碼,在使用時應該使用unsigned char作為延時變量。 以某晶振為12MHz的單片機為例,晶振為12MHz即一個機器周期為1us。
創新互聯建站自2013年創立以來,是專業互聯網技術服務公司,擁有項目網站建設、成都做網站網站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元西區做網站,已為上家服務,為西區各地企業和個人服務,聯系電話:028-86922220
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)以及超級電腦等作業平臺。
這個程序應該是板子上延時的程序。
a就是需要延遲的毫秒數(也可能是其他單位)。
就是說,執行 for(i=0;i600;i++);的時間應該是一個單位長度(可能為1ms);
這樣,你在調用的時候,賦值給a多少值,實際就是延時多少毫秒。
例如,延時10ms,就用
delay(10);
延時1ms,就用
delay(1);
#includetime.h
#includestdio.h
void main()
{
clock_t start,finish;
double durtion=0;
printf("計時開始\n");
start=clock();
while(1-durtion0.00001)
{
finish=clock();
durtion=(double)(finish-start);
}
printf("1ms計時完畢\n");
}
原理:兩個時間差值是1ms就立即跳出while循環,C語言中時間分度值是ms