久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機(jī)程序怎么計算延時時間?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:582255 發(fā)表于 2022-3-15 10:24 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
void delay(unsigned int i)
{

        unsigned int j;
        while(i--)
        {
                for(j=0;j<0x20;j++);
        }

}
這個延時函數(shù),while循環(huán)和for循環(huán),延時多久啊?為什么我用keil調(diào)試算的時間和自己算的不一樣
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:1009400 發(fā)表于 2022-3-15 11:22 | 只看該作者
這個延時,和編譯器有關(guān)系,如果是匯編的代碼,能看到指令,就能計算指令周期,準(zhǔn)確的預(yù)計時間,你進(jìn)入調(diào)試模式看看匯編代碼,應(yīng)該能夠算出來
回復(fù)

使用道具 舉報

板凳
ID:73435 發(fā)表于 2022-3-15 11:27 | 只看該作者
這種不精確,遇到中斷就去執(zhí)行中斷了
回復(fù)

使用道具 舉報

地板
ID:401564 發(fā)表于 2022-3-15 12:50 | 只看該作者
這是C語言,C語言要先編譯成匯編才能燒錄到單片機(jī)中,不同的編譯環(huán)境,編譯成的匯編代碼是不一樣的
所以,這是沒法計算的
對于STC,最簡單省事的就是在下載器那復(fù)制
如果要精確的,那就用定時器
回復(fù)

使用道具 舉報

5#
ID:624769 發(fā)表于 2022-3-15 14:08 | 只看該作者
如果你用的 是 KEIL , 選擇正確的芯片型號,以及設(shè)置了正確的晶振值之后……,

單獨(dú)寫一個 延時函數(shù),編譯后,Ctrl + F5, 然后運(yùn)行到 延時函數(shù)前,看一下 左側(cè)的 耗時 記住,然后繼續(xù)運(yùn)行到 延時函數(shù)結(jié)束, 記錄左側(cè)的耗時, 減一下,就是這個函數(shù)的耗費(fèi)時間,以此為依據(jù),酌情增減。51核的盡量用  while(--i);  可以確保編譯出來時 DJNZ  那么只要看一下該芯片的 DJNZ指令的周期,就能算出確切的時間。
回復(fù)

使用道具 舉報

6#
ID:582255 發(fā)表于 2022-3-15 14:54 | 只看該作者
上面的這個延時,理論上是延時多少啊?12MHZ晶振
回復(fù)

使用道具 舉報

7#
ID:624769 發(fā)表于 2022-3-15 15:26 | 只看該作者
aktuan007 發(fā)表于 2022-3-15 14:54
上面的這個延時,理論上是延時多少啊?12MHZ晶振

不能光看晶振啊, 還有單片機(jī)型號阿, 同樣這段代碼,同樣12MHz的晶振。
就說最常見的:
STC89C51, STC12C5608AD, STC15W408AS, STC8G1K08,  這4款單片機(jī),跑出來的時間完全不一樣。
回復(fù)

使用道具 舉報

8#
ID:582255 發(fā)表于 2022-3-15 15:47 | 只看該作者
188610329 發(fā)表于 2022-3-15 15:26
不能光看晶振啊, 還有單片機(jī)型號阿, 同樣這段代碼,同樣12MHz的晶振。
就說最常見的:
STC89C51, STC ...

STC89C51的
回復(fù)

使用道具 舉報

9#
ID:624769 發(fā)表于 2022-3-15 16:36 | 只看該作者

你STC為什么不直接用 ISP計算呢? 那個絕對準(zhǔn)啊。



選擇 Y1  就是 STC89 對應(yīng)時間。
回復(fù)

使用道具 舉報

10#
ID:624769 發(fā)表于 2022-3-15 16:55 | 只看該作者
最后給你補(bǔ)充一下,延時函數(shù),你可以多層while函數(shù)嵌套,但是絕對不能用unsigned int, 必須要用unsigned char, 不然,你時間絕對算不準(zhǔn)。
回復(fù)

使用道具 舉報

11#
ID:582255 發(fā)表于 2022-3-15 17:59 | 只看該作者
188610329 發(fā)表于 2022-3-15 16:55
最后給你補(bǔ)充一下,延時函數(shù),你可以多層while函數(shù)嵌套,但是絕對不能用unsigned int, 必須要用unsigned ch ...

感謝感謝
回復(fù)

使用道具 舉報

12#
ID:896541 發(fā)表于 2022-3-16 11:03 | 只看該作者
單片機(jī)的延時程序通過執(zhí)行指令來達(dá)到延時效果,這個時間等于執(zhí)行的指令需要的時間,而一個指令需要的時間叫做指令周期,這個時間等于若干個機(jī)器周期。
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲精品日韩一区二区电影 | 午夜小电影 | 免费国产一区 | 国产成人精品久久二区二区91 | 日韩一区在线播放 | 日韩精品不卡 | 午夜精品影院 | 久久久久国产精品www | 91精品久久久久久综合五月天 | 91精品国产综合久久久动漫日韩 | 羞视频在线观看 | 九九精品热 | 亚洲欧美日韩在线不卡 | 极品销魂美女一区二区 | 91国内精精品久久久久久婷婷 | 欧美一区精品 | 日本a级大片 | 蜜桃一区二区三区在线 | 91久久电影 | 欧美日一区二区 | 欧美激情国产日韩精品一区18 | av影音资源| 中文字幕在线视频观看 | 97中文视频 | 黑人精品欧美一区二区蜜桃 | 黄色日本视频 | 午夜精品一区二区三区在线观看 | 成年人在线 | 国产在线精品一区 | 日本成人中文字幕在线观看 | 久久精品国产99国产精品 | 午夜影院在线免费观看视频 | 欧美福利专区 | 在线一区二区三区 | 艹逼网 | 国产精品视频久久 | 日本成人片在线观看 | 亚洲影视在线 | 成人做爰999 | 黄色片网站国产 | 在线不卡视频 |