因为控制信号线的不同:外扩的RAM芯片既能读出又能写入,所以通常都有读写控制引脚,记为OE和WE。外扩RAM的读、写控制引脚分别与MCS-51的RD和WR引脚相连。
外扩的EPROM在正常使用中只能读出,不能写入,故EPROM芯片没有写入控制引脚,只有读出引脚,记为OE,该引脚与MCS-51单片机的PSEN相连
访问片外程序存储器和访问数据存储器使用不同的指令用来区分同一地址空间硬件上,控制信号不一样:片外程序存储器工作,要PSEN信号有效。
片外数据存储器工作,要RD或WR信号有效;软件上,寻址不一样,片外程序存储器工作,要用MOVC,片外数据存储器工作,要用MOVX;虽然地址都是0000H~FFFFH,不会发生冲突的。
扩展资料:
访问存储空间时,需要用到两个指针变量,为DPTR和PC。其中pc为程序计数器,指向下一条需要执行的指令的地址,DPTR为数据指针寄存器,这两个变量的长度都为16位。
这是51单片机内部结构决定的,无法改变。所以这两个指针的寻址能力都为64K。这样看来,两类存储器的扩展能力都为64K 。
MCS-51 单片机扩展系统中,片外程序存储器和片外数据存储器共处同一个地址空间,
为什么不会发生总线冲突?
----------------------------
是共处同一个地址空间吗?
什么是“总线冲突”?
MCS-51 单片机的存储器,是哈佛结构。
哈佛结构是一种将程序指令存储和数据存储分开的存储器结构。
哈佛结构的主要特点是将程序和数据存储在不同的存储空间中。
所以,程序存储器和数据存储器,并非是共处同一地址空间。
----------------------------
80x86 是冯诺依曼结构,程序和数据,都是存放在同一个存储空间。
即使都存在一起,也没有听说有什么“总线冲突”!
什么是“总线冲突”? 没有的事!