M-CS51系列单片机中,访问外部程序存储器时,PC的低8位地址由p0口输出,PC的高8位由p2口输输出,是否正确

pc是为访问外部程序存储器提供地址的,而访问外部数据存储器不是有寄存器Ri(8位),和DPTR提供的吗?也就是说,M-CS51系列单片机中,访问外部程序存储器时,DPTR的低8位(DPL)地址由p0口输出,DPTR的高8位(DPH)地址由p2口输出,可是在一份自考卷子上,答案是访问外部程序存储器时,PC的低8位地址由p0口输出,PC的高8位由p2口输输出,是否卷子答案有错,还是我的理解有误?知道的请尽快告知。。。谢谢

首先肯定卷子答案没有错,你想,一个自考卷子要是错了,那学自考还有什么价值了。再说原因:这个答案只对MCS-51单片机是对的,再准确一点说是对8031单片机是对的。好了,说正题,8031单片机需要外配程序存储器,当访问外部程序存储器时,存储器的地址是由PC给出的,而需要从P0口输出低8位,从P2口输出高8位,确实一点没有错。原因是你的理解不全面,只考虑了在访问外部数据存储器的情况了。对于8031,不论是访问外部的程序存储器还是外部的数据存储器,都是同样的由P0口输出低8位地址,由P2口输出8位地址。这就是重要的系统的三总线中的地址总线,其余是数据总线,控制总线。同理,不论是访问外部程序存储器还是外部数据存储器,数据总线都是用P0口,所以,P0口复用的,即是低8位地址线,也是8位数据线。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-04-10
访问外部程序存储器,有两种情况:
取指令代码时:
PC的低8位由P0口输出,PC的高8位由P2口输出。
--
执行查表指令 MOVC A, @A+DPTR 时:
A+DPTR的低8位由P0口输出,A+DPTR的高8位由P2口输出。
执行查表指令 MOVC A, @A+PC 时:
和上面雷同。
------
访问外部数据存储器时:
DPTR的低8位(DPL)地址由P0口输出,DPTR的高8位(DPH)地址由P2口输出。本回答被网友采纳
第2个回答  2013-04-10
DPTR是指令,PC是指针,她们多需要地址,外部程序存储器是16位地址,所以都是对的,不只是这2个,还有其他的涉及外部地址的都是P0和P2一起发送地址的
第3个回答  2013-04-10
DPTR是数据指针
PC是程序指针
程序指针不能直接修改,数据指针则可以!
无论是访问外部数据还是程序都是通过p0口低8位,p2口高8位的寻址方式实现的。
第4个回答  2013-04-10
答案没问题,PC是程序计数器,所以P2P0输出的是一个地址,而DPTR寄存器既可以用作外部数据寄存器,也可用作外部程序寄存器
相似回答