首页 理论教育 单片机指令访问片外ROM时序分析

单片机指令访问片外ROM时序分析

时间:2023-10-22 理论教育 版权反馈
【摘要】:访问片外存储器时,主要涉及控制信号ALE、PSEN、P0、P2引脚数据信号的时序关系。下面用一个具体的指令来说明访问片外ROM的指令时序关系。MCS-51系列单片机执行读片外ROM中常数指令时的时序关系如图8-18所示。5)在S5状态时,P2接口开始送高8位地址值2FH,这是存放常数的片外ROM单元的高8位地址。

单片机指令访问片外ROM时序分析

访问片外存储器时,主要涉及控制信号ALE、PSEN、P0、P2引脚数据信号的时序关系。下面用一个具体的指令来说明访问片外ROM的指令时序关系。

2050H 93H MOVC A,@A+DPTR;A←(A+DPTR)

设指令执行前DPTR=2F00H,A=05H,(2F05H)=25=19H。该指令存放在ROM的2050单元,机器码93H。这是一个专门用来取片外ROM中数据的指令,因为放在ROM中的数是不能改的,这个数据当然是常数。

1.时序过程分析

“MOVC A,@A+DPTR”是单字节单周期指令,操作过程只用了1个机器周期。我们知道1个机器周期分6个状态,12个时钟周期,每个状态都有特殊的功能。

MCS-51系列单片机执行读片外ROM中常数指令时的时序关系如图8-18所示。

978-7-111-46831-8-Chapter08-56.jpg

图8-18 MCS-51系列单片机执行读片外ROM中常数指令时的时序关系

图8-18中P0接口8个引线的电平信号图形含义说明如下。

1)单线条段——:表明无电平信号输入/输出,引脚处于浮空状态。

2)双斜线条段×<:表明开始有电平信号输入/输出,引脚信号处于变化过程状态。

3)平行线条段==:表明电平信号已进稳定输入/输出状态,引脚或为高电平或为低电平。

下面对照图8-18来依次看一下各个状态的情况。

1)在S1P2时ALE高电平有效,使74LS373接受P0接口输出的PC低8位的值50H,这个值也就是存着MOVC指令的ROM单元的低8位A0~A7地址

2)在S2状态时,P2接口也开始送PC高8位地址20H,这是存着MOVC指令的ROM单元的高8位地址。而从S2P2起,ALE变为低电平,P0接口地址A0~A7在ALE下降沿被锁存到锁存器74LS373中。

3)在S3状态时,978-7-111-46831-8-Chapter08-57.jpg变为低电平有效,选中片外ROM工作,这时P2接口输出的高8位地址20H和地址锁存器输出的低8位地址50H合成为16位地址2050H,按照这个地址选通片外ROM的2050H单元,将该单元中存放的MOVC指令操作码93H送出到数据总线上,也就是P0接口上。这样,CPU就可经P0接口读入这个指令的操作码,并存放到指令寄存器IR。然后,8051芯片对指令寄存器IR中MOVC操作码译码,产生执行该指令所需的一系列控制信号。(www.xing528.com)

在S3状态中要注意的是,ALE已经变为低电平,片外ROM单元的低8位地址已被锁存到锁存器74LS373中,则P0接口的8位线又可作为数据总线,传送MOVC指令操作码信息。

4)在S4P2时,CPU把累加器A中的地址偏移量05H和DPTR中地址2F00H相加得到的和2F05H的高8位地址2FH送到P2接口,低8位地址05H送P0接口。

在S4状态中要注意的是,ALE从S4P2起又变为高电平,又准备将片外ROM单元的低8位地址A0~A7锁存到锁存器74LS373中,则P0接口的8位线又作为低8位地址总线,但这次传送的是寻找存放常数的片外ROM单元的低8位地址信息。

5)在S5状态时,P2接口开始送高8位地址值2FH,这是存放常数的片外ROM单元的高8位地址。而从S5P2起,ALE变为低电平,P0接口地址A0~A7在ALE下降沿被锁存到锁存器74LS373中。

6)在S6状态时,978-7-111-46831-8-Chapter08-58.jpg又变为低电平第二次有效,选中片外ROM工作,这时P2接口输出的高8位地址2FH和地址锁存器输出的低8位地址05H合成为16位地址2F05H,按照这个地址选通片外ROM的2F05H单元,将这个单元中存放的常数19H读出并送到数据总线P0上,该常数经P0接口送CPU累加器A。至此,完成“MOVC A,@A+DPTR”这个从片外ROM中取常数的全部操作过程。

2.归纳总结

执行“MOVC A,@A+DPTR”片外ROM访问指令的过程,按时序分两个阶段。

(1)第一阶段按PC值到片外ROM读取指令码:

1)S2P1时ALE有效,PC低8位地址由P0接口送锁存器74LS373至A0~A7,高8位地址由P2接口送A8~A15地址线。

2)S3S4P1时978-7-111-46831-8-Chapter08-59.jpg有效,选中片外ROM,由P0接口读入MOVC机器码。

(2)第二阶段 对MOVC机器码译码后,按A+DPTR的16位地址再次从ROM中取出8位数送A。

1)S4P2时,ALE第二次有效,A+DPTR后的低8位地址经P0接口送锁存器74LS373;A+DPTR后的高8位地址由P2接口送A8~A15地址线。

2)S6时,978-7-111-46831-8-Chapter08-60.jpg第二次有效,按A+DPTR值选通的ROM单元中常数经P0送A。

最后还应指出:只有当ALE有效、P0接口有效、P2接口有效时,在片外地址总线中才能同时出现低位地址与高位地址信息,此地址信息送到ROM芯片,就可使CPU访问该地址的ROM单元,从中读出机器码。另外这个过程要维持一定的时间,因为电子过程都有一个延时过程,就是1/12μs的过程,之后,ALE锁存结束,74LS373就可以换数了。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈