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

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

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 2643|回復(fù): 13
收起左側(cè)

單片機(jī)延時(shí)函數(shù)疑問(wèn)

[復(fù)制鏈接]
ID:1065550 發(fā)表于 2023-4-17 13:57 | 顯示全部樓層 |閱讀模式
1.void delay(uint x)           //延時(shí)函數(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);
}
想問(wèn)問(wèn)for循環(huán)和do循環(huán)有什么區(qū)別,下面一個(gè)是stc里面的延時(shí)函數(shù)。
同時(shí)問(wèn)問(wèn)為什么第二個(gè)能延時(shí)1ms?i和j都代表什么?

回復(fù)

使用道具 舉報(bào)

ID:883242 發(fā)表于 2023-4-17 15:26 | 顯示全部樓層
具體到你的代碼,for和while循環(huán)沒(méi)有區(qū)別。i和j代表延遲時(shí)間。
回復(fù)

使用道具 舉報(bào)

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

使用道具 舉報(bào)

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

明白了
回復(fù)

使用道具 舉報(bào)

ID:1065550 發(fā)表于 2023-4-18 13:07 | 顯示全部樓層
Hephaestus 發(fā)表于 2023-4-17 15:26
具體到你的代碼,for和while循環(huán)沒(méi)有區(qū)別。i和j代表延遲時(shí)間。

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

使用道具 舉報(bào)

ID:883242 發(fā)表于 2023-4-18 13:24 | 顯示全部樓層
Mang0 發(fā)表于 2023-4-18 13:07
那他這個(gè)i和j怎么算出來(lái)延時(shí)1ms的呢?

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

使用道具 舉報(bào)

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

使用道具 舉報(bào)

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

使用道具 舉報(bào)

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

使用道具 舉報(bào)

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

使用道具 舉報(bào)

ID:633522 發(fā)表于 2023-4-19 01:21 來(lái)自觸屏版 | 顯示全部樓層
并沒(méi)有什么區(qū)別
回復(fù)

使用道具 舉報(bào)

ID:10193 發(fā)表于 2023-4-19 08:59 | 顯示全部樓層
機(jī)器周期、指令周期、時(shí)鐘周期這些了解一下,你就明白了
回復(fù)

使用道具 舉報(bào)

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

使用道具 舉報(bào)

ID:1065550 發(fā)表于 2023-4-19 15:19 | 顯示全部樓層
謝謝各位的解答,統(tǒng)一表達(dá)一下謝意
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲天天干 | 在线亚洲人成电影网站色www | 久久国产精彩视频 | 国产一区二区三区四区 | 国产精品久久久久久久三级 | 成人免费在线观看视频 | 天天射网站 | 亚洲综合99 | 日韩免费一级 | 亚洲一区自拍 | 亚洲一区二区三区视频 | 欧美精品一区在线 | 欧美精品一区二区三区在线播放 | 久久久激情 | 国产一区二区三区四区三区四 | 亚洲二区在线 | 成人欧美一区二区三区在线播放 | 天天操夜夜操 | 69福利影院 | 一区在线免费视频 | 国产精品一区在线观看 | 久久精品视频一区二区 | 欧美日韩一 | 中文字幕人成乱码在线观看 | 成人福利| 黄色大片视频 | 丁香综合 | 亚洲五码久久 | 99久久免费精品国产男女高不卡 | 999精品在线观看 | 免费看a | 国产一区久久 | 国产精品欧美大片 | 中文字幕av中文字幕 | 国产一区二区三区在线免费观看 | 91电影在线播放 | 人妖无码| 乳色吐息在线观看 | 国产午夜精品视频 | 中文在线一区二区 | 国产精品久久九九 |