導航:首頁 > 操作系統 > 單片機c語言延時程序

單片機c語言延時程序

發布時間:2022-01-16 10:16:58

單片機c語言延時程序

一般單片機在c語言中很難得到精確的延時,所以一般對時間要求高的都用計時器中斷來做了。如果時間要求不嚴格可以用for循環來做,你可以實際測試一下,把時間延時到大概一秒左右,然後燒進單片機里運行,比如一個燈亮燈滅的程序,看著燈計數,同時用秒錶計時,幾個幾十次後取平均值就能知道大概時間了。

㈡ 單片機C語言延時程序,延時時間是怎樣計算的

最好不要用精確延時,因為這樣是算不準的,編譯器不一樣,可能也會不一樣.

㈢ 單片機c語言的延時程序500ms

根據外部晶振的不同,延時1毫秒的循環次數也不一樣,一般12M晶振的話用 for(j=time;j>0;j--);延時時,1毫秒time大概為125左右,這里用110,大概晶振為11.0592M,所以這段程序,內部循環完成1毫秒延時,外部循環完成500毫秒延時。

㈣ 求一個1ms的單片機C語言延時程序

void delay(char x)
{
unsigned char a,b,c;
for(c=x;c>0;c--)
for(b=38;b>0;b--)
for(a=130;a>0;a--);
}
學過標准C就知道了,char 和 int 是可以相互轉換的,char的取值范圍是-128~+127
unsigned char 的是0~255
可以用unsigned int啊,我一般都是用char的,用unsigned int的話占的位元組比較多,運行速度也沒char那麼快,計算機會麻煩點,建議使用char

㈤ 求助:單片機C語言中延時程序怎樣計算

你好:
如果你想直接知道答案,那麼我告訴你,12MHz晶振:
void delayms(unsigned int t)
{
unsigned int i,j;

for(i=t;i>0;i--)

for(j=123;j>0;j--);

}
能精確到1ms。
如果是11.0592MHz晶振,只需把上面的「j=123」改為「j=114」,都是調試過的,沒問題。
然後你要想知道是怎麼調試的,很簡單,打開uv2編程軟體,在最上邊的工具欄里邊有個「Debug」,點擊後出現下拉菜單,選擇第一個「start/stop Debug Session」,然後在最右邊有一個Watch欄,有兩個項目,一個是「Register」,一個是「value」,然後在「Register」欄下邊的「Sys」里邊有個「sec」,你只要單擊「Step over」運行程序並觀察「sec」的值就能調試出你程序的執行時間了。
注意,一定要先選擇晶振頻率,不然會默認24MHz。
希望我的回答能幫助到你。

㈥ 求指教單片機c語言延時程序

for延時萬用,但占資源,樓上們講的很全了。推薦定時器延時,時間比較准而且延時的時候能幹別的事,或者用外部的時鍾晶元計時。

㈦ 單片機c語言延時函數

12M晶振,1個機器周期為1us,
把它轉成匯編:
LCALL DELAY
........
DELAY:
MOV R7,#01H
DJNZ R7,$
RET

貌似調用、賦值、減1比較、返回,這幾個環節下來是得6個機器周期。
但是在t=2的時候並不是12us,應該為8us左右,因為其它環節沒變,只是增加了減1比較這個環節。

㈧ 單片機延時一秒的c程序

單片機延時一秒

程序是不固定的

要根據你的晶振 計算出一次循環執行需要的時間

然後 寫循環次數

一般是

voiddelay_one_second(void)
{
inti;
for(i=0;i<TIMES;i++);
}

這樣就可以了。 TIMES是要計算的。或者 根據示波器 自己嘗試。

㈨ 求單片機C語言延時程序(延時10s)

用定時器做吧,DELAY了不能做別的事情,效率太低了。做一個1ms的定時程序,再到計數10000次的時候執行一次你要的程序(比如說置位某個變數),這樣就可以了。51就那麼幾個寄存器,看一下就可以了設定了,TH和TL只要記住計數到0的時候,會產生中斷就可以了

㈩ 單片機延時程序C語言

都有關系,用uchar也能起作用,但是不明顯,你就覺得有問題,原因應該是這樣的,char型是8位的,就算是無符號的字元型,最大也是255,也就是說你給的值再大就會溢出,沒什麼用了,比如你給一個256,溢出了,這時候Z的值應該是0,但是這個程序是沒錯的,你給0和255延時還是不同的,,當然你現在應該明白為什麼整型就可以了,因為無符號的int是32位的,而這個數最大值到底有多大,你自己算一下,所以你給的數基本不會溢出,延時明顯,字元型主要是用來寫字元的,算數的話你還是別用這個類型,各有各的用途

閱讀全文

與單片機c語言延時程序相關的資料

熱點內容
矩陣計算java 瀏覽:230
如何把各銀行app整合 瀏覽:877
方舟生存進化手游版如何建伺服器 瀏覽:288
哪裡購買黃金app 瀏覽:661
中國聯通app優惠購功能在哪裡 瀏覽:227
dream伺服器密碼是什麼 瀏覽:222
程序員自救 瀏覽:486
cmd殺死進程命令 瀏覽:235
ipad激活伺服器地址 瀏覽:451
單片機開始直流電機壓降問題 瀏覽:17
伺服器地址失敗怎麼辦 瀏覽:146
安卓手機怎麼下載蘇聯游戲 瀏覽:130
主教的命令 瀏覽:805
php判斷變數為空 瀏覽:743
你演我猜安卓版本怎麼用 瀏覽:910
已夠app哪裡看 瀏覽:1007
程序員怎麼學會開車的技巧 瀏覽:785
網易郵箱如何刪除伺服器郵件 瀏覽:154
java多個泛型 瀏覽:276
安卓折扣號怎麼充值 瀏覽:604