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

QQ登錄

只需一步,快速開始

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

請(qǐng)問這個(gè)毫秒級(jí)單片機(jī)延時(shí)程序有問題嘛?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:1001220 發(fā)表于 2022-1-15 18:04 來自觸屏版 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
這個(gè)毫秒級(jí)延時(shí)程序:
void ms(ut x){
ur i;
while(x--)
for(i=0;i<123;i++);
}
有什么問題嗎?
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:624769 發(fā)表于 2022-1-15 22:44 來自觸屏版 | 只看該作者
無單片機(jī)型號(hào),無晶振頻率,不置評(píng)否。
回復(fù)

使用道具 舉報(bào)

板凳
ID:336670 發(fā)表于 2022-1-15 23:51 | 只看該作者
while(x--)后面不是應(yīng)該加上分號(hào)嗎??
while(x--);
回復(fù)

使用道具 舉報(bào)

地板
ID:213173 發(fā)表于 2022-1-16 06:39 | 只看該作者
從表面看這個(gè)延時(shí)程序沒有什么問題,但實(shí)際上有3個(gè)問題。其中有1個(gè)花括號(hào)2個(gè)分號(hào)是漢字字符,編譯器不認(rèn)。
回復(fù)

使用道具 舉報(bào)

5#
ID:1001220 發(fā)表于 2022-1-16 10:18 來自觸屏版 | 只看該作者
188610329 發(fā)表于 2022-1-15 22:44
無單片機(jī)型號(hào),無晶振頻率,不置評(píng)否。

芯片是AT89C52,晶振頻率12HZ
回復(fù)

使用道具 舉報(bào)

6#
ID:1001220 發(fā)表于 2022-1-16 10:26 來自觸屏版 | 只看該作者
老二不怕黑 發(fā)表于 2022-1-15 23:51
while(x--)后面不是應(yīng)該加上分號(hào)嗎??
while(x--);

程序是我?guī)熜纸涛业模业睦斫馐莡nsigned int 長(zhǎng)度0~65535
while (x--)
的意思是執(zhí)行最多65535遍for語句差不多延時(shí)1秒的
有分號(hào)就是停止了,所以我不加分號(hào)
回復(fù)

使用道具 舉報(bào)

7#
ID:1001220 發(fā)表于 2022-1-16 10:31 來自觸屏版 | 只看該作者
wulin 發(fā)表于 2022-1-16 06:39
從表面看這個(gè)延時(shí)程序沒有什么問題,但實(shí)際上有3個(gè)問題。其中有1個(gè)花括號(hào)2個(gè)分號(hào)是漢字字符,編譯器不認(rèn)。

這個(gè)不好意思啊手機(jī)的發(fā)的帖子所以符號(hào)是漢化的
回復(fù)

使用道具 舉報(bào)

8#
ID:824490 發(fā)表于 2022-1-16 10:58 | 只看該作者
老二不怕黑 發(fā)表于 2022-1-15 23:51
while(x--)后面不是應(yīng)該加上分號(hào)嗎??
while(x--);

邏輯上沒問題,while(x--)是個(gè)循環(huán),當(dāng)后面帶上“;”后,循環(huán)體就是“X--”,當(dāng)x=0時(shí),這個(gè)循環(huán)線路束,不帶“;”時(shí),是下一行的代碼做為循環(huán)體。
所以這是一個(gè)2級(jí)的嵌套循環(huán),加了“;”就成了2個(gè)獨(dú)立的一級(jí)循環(huán),延時(shí)上就差多了去了。
回復(fù)

使用道具 舉報(bào)

9#
ID:624769 發(fā)表于 2022-1-16 19:57 | 只看該作者
2755395523 發(fā)表于 2022-1-16 10:18
芯片是AT89C52,晶振頻率12HZ

STC89C52   12M晶振, ms級(jí)的延時(shí),一般差不多是:

void   delayms(u8 ms)
{
     u8   i,j;
     while(ms--)
     {
         j = 4;
         while(j--)
         {
              i=248;
              while(i--);
         }
     }
}
回復(fù)

使用道具 舉報(bào)

10#
ID:207421 發(fā)表于 2022-1-16 22:40 | 只看該作者
普通的延時(shí)函數(shù),不會(huì)很精準(zhǔn)
回復(fù)

使用道具 舉報(bào)

11#
ID:53621 發(fā)表于 2022-1-17 09:04 | 只看該作者
看匯編或者看示波器可能會(huì)準(zhǔn)點(diǎn),這個(gè)時(shí)間要微調(diào)。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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