51单片机指令执行所需的机器周期

关于常见指令的机器周期,我看了几个版本,几乎每个版本都不一样,头大了,所以希望有专业人士能帮忙给出正确的机器周期,只需要一些常见的就行了,要确保正确啊,谢谢了!
我的意思是执行某个指令需要的机器周期数,比如:MOV R0,#0FFH 这条指令需要1个机器周期。

89C51的
MOV A,Rn 1个机器周期
MOV Rn,A 1
MOV Rn,direct 2 (直接寻址)
MOV direct1,direct2 2

MOVX ..... 2
ADD 1
INC 1
DEC 1
CJNE 2
DJNZ 2
NOP 2
JC\JB 2
CLR\SETB 1
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-06-22
51单片机是按照时钟的定时工作的,即在一个指令周期内,单片机会按照时钟的上升沿或下降沿操作,12m晶振,每个指令周期为1微妙.
执行djnz
r0,rel指令,在第一个指令周期完成r0减去一的操作,第二个指令周期完成读取rel并跳转。所以共需要2微妙。
第2个回答  2009-05-05
常见的at89c51,12个晶振周期等于一个机器周期,后来有更快的,比如stc的单片机,一个机器周期只用6个晶振周期。

详细情况可进我空间看看:

百度空间:http://hi.baidu.com/%B4%F3%CE%B0%B5%E7%D7%D3%D6%C6%D7%F7
第3个回答  2020-02-15
89C51的
MOV
A,Rn
1个机器周期
MOV
Rn,A
1
MOV
Rn,direct
2
(直接寻址)
MOV
direct1,direct2
2
MOVX
.....
2
ADD
1
INC
1
DEC
1
CJNE
2
DJNZ
2
NOP
2
JC\JB
2
CLR\SETB
1
第4个回答  2009-05-05
51内核的MCU,有存在12T的MCU,也存在1T的MCU,,,就这两种来说,就是不一样的.
相似回答