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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機(jī)延時函數(shù)疑問

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:1065550 發(fā)表于 2023-4-17 13:57 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
1.void delay(uint x)           //延時函數(shù)
{
     uint i,j;
         for(i=x;i>0;i--)
            for(j=0;j<110;j++);  
}
2.void Delay(unsigned int k)                //@11.0592MHz
{
        unsigned char i, j;

for(;k>0;k--)
        i = 2;
        j = 103;
                do
                {
         while (--j);
        } while (--i);
}
想問問for循環(huán)和do循環(huán)有什么區(qū)別,下面一個是stc里面的延時函數(shù)。
同時問問為什么第二個能延時1ms?i和j都代表什么?

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

使用道具 舉報

沙發(fā)
ID:883242 發(fā)表于 2023-4-17 15:26 | 只看該作者
具體到你的代碼,for和while循環(huán)沒有區(qū)別。i和j代表延遲時間。
回復(fù)

使用道具 舉報

板凳
ID:584814 發(fā)表于 2023-4-17 16:06 | 只看該作者
實際上這些所謂的延時就是讓系統(tǒng)空轉(zhuǎn),由于不同的芯片在不同的主頻下速度不同,如果要非常精確的延時你懂的(通常用外接晶振+示波器輔助)。
兩者最直觀的區(qū)別是:for循環(huán)是先判斷后執(zhí)行,do循環(huán)是先執(zhí)行后判斷。
回復(fù)

使用道具 舉報

地板
ID:1065550 發(fā)表于 2023-4-18 13:04 | 只看該作者
man1234567 發(fā)表于 2023-4-17 16:06
實際上這些所謂的延時就是讓系統(tǒng)空轉(zhuǎn),由于不同的芯片在不同的主頻下速度不同,如果要非常精確的延時你懂的 ...

明白了
回復(fù)

使用道具 舉報

5#
ID:1065550 發(fā)表于 2023-4-18 13:07 | 只看該作者
Hephaestus 發(fā)表于 2023-4-17 15:26
具體到你的代碼,for和while循環(huán)沒有區(qū)別。i和j代表延遲時間。

那他這個i和j怎么算出來延時1ms的呢?
回復(fù)

使用道具 舉報

6#
ID:883242 發(fā)表于 2023-4-18 13:24 | 只看該作者
Mang0 發(fā)表于 2023-4-18 13:07
那他這個i和j怎么算出來延時1ms的呢?

不用算,實測就行了。
回復(fù)

使用道具 舉報

7#
ID:291668 發(fā)表于 2023-4-18 13:46 | 只看該作者
仿真的時候看一下下邊運行時間,執(zhí)行每條語句應(yīng)該有時間顯示,從而估算變量的數(shù)值
回復(fù)

使用道具 舉報

8#
ID:155507 發(fā)表于 2023-4-18 14:33 | 只看該作者
毫秒級延時直接用定時器
看性能需要,性能高要求的用中斷吧,別讓他傻等,本來51性能就不好,傻等的話更沒效率了
還有硬件不同的情況,就需要重新實測了。比如晶振頻率不同,CPU內(nèi)核速度不同,STC8H單片機(jī)就比STC15快了很多了比89系列快了十幾倍了。
回復(fù)

使用道具 舉報

9#
ID:1045628 發(fā)表于 2023-4-18 14:53 | 只看該作者
強(qiáng)制延時不可靠,不同單片機(jī)頻率不一樣這個i,j的值就會不一樣,一般可以用示波器測量翻轉(zhuǎn)的IO口來測出i,j的值,還有一個風(fēng)險點,強(qiáng)制延時可能會被中斷干擾,精確延時應(yīng)該用定時器進(jìn)行延時
回復(fù)

使用道具 舉報

10#
ID:401564 發(fā)表于 2023-4-18 22:09 | 只看該作者
1,長延時不要用軟件來進(jìn)行延時,要學(xué)會用定時器
2,如果是簡單程序,不想折騰,可以直接復(fù)制STC下載器的代碼,那個很準(zhǔn)確的
3,就算是一樣品牌的單片機(jī),就像STC,不同型號單片機(jī)之間,一樣的C代碼,延時的時間都是不一樣的
4,C語言的循環(huán)和實際的延時時間沒有什么對等的關(guān)系,不存在"怎么計算延時"這一說法,除非是單片機(jī)公司專用的編譯環(huán)境提供的延時函數(shù),像PIC這樣的,它就有專用的延時函數(shù)
回復(fù)

使用道具 舉報

11#
ID:633522 發(fā)表于 2023-4-19 01:21 來自手機(jī) | 只看該作者
并沒有什么區(qū)別
回復(fù)

使用道具 舉報

12#
ID:10193 發(fā)表于 2023-4-19 08:59 | 只看該作者
機(jī)器周期、指令周期、時鐘周期這些了解一下,你就明白了
回復(fù)

使用道具 舉報

13#
ID:587810 發(fā)表于 2023-4-19 10:35 | 只看該作者
for是知道循環(huán)次數(shù)的情況下使用,while是不知道循環(huán)次數(shù)的情況下用,for是執(zhí)行完循環(huán)繼續(xù)執(zhí)行其他指令,while是不滿足循環(huán)條件才退出執(zhí)行,如果滿足循環(huán)條件則一直執(zhí)行循環(huán)
回復(fù)

使用道具 舉報

14#
ID:1065550 發(fā)表于 2023-4-19 15:19 | 只看該作者
謝謝各位的解答,統(tǒng)一表達(dá)一下謝意
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 91精品国产综合久久婷婷香蕉 | 亚洲天堂一区二区 | 国产a一区二区 | 99热这里 | 日韩视频在线观看一区二区 | 亚洲精品一区二区三区在线观看 | 成人黄色网址大全 | av黄色片| 国产精品久久久 | 夜久久 | 久久久久久国产精品免费免费 | 国产激情毛片 | 久草视频观看 | 极品在线 | 亚洲视频一区在线观看 | 久久视频精品 | 成人妇女免费播放久久久 | 亚洲精选一区 | 一本一道久久a久久精品综合蜜臀 | 91xxx在线观看 | av片网 | 国产成人免费观看 | 欧美一区二区三区在线 | 美女福利视频 | 一区二区三区四区不卡 | 国产日韩一区二区三区 | 毛片久久久 | 精品日韩在线 | 日韩不卡一区二区 | 亚洲精品久久久久久久久久吃药 | 日韩视频在线免费观看 | 亚洲在线高清 | 国产目拍亚洲精品99久久精品 | 中文字幕亚洲一区 | 亚洲精品视频在线播放 | 天天色综| 看特级黄色片 | 91社区视频 | 成人一区二区三区 | 毛片一区二区三区 | 国产精品99久久久久久久久久久久 |