找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

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

那位大佬幫我看看這單片機(jī)延時(shí)程序DelayMS怎么理解?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:1001624 發(fā)表于 2022-1-18 14:40 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式

void DelayMS(uint ms)

{

         uchar t;

        while(ms--)

        {

                 for(t=0;t<120;t++);

        }

}




分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:311903 發(fā)表于 2022-1-18 16:37 | 只看該作者
ms * 120 個(gè)循環(huán),啥都不干,干等時(shí)間來(lái)達(dá)到延時(shí)的目標(biāo),粗略延時(shí),不精確
回復(fù)

使用道具 舉報(bào)

板凳
ID:73435 發(fā)表于 2022-1-18 17:12 | 只看該作者
這種代碼都是要結(jié)合硬件,結(jié)合單片機(jī)時(shí)鐘來(lái)看的,而且不精確
回復(fù)

使用道具 舉報(bào)

地板
ID:453974 發(fā)表于 2022-1-18 17:55 | 只看該作者
首先在主程序里面應(yīng)該給MS賦一個(gè)值(DelayMS(500)),然后進(jìn)入子程序后判斷這個(gè)值是不是為零,如果不是,這個(gè)值進(jìn)行一個(gè)自減,接著執(zhí)行for循環(huán),按照你的程序來(lái)說(shuō)for里面執(zhí)行的是空指令,大概一個(gè)機(jī)器周期(11.0592M大概一微秒),for循環(huán)將空指令執(zhí)行120次大概就是120微秒,for執(zhí)行完成后再對(duì)ms進(jìn)行判斷,依次再執(zhí)行;;如果是就結(jié)束循環(huán),跳出子函數(shù);
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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