51单片机使用MOVX A,@DPTR指令访问外部RAM,外部总线为P0和P2,是16位的,而且DPTR也是16位寄存器,故直接寻址可以达到64K。如果需要读取更大的RAM可以使用扩充端口的办法,就可以说没有什么限制了。
地址线与数据线的分离是使用了ALE这个信号,当这个信号有效时P0口的输出被锁存在锁存器中,被锁存的地址与P2口的地址一起组成16位地址,当ALE这个信号无效时P0口输出数据,即数据总线。
51有所谓总线的概念吗?如果有那么地址总线和数据总线分别是怎样的?
====
P2、P0是地址总线;
P0是数据总线。
P0是复用的。
地址线,是16位的,所以限定了64K的地址范围。
如果想要使用更多的地址空间,可以利用接口,来输出更高位的地址。
地址总线和数据总线是分时复用的。。在写数据时 首先P0口送出的是要写的地址的低8位,P2口送出的是高8位地址,等地址送出后 然后P0口作为数据总线送出数据 这一切都是按照单片机的时序严格工作的 。