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

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

QQ登錄

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

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

51單片機(jī)LED延時(shí)程序問(wèn)題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
關(guān)于51單片機(jī)LED延時(shí)問(wèn)題:
如圖:STC89C52RC,11.0592晶振,如果用unsigned int對(duì)變量進(jìn)行定義delayms(50000)延時(shí)大約是0.489s,而用long對(duì)變量進(jìn)行定義delayms(100000)延時(shí)大約是4.34s,為什么不是2倍關(guān)系呢,差的太多了吧,實(shí)驗(yàn)板上跑過(guò)程序,真的是4s多

51hei截圖_20220411230035.png (60.18 KB, 下載次數(shù): 55)

51hei截圖_20220411230035.png

51hei截圖_20220411230516.png (61.69 KB, 下載次數(shù): 44)

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

使用道具 舉報(bào)

9#
ID:624769 發(fā)表于 2022-4-13 21:39 | 只看該作者
海盜船 發(fā)表于 2022-4-13 17:57
謝謝各位指點(diǎn),不過(guò)還是不是很理解,匯編這塊不懂

因?yàn)? 你不懂匯編, 也不懂  char  int   long 的判斷, 對(duì)于 51核 的單片機(jī)來(lái)說(shuō) 根本上的區(qū)別是什么。
所以,你無(wú)法理解  INT 延時(shí)  和 long 延時(shí) 為什么不是兩倍關(guān)系。
如果,一定要弄懂,就去補(bǔ)知識(shí), 如果不愿意去補(bǔ),就把 這個(gè)“為什么” 先放一邊,只要知道,“就是這樣的”。就好了。

你要相對(duì) 準(zhǔn)確的延時(shí),就用unsigned char 來(lái)嵌套,如:
void Delay100us(unsigned char x)      // x個(gè) 100us  @11.0592MHz
{
unsigned char i;
while(--x)
   {
        i = 43;
        while (--i);
   }
}

void Delay10ms(unsigned char x)       // x 個(gè)10ms  @11.0592MHz
{
       while(--x)Delay100us(100);
}

void Delay1s(unsigned char x)           // x 個(gè)1s  @11.0592MHz
{
       while(--x)Delay10ms(100);
}


回復(fù)

使用道具 舉報(bào)

8#
ID:282519 發(fā)表于 2022-4-13 17:57 | 只看該作者
謝謝各位指點(diǎn),不過(guò)還是不是很理解,匯編這塊不懂
回復(fù)

使用道具 舉報(bào)

7#
ID:123289 發(fā)表于 2022-4-13 16:32 | 只看該作者
long 是浮點(diǎn)數(shù),浮點(diǎn)數(shù)有:底數(shù)(3個(gè)字節(jié))和階碼(一個(gè)字節(jié))組成,類(lèi)似于科學(xué)記數(shù)法。做加減法時(shí),要先對(duì)階(相當(dāng)于浮點(diǎn)轉(zhuǎn)定點(diǎn)),而后再加減,且是帶符號(hào)計(jì)算,最后再計(jì)算階碼,還原成浮點(diǎn)格式。比定點(diǎn)運(yùn)算復(fù)雜許多倍。
不懂匯編的師兄們,是很難理解這些的。
回復(fù)

使用道具 舉報(bào)

6#
ID:61883 發(fā)表于 2022-4-12 17:57 | 只看該作者
因?yàn)槟愕膯纹瑱C(jī)是8位的,如果使用long這種類(lèi)型,編譯出來(lái)代碼會(huì)很大很大(可以看反匯編),這樣延時(shí)執(zhí)行起來(lái),時(shí)間就長(zhǎng)很多了。
回復(fù)

使用道具 舉報(bào)

5#
ID:121859 發(fā)表于 2022-4-12 12:34 | 只看該作者
不可能是2倍關(guān)系的,int是兩個(gè)字節(jié),long是4個(gè)字節(jié),如果轉(zhuǎn)為匯編,那么前者是2個(gè)循環(huán),后者則是4個(gè)循環(huán),因?yàn)?1單片機(jī)是8位機(jī),所以各個(gè)指令的轉(zhuǎn)移判據(jù)最高也是8位。

評(píng)分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

地板
ID:123289 發(fā)表于 2022-4-12 11:15 | 只看該作者
1、對(duì)單片機(jī)的數(shù)據(jù)結(jié)構(gòu)沒(méi)有真正明白的原理。
2、不懂匯編。
建議:
將程序進(jìn)行編譯,看編譯后的匯編代碼,或許你就明白了。
提示:硬延時(shí),雖然每次動(dòng)作都是減1或加1的累計(jì)。但對(duì)于不同的數(shù)據(jù)結(jié)構(gòu),加減1的復(fù)雜程序是不同的,即運(yùn)行復(fù)雜程度是不一樣的,所以時(shí)間不同。
回復(fù)

使用道具 舉報(bào)

板凳
ID:624769 發(fā)表于 2022-4-11 23:56 | 只看該作者
延時(shí)要準(zhǔn), 就要 用多個(gè) char 嵌套, 不能簡(jiǎn)單用 long 或 INT
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:401564 發(fā)表于 2022-4-11 23:52 | 只看該作者
別看仿真
STC下載器有現(xiàn)成代碼
Keil是傳統(tǒng)8051內(nèi)核,它是按AT系列的8051走的
STC的指令時(shí)間和AT的是不一樣的
至于為什么不是兩倍關(guān)系,你先去了解一下單片機(jī)的編譯原理吧,這是基礎(chǔ)
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 精品二区视频 | 99国内精品| 欧美视频成人 | 中文字幕在线免费视频 | 人人精品 | 黄a网站| 国产日韩精品在线 | 黄色国产在线视频 | 色综合天天天天做夜夜夜夜做 | 日韩精品视频在线 | 日韩视频在线播放 | 欧美日韩在线视频一区 | 久久综合久久自在自线精品自 | 久久综合99 | 欧美在线二区 | 欧美日韩精品一区 | 色就是色欧美 | 国产激情精品视频 | 免费精品 | 国产a一区二区 | 老头搡老女人毛片视频在线看 | 精品一区二区三区四区 | 成人在线视频免费播放 | 亚洲精品在线播放 | 日韩中出 | 天天天久久久 | 中文字幕一区二区三区精彩视频 | 欧美精品一区久久 | 欧美久久久 | 盗摄精品av一区二区三区 | 国产精品视频www | 久草免费在线视频 | 一区天堂| 自拍偷拍精品 | 欧美专区在线 | 蜜桃一区二区三区 | 欧美日韩三级 | 黄色一级毛片 | 91影院| 精品国产乱码一区二区三 | 亚洲精久久 |