找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2443|回復(fù): 23
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)延時(shí)函數(shù),有通俗一點(diǎn)的方法么?

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:1018078 發(fā)表于 2022-4-13 14:54 | 只看該作者 回帖獎勵 |倒序?yàn)g覽 |閱讀模式
void delay(int t ){while(t--);}
這樣的延時(shí)函數(shù) 還有通俗一點(diǎn)的方法么
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

來自 10#
ID:1018078 發(fā)表于 2022-4-13 17:29 來自觸屏版 | 只看該作者
hezezeze 發(fā)表于 2022-4-13 17:17
簡單的通俗的就是雙重循環(huán)這種啊。兩重for循環(huán)試試

這種函數(shù)什么意思  重復(fù)循環(huán) 延時(shí)多少啊
回復(fù)

使用道具 舉報(bào)

來自 17#
ID:752974 發(fā)表于 2022-4-14 09:59 | 只看該作者
延時(shí),通俗的講,就是讓CPU浪費(fèi)時(shí)間,有兩種方法,1.軟件的方法,如樓主給出的函數(shù),簡單,延時(shí)時(shí)間是按CPU執(zhí)行每條指令的時(shí)間的累計(jì),不準(zhǔn),大概估算。2.用硬件定時(shí)器中斷,也不是很復(fù)雜,延時(shí)時(shí)間可以控制的較精準(zhǔn)。
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:1018078 發(fā)表于 2022-4-13 16:03 來自觸屏版 | 只看該作者
這個(gè)延時(shí) delay1000多少秒啊
回復(fù)

使用道具 舉報(bào)

板凳
ID:123289 發(fā)表于 2022-4-13 17:00 | 只看該作者
你希望如何【通俗】?試說一個(gè)。
回復(fù)

使用道具 舉報(bào)

地板
ID:1018078 發(fā)表于 2022-4-13 17:03 來自觸屏版 | 只看該作者
yzwzfyz 發(fā)表于 2022-4-13 17:00
你希望如何【通俗】?試說一個(gè)。

另一種 表示方法 這個(gè)循環(huán)不是很懂
回復(fù)

使用道具 舉報(bào)

5#
ID:879348 發(fā)表于 2022-4-13 17:05 | 只看該作者
NOP();
回復(fù)

使用道具 舉報(bào)

6#
ID:1007932 發(fā)表于 2022-4-13 17:10 | 只看該作者
還通俗?要不你一個(gè)個(gè)地寫_nop_();
回復(fù)

使用道具 舉報(bào)

7#
ID:982617 發(fā)表于 2022-4-13 17:17 | 只看該作者
簡單的通俗的就是雙重循環(huán)這種啊。兩重for循環(huán)試試
回復(fù)

使用道具 舉報(bào)

8#
ID:1018078 發(fā)表于 2022-4-13 17:18 來自觸屏版 | 只看該作者
一事無成 發(fā)表于 2022-4-13 17:10
還通俗?要不你一個(gè)個(gè)地寫_nop_();

只是不太懂這個(gè)延時(shí)函數(shù)
回復(fù)

使用道具 舉報(bào)

9#
ID:1018078 發(fā)表于 2022-4-13 17:20 來自觸屏版 | 只看該作者
一事無成 發(fā)表于 2022-4-13 17:10
還通俗?要不你一個(gè)個(gè)地寫_nop_();

只是不太懂這個(gè) 什么意思
回復(fù)

使用道具 舉報(bào)

11#
ID:57657 發(fā)表于 2022-4-13 18:07 | 只看該作者
用定時(shí)器中斷,for while的軟件延時(shí)誤差大,盡量少用。
回復(fù)

使用道具 舉報(bào)

12#
ID:82570 發(fā)表于 2022-4-13 18:32 來自觸屏版 | 只看該作者
最通俗的就是定時(shí)器中斷,然后根據(jù)需求分發(fā)處理
回復(fù)

使用道具 舉報(bào)

13#
ID:310441 發(fā)表于 2022-4-13 18:33 來自觸屏版 | 只看該作者
要精密延時(shí)還得靠外部的模塊,單片機(jī)有限
回復(fù)

使用道具 舉報(bào)

14#
ID:121859 發(fā)表于 2022-4-13 19:33 | 只看該作者
軟件延時(shí)就是循環(huán)進(jìn)行一定次數(shù)的“空”操作,可以用while,也可以用for
delay(int tt)
{
int i;
for(i=0;i<tt;i++);
}

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報(bào)

15#
ID:65369 發(fā)表于 2022-4-13 20:29 | 只看該作者
delay(1ms);  //這個(gè)夠通俗了吧
回復(fù)

使用道具 舉報(bào)

16#
ID:563389 發(fā)表于 2022-4-13 23:59 | 只看該作者
看性能需要,性能高要求的用中斷吧,別讓他傻等,本來51性能就不好,傻等的話更沒效率了
回復(fù)

使用道具 舉報(bào)

18#
ID:1018078 發(fā)表于 2022-4-14 13:31 | 只看該作者
munuc_w 發(fā)表于 2022-4-14 09:59
延時(shí),通俗的講,就是讓CPU浪費(fèi)時(shí)間,有兩種方法,1.軟件的方法,如樓主給出的函數(shù),簡單,延時(shí)時(shí)間是按CPU ...

如果按照void delay(unsigned int t ){while(t--);} 這樣有區(qū)別么
回復(fù)

使用道具 舉報(bào)

19#
ID:1018347 發(fā)表于 2022-4-14 14:24 | 只看該作者
int i;for(i=9000;i>0;i--);就是讓單片機(jī)浪費(fèi)時(shí)間
回復(fù)

使用道具 舉報(bào)

20#
ID:752974 發(fā)表于 2022-4-14 14:57 | 只看該作者
good1230 發(fā)表于 2022-4-14 13:31
如果按照void delay(unsigned int t ){while(t--);} 這樣有區(qū)別么

沒有區(qū)別,工作原理是一樣的,只是最長延時(shí)時(shí)間不同。
回復(fù)

使用道具 舉報(bào)

21#
ID:1018405 發(fā)表于 2022-4-14 17:32 來自觸屏版 | 只看該作者
用最簡單的delay延時(shí)
回復(fù)

使用道具 舉報(bào)

22#
ID:1018078 發(fā)表于 2022-4-17 14:02 | 只看該作者
munuc_w 發(fā)表于 2022-4-14 14:57
沒有區(qū)別,工作原理是一樣的,只是最長延時(shí)時(shí)間不同。

非常感謝
回復(fù)

使用道具 舉報(bào)

23#
ID:1019111 發(fā)表于 2022-4-17 14:06 | 只看該作者
51單片機(jī)燒錄軟件里可以自己生成延時(shí)函數(shù)的,根據(jù)你單片機(jī)的晶振生成的
回復(fù)

使用道具 舉報(bào)

24#
ID:1018405 發(fā)表于 2022-4-17 20:58 來自觸屏版 | 只看該作者
用c語言delay1ms(1000)
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表