❶ c語言延時函數
C語言的延遲函數一般是利用無意義程序運行來控制時間從而達到延時的目的
舉個例子:
for(i=0;i<x;i++)
for(j=0;j<120;j++);
這是延時x毫秒的for循環語句。
值得注意的是記得最後的;一定得記得寫。
❷ C語言延遲一秒的函數這么寫
1)首先要知道你用的是什麼C語言?2)其次要知道你的編程環境:是在DOS下編程?還是在Windows下編程?還是為嵌入式系統編程?3)第三步才是找對應的C語言環境下有沒有延時函數?4)如果是單線程程序,沒有可用函數庫,就編個循環,在開始時去取系統時間(時間以毫秒錶示),然後在每次循環中取當前時間,如果前後時間差達到1秒,則退出循環,這個精度一般不高。如果更准確一點,通過時間中斷器,在時間達到1秒後產生中斷,這個方法精度好一些。❸ 單片機C語言編程中,編一個延時約1s的語句
雙重循環,共有循環 1000 × 1000 = 一百萬遍。
每一遍,如果是1us,才能是延時約1s。
但是,晶振是12MHz,一條匯編的指令就至少是1us,C語言的語句,就要更多。
在編寫延時函數之前,首先確認一下系統對晶振的分頻系數,從而確定每個單周期指令執行所需的時間,一般的單片機都將指令執行周期設置為1us,這樣就可以寫一個比較接近1秒的延時函數了。
❹ 單片機延時1秒如何計算要最詳細一點的要過程用C語言
unsigned char rSecondCount; //秒計時數
unsigned char rMinuteCount; //分計時數
sbit IsOneSecondReach;
sbit Pulse_Sec=P1^0;
sbit Pulse_Min=P1^1;
main()
{
rSecondCount=0;
rMinuteCount=0;
TH1=0x3C;
TL1=0xAF; //定時器50ms產生一次中斷 (FFFF-3CAF)us
MOD = 0x10; //定時器1工作於模式1,(用工作於模式2也可以,而且更 簡便)
TR1=1; //使能定時器1
ET1=1; //開中斷
EA=1; //開全局中斷
while(1)
{
if (IsOneSecondReach)
{
IsOneSecondReach = 0;
//do something,如果一秒延時標志為1,則清除此標志,等待下次1秒,在此處
//執行需要執行的程序
}
}
}
/* 定時器50ms產生一次中斷 */
void Timer(void) interrupt 3
{
/* 重新載入T1參數 */
TH1=0x3C;
TL1=0xAF;
/* 一秒累加 */
rSecondCount++;//秒計時+1
if (rSecondCount==20) //1sec到,50ms*20
{
IsOneSecondReach = 1;
}
}
//
脈沖寬度為50ms,如果有其他要求的話,修改T1參數和「秒分」的參數湊下就行了.
❺ C語言問題:延遲的代碼是什麼例如暫停一秒後再運行
可以用以下兩種方式
1.sleep(n);n是以毫秒為單位的;
2.delay(n);n是以毫秒為單位的;
例如延遲一秒是sleep(1)或者是delay(1000);
❻ 用c語言模擬一個數字時鍾,要求延時一秒運行
1、用sleep延時刷新並獲取系統時間來顯示。
2、常式:
#include<graphics.h>
#include<math.h>
#include<dos.h>
#definePI3.1415926
//屏幕中心的坐標(640X480模式下)
#definemid_x320
#definemid_y240
intmain()
{intgraphdriver=DETECT,graphmode;
intend_x,end_y;
structtimecurtime;
floatth_hour,th_min,th_sec;
initgraph(&graphdriver,&graphmode,"C:\TC2");//初始化VGA屏幕模式
setbkcolor(BLACK);//使用黑色的背景色
while(!kbhit(0))//若有鍵盤輸入,則跳出,即是結束程序
{setcolor(GREEN);//把畫筆設為綠色
circle(mid_x,mid_y,180);//鍾的外圓
circle(mid_x,mid_y,150);//鍾的內圓
circle(mid_x,mid_y,1);//畫出鍾的圓心
gettime(&curtime);//取得系統當前時間
th_sec=(float)curtime.ti_sec*0.1047197551;//把秒針的角度化為弧度,為以後繪制時方便,下同
th_min=(float)curtime.ti_min*0.1047197551+th_sec/60.0;//分針的弧度
th_hour=(float)curtime.ti_hour*0.5235987755+th_min/12.0;//時度的弧度,注意整時是12等分的,所時乘的是3.14/180*5
//計算出時針的尾的坐標(時針長70)
end_x=mid_x+70*sin(th_hour);
end_y=mid_y-70*cos(th_hour);
setcolor(RED);
line(mid_x,mid_y,end_x,end_y);//用紅色線畫出時針
//計算出分針坐標(分針長110)
end_x=mid_x+110*sin(th_min);
end_y=mid_y-110*cos(th_min);
setcolor(RED);
line(mid_x,mid_y,end_x,end_y);//用紅色畫出分針
end_x=mid_x+140*sin(th_sec);
end_y=mid_y-140*cos(th_sec);
setcolor(RED);
line(mid_x,mid_y,end_x,end_y);//同上,畫出秒針,長為140
//畫出鍾盤上的刻度,刻度長20
line(140,240,160,240);//9點對應的大刻度
line(320,60,320,80);//12點對應的大刻度
line(500,240,480,240);//3點的刻度
line(320,420,320,400);//6點的刻度
line(410,395.7,400,378.4);//5點
line(475.7,330,458.4,320);//4點
line(475.7,150,458.4,160);//2點
line(410,84.3,400,101.6);//1點
line(230,84.3,240,101.6);//11點
line(164.3,150,181.6,160);//10點
line(164.3,330,181.6,320);//8點
line(230,395.7,240,378.4);//7點
sleep(BLUE);//這里應該是打錯,停止一秒,應為sleep(1000)
cleardevice();//清除屏幕上的顯示
}
closegraph();//關閉VGA屏幕,即返迴文本方式
return0;
}
❼ c語言 delay()的用法
void delay(int ms);
ms為延時的毫秒數
如delay(1000);延時1秒
❽ 請問在單片機C語言編程中,用delay延遲的話,1秒程序是什麼單片機晶振為12MHZ
在Keil里模擬的話,在配置里把晶振調成12MHz,然後在調用delay函數的地方設置一個斷點,開始調試程序,運行到斷點處,注意程序左邊有一個記錄當前寄存器和一些狀態的窗口,其中,裡面有一個是專門記錄當前運行了多少時間的變數,記下當前時間T1,然後按F10(不進入子函數)調試,再記錄當前時間T2,則延時=T2-T1。多試幾個A,差不多調到1s就夠了。我一般都這么調。你要想明白其中原理,想自己算的話,你就看看delay的匯編代碼段自己算吧。❾ c語言延時一秒響鈴代碼
#include<stdio.h>
#include<stdlib.h>
intmain()
{
Sleep(1000);//延遲1秒
putchar('a');//響鈴
return0;
}
請採納。
❿ c語言延時1秒怎麼寫
#include <windows.h> Sleep(1000)
簡介
C語言是一門面向過程的計算機編程語言,與C++、C#、Java等面向對象編程語言有所不同。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、僅產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。
C語言描述問題比匯編語言迅速、工作量小、可讀性好、易於調試、修改和移植,而代碼質量與匯編語言相當。C語言一般只比匯編語言代碼生成的目標程序效率低10%-20%。因此,C語言可以編寫系統軟體。
當前階段,在編程領域中,C語言的運用非常之多,它兼顧了高級語言和匯編語言的優點,相較於其它編程語言具有較大優勢。計算機系統設計以及應用程序編寫是C語言應用的兩大領域。同時,C語言的普適較強,在許多計算機操作系統中都能夠得到適用,且效率顯著。
C語言擁有經過了漫長發展歷史的完整的理論體系,在編程語言中具有舉足輕重的地位。
。