欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3769|回復: 6
收起左側

STC15W104單片機的指令周期到底是多少?

[復制鏈接]
ID:154074 發表于 2021-8-11 08:42 | 顯示全部樓層 |閱讀模式
號稱“1T”,也就是一個指令周期=一個機器周期的意思嗎?1T應該如何理解?
它和我們熟悉的89C52相比區別在哪里?


編輯原因:之前用延時函數舉了例子,但漏洞百出,自己刪了
回復

使用道具 舉報

ID:154074 發表于 2021-8-11 08:52 | 顯示全部樓層
剛搜到一些先自己答一下:好像機器周期還不等于振蕩周期。。具體還在研究,請大神幫我解答
回復

使用道具 舉報

ID:419909 發表于 2021-8-11 09:20 | 顯示全部樓層
一般用官方那個自動計算生成的軟件比較準確。然后再倒推實際執行周期,STC燒錄工具還是比較強大的。玩得好。可以省很多工作。
回復

使用道具 舉報

ID:844772 發表于 2021-8-11 09:29 | 顯示全部樓層
你少算了一個數量級啊,你反匯編看看就明白了,如果i為U16,基本如下,如果char那時間就減半吧。
while(i--);
C:0x000F EF MOV A,R7        1個指令周期
C:0x0010 1F DEC R7        1個指令周期
C:0x0011 8E83 MOV DPH(0x83),R6        2個指令周期
C:0x0013 7001 JNZ C:0016        2個指令周期
C:0x0015 1E DEC R6        1個指令周期
C:0x0016 4583 ORL A,DPH(0x83)        1個指令周期
C:0x0018 70F5 JNZ C:000F        2個指令周期
回復

使用道具 舉報

ID:959346 發表于 2021-8-11 09:49 | 顯示全部樓層
你可以簡單理解成:1T對應的指令,是指匯編指令里單指令周期的指令,并不等于C語言里的一條指令。C語言里不同指令需要使用的匯編指令條數,根據不同指令是不同的,只有 NOP 空指令一般是對應一條指令。所以你這種計算方法,算出來的時間會偏低。
回復

使用道具 舉報

ID:479619 發表于 2021-8-11 09:51 | 顯示全部樓層
指令周期等于多個機器周期,這個不確定的,上面那個延時函數i=10uS,ms延時函數可以根據計算用循環寫
回復

使用道具 舉報

ID:401564 發表于 2021-8-11 10:17 | 顯示全部樓層
不用匯編的話,這T不T的無所謂了
語句不等于指令,寫出來的C在不同的STC單片機所有用的時間都是不一樣的
延時也不是單一的快多少倍,而是要對照指令表一個一個計算出來的,而STC15幾乎是STC里頭指令周期最亂的
用C語言不用管這個,下載器那有延時函數,復制粘貼它不香?
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

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