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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4463|回復: 8
收起左側

MCU C語言延時函數{while(i--);}當i=1時為什麼等于10us?

[復制鏈接]
ID:468169 發表于 2021-4-29 23:16 來自觸屏版 | 顯示全部樓層 |閱讀模式
50黑幣
晶振12M,  void delay(u16i)
{while(i--);}當i=1時為什麼等於10us?

回復

使用道具 舉報

ID:468169 發表于 2021-4-29 23:17 來自觸屏版 | 顯示全部樓層
說錯了,晶振是12M,不是15M.
回復

使用道具 舉報

ID:643071 發表于 2021-4-29 23:40 | 顯示全部樓層
這個和晶振的頻率有關系
回復

使用道具 舉報

ID:383215 發表于 2021-4-29 23:56 | 顯示全部樓層
什么單片機?編譯級別是什么?任何延時函數不同單片機的不同晶體不同編譯級別的時間都不一樣,想知道為什么只有看對應的匯編代碼就清楚了。
回復

使用道具 舉報

ID:506248 發表于 2021-4-30 00:33 | 顯示全部樓層
使用不同的芯片會用到不同的指令集,同一條指令運行所需的時鐘周期也是不一樣的,即便源代碼完全一樣生成的hex文件也一樣的情況下,使用不同的單片機芯片使用完全相同的延時函數,具體的延時時間也會有差別的。以STC單片機為例,他的指令集就分Y1,Y3,Y5,Y6四種,我們常用的STC89C52RC采用的就是Y1指令集,而STC8F1K08采用的就是Y6指令集。以同樣的一條指令NOP為例 STC89C52RC需要12個時鐘周期  而STC8F1K08只需要1個時鐘周期,這四種指令集速度是不一樣的。所以樓主問的當i=1時為什麼等于10us? 真的沒法說,因為不知道你指的是什么型號的單片機。你必須說出你的型號,才好針對具體問題具體分析。
以下附圖說明各個指令集所需時鐘周期(詳情請看STC-ISP軟件,截圖只是其中一部分,說明相同指令在不同指令集下所需時鐘周期是不一樣的)


3.png

STC89C52RC采用的是Y1指令集,他的延時函數 i=1是延時7us  真找不到你說的 10us的,這里還多執行了一個i=1呢,想一想什么芯片比STC89C52RC
還慢呢?想不出來啊!
4.png
回復

使用道具 舉報

ID:912803 發表于 2021-4-30 06:05 | 顯示全部樓層

           while(i--);
C:0x0090    EF       MOV      A,R7
C:0x0091    1F       DEC      R7
C:0x0092    AC06     MOV      R4,0x06
C:0x0094    7001     JNZ      C:0097
C:0x0096    1E       DEC      R6
C:0x0097    4C       ORL      A,R4
C:0x0098    70F6     JNZ      delay(C:0090)

因為你的單片機是12T的,也就是說12個時間周期才運行一個機器周期,
而一到三個機器周期為運行一個匯報代碼,(詳情請看單片機精靈)
延時函數由7個匯編代碼組成(9us),加上跳轉函數是8個(1us)
回復

使用道具 舉報

ID:879348 發表于 2021-4-30 08:01 | 顯示全部樓層
因為你用的單片機太弱了,調用函數2us,while需要2us,,i--要1us,退出返回需要2us
回復

使用道具 舉報

ID:297320 發表于 2021-4-30 10:53 | 顯示全部樓層
keil里面設置好晶振頻率,debug一下,看看時間就知道了。延時的長短和你的單片機芯片選取有關。
回復

使用道具 舉報

ID:468169 發表于 2021-4-30 13:12 來自觸屏版 | 顯示全部樓層
kmsj 發表于 2021-4-29 23:56
什么單片機?編譯級別是什么?任何延時函數不同單片機的不同晶體不同編譯級別的時間都不一樣,想知道為什么 ...

STC89C52RC
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 一区二区三区日韩精品 | 色爱区综合 | 国产成人免费 | 久久久久久久久国产 | 午夜亚洲| jlzzjlzz国产精品久久 | 一区中文字幕 | 国产精品久久久久久吹潮日韩动画 | 欧美精品91爱爱 | 亚洲综合无码一区二区 | 免费在线精品视频 | 精品av| 国产一区不卡 | 国外成人在线视频网站 | 亚洲日本乱码在线观看 | 亚洲视频中文字幕 | 国产一区二区精品在线 | 欧美日韩综合一区 | 中文字幕免费视频 | 精品久久久久久亚洲综合网 | www精品美女久久久tv | 成人在线电影在线观看 | 色伊人久久 | 91社区在线观看播放 | 国产乱码精品一区二区三区五月婷 | 精久久久久 | 日韩中文字幕一区二区 | 亚洲看片网站 | 少妇午夜一级艳片欧美精品 | 亚洲成人综合网站 | 久久伊人一区二区 | 亚洲精品一区二区另类图片 | 亚洲一区 | 手机日韩 | 亚洲导航深夜福利涩涩屋 | 久久久久久亚洲 | 久久伊| 欧美日韩国产在线观看 | www.99热.com | 欧美a区 | 亚洲免费人成在线视频观看 |