找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4612|回復: 9
打印 上一主題 下一主題
收起左側

關于單片機延時時間計算問題

[復制鏈接]
跳轉到指定樓層
樓主
ID:398162 發(fā)表于 2019-6-4 18:30 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
void Delay1ms(uint y)
{
    uint x;
    for( ; y>0; y--)
    {
        for(x=110; x>0; x--);
    }
}
這是一段延時1ms的程序,不懂這是怎么計算的,才1ms

像void delay(unsigned char i)
{
        while(i--);

}
這樣來設定時間延時的話不是更方便嘛


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

使用道具 舉報

沙發(fā)
ID:213173 發(fā)表于 2019-6-5 05:45 | 只看該作者
延時函數(shù)有多種寫法,沒有嚴格規(guī)定。樓主的第一種寫法適合ms級延時,第二種寫法適合us級延時。一般不需要精確計算。對于控制一些對時序要求比較高的外部器件,可以根據(jù)MCU時鐘頻率,用單片機助手之類的工具計算延時很方便。
回復

使用道具 舉報

板凳
ID:123289 發(fā)表于 2019-6-5 08:29 | 只看該作者
在編譯后,打開它生成的匯編格式程序,找到對應的延時部分,就可得看到這介看時命令執(zhí)行了多少條機器碼指令,而每條指令的執(zhí)行時間是固定,這樣你就可以計算出延時的總時間了。
前提是:你必須懂匯編語言。
如果你不懂匯編語言。就只能在調(diào)試中走單步,看工具中走這一步延時用多少時間。
回復

使用道具 舉報

地板
ID:461604 發(fā)表于 2019-6-5 10:01 | 只看該作者
這樣寫延時函數(shù)不準確,如果需要精確延時,可用定時器實現(xiàn)啊,1ms,1us都可以準確實現(xiàn)。
回復

使用道具 舉報

5#
ID:388197 發(fā)表于 2019-6-5 15:26 | 只看該作者
STC燒寫軟件里面就有個延時函數(shù)的生成器,用那玩意就行了.
回復

使用道具 舉報

6#
ID:370231 發(fā)表于 2019-6-5 15:35 | 只看該作者
看看這個軟件!

單片機小精靈v1.3完美破解.rar

996.3 KB, 下載次數(shù): 16

回復

使用道具 舉報

7#
ID:549902 發(fā)表于 2019-6-5 16:57 | 只看該作者
規(guī)定語言
回復

使用道具 舉報

8#
ID:93224 發(fā)表于 2019-6-5 17:34 | 只看該作者
有好多思路的
回復

使用道具 舉報

9#
ID:398162 發(fā)表于 2019-6-7 18:55 | 只看該作者
a89588038 發(fā)表于 2019-6-5 15:35
看看這個軟件!!

啊哈哈哈哈,這個我也有。!
回復

使用道具 舉報

10#
ID:398162 發(fā)表于 2019-6-7 18:56 | 只看該作者
yzwzfyz 發(fā)表于 2019-6-5 08:29
在編譯后,打開它生成的匯編格式程序,找到對應的延時部分,就可得看到這介看時命令執(zhí)行了多少條機器碼指令 ...

大致了解,謝謝!!!
回復

使用道具 舉報

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

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

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

快速回復 返回頂部 返回列表