发布: 2009-4-04 00:19 | 作者: hnrain | 查看: 11次
REo1R`H44606 时序是用定时单位来描述的,MCS-51的时序单位有四个,它们分别是节拍、状态、机器周期和指令周期,接下来我们分别加以说明。电子园51单片机学习网Ag:@Z @ ?d
K? gpm9L44606 电子园51单片机学习网c.bb"LeStx0Pb5y
0tsXxB0Pz44606 电子园51单片机学习网G]M5T P1TZ5rG
{(N6W7`s![ T$p44606
8\? bM(\3ZOk-S44606 电子园51单片机学习网qjd_ JHj:`4C2b
电子园51单片机学习网R](cftHMCS-51的指令时序:
M9z2x.rJ$m44606 电子园51单片机学习网*z;He+rC WwepE7e电子园51单片机学习网3i IDxr!h&x
MCS-51指令系统中,按它们的长度可分为单字节指令、双字节指令和三字节指令。执行这些指令需要的时间是不同的,也就是它们所需的机器周期是不同的,有下面几种形式:电子园51单片机学习网:O+|Q8GI!?+?
!w,E F;U @c~ Kk44606 电子园51单片机学习网8q_]\ aR }C)u
7I7W}:[k;I;e*g[?4Be2P44606 下图是MCS-51系列单片机的指令时序图:
"]6C6HS7e44606
电子园51单片机学习网:C0K1nj!b!]W-nG4w
上图是单周期和双周期取指及执行时序,图中的ALE脉冲是为了锁存地址的选通信号,显然,每出现一次该信号单片机即进行一次读指令操作。从时序图中可看出,该信号是时钟频率6分频后得到,在一个机器周期中,ALE信号两次有效,第一次在S1P2和S2P1期间,第二次在S4P2和S5P1期间。 电子园51单片机学习网%Sy-AJ2D],E
接下来我们分别对几个典型的指令时序加以说明。
电子园51单片机学习网#{f t2O/F0\ @
:a)e$@\zr [r c"H44606
9D"N/C [-BO44606 上页的时序图中,我们只描述了指令的读取状态,而没有画出指令执行时序,因为每条指令都包含了具体的操作数,而操作数类型种类繁多,这里不便列出,有兴趣的读者可参阅有关书籍。
:ac{~a2vRDL44606 电子园51单片机学习网9dX(fbm,L1_7Yq0C}8\f F)q44606 电子园51单片机学习网/a/h O3~1it \
外部程序存储器(ROM)读时序电子园51单片机学习网(q7aw1W:X|l'N;y{R1e
d7L#W/E5j9B p44606
(y|v/fal&U44606
Fn0}%Jqh44606电子园51单片机学习网 C%xJq#r8j7Nh ~
;zW2jF$UeVt44606电子园51单片机学习网2s._7?H~C4}
从外部程序存储器读取指令,必须有两个信号进行控制,除了上述的ALE信号,还有一个PSEN(外部ROM读选通脉冲),上图显然可看出,PSEN从S3P1开始有效,直到将地址信号送出和外部程序存储器的数据读入CPU后方才失效。而又从S4P2开始执行第二个读指令操作。电子园51单片机学习网7R*z,s!^OnJ6C G"m T
fk uN {,_6s ?3v44606
$[3b&Ah i/E)_yG44606 电子园51单片机学习网 Z+e.l_$ud N0A外部数据存储器(RAM)读时序
f1ei,Gg^g44606!Y!TQMjdz-oe44606
!?gFX_,p GZF44606
R`:W7|i%]44606
c9z5{6Z Z4\,k/nRik44606
mX2G[,e3L B]44606
)F(K T)T$H44606 上一个机器周期是取指阶段,是从ROM中读取指令数据,接着的下个周期才开始读取外部数据存储器RAM中的内容。
D@;[A?H44606
&ee(V z*rz44606 在S4结束后,先把需读取RAM中的地址放到总线上,包括P0口上的低8位地址A0-A7和P2口上的高8位地址A8-A15。当RD选通脉冲有效时,将RAM的数据通过P0数据总线读进CPU。第二个机器周期的ALE信号仍然出现,进行一次外部ROM的读操作,但是这一次的读操作属于无效操作。电子园51单片机学习网^e2yFcWkQ
#QMA2^W8hb44606
ms3F6PXu D8z/Q44606 对外部RAM进行写操作时,CPU输出的则是WR(写选通信号),将数据通过P0数据总线写入外部存储
文章评论(0条评论)
登录后参与讨论