本帖最后由 江陵龙少 于 2011-7-9 12:42 编辑
这个问题本质是:
在片外寻址时,将会用到如下信号脚,或者说这些管脚将会使用:
P0,P2,/PSEN,ALE
在/EA=1时,当PC指针指向0~4KB地址范围时,AT89C51通过其内部的总线在内部ROM中取得代码,上述的功能管脚将不起作用,(比如说,选通信号脚/PSEN就没有输出振荡信号,P2、P0根本没有送出地址),因此,片外ROM 0~4KB地址范围内的内容将绝无可能取得到。
当地址超过4KB时,这时上述功能管脚将工作起来,协同合作,由P2送出高地址,P0送出低地址,ALE乘机锁存,/PSEN趁势选通外部ROM,P0上也就获得了片外ROM空间的数据,这个数据也就送入了控制与运算单元。
理清了这个过程,就不会有地址发生冲突的可能
|