单片机 片外存储器

来源:百度知道 编辑:UC知道 时间:2024/06/04 15:38:06
89C51单片机片选外部存储器的时候,P0口作为地址和数据总线的时候,他需要锁存器来存锁地址,那单片机P0读写数据的时其不是都处在存锁后的那个数据状态..汗..分数有限..
TO皇甫允从事官:硬件P0口不是与74373输入端相连,74373输出端与片外存储的地址相连.那我们读写数据的时候不是会影响地址了吗?

片选存储器如果内部没有锁存器,外部不是要接一个锁存器,那么锁存器的输出端不是要跟外部存储器的数据口(地址口)要相连接吗?

那单片机是从锁存器的输出口读取数据?

当P0口做为地址线的时候,给DPTR送数然后通过P0,P2口送给外部存储器,通过锁存器锁存P0口的地址,那么一直指向所要读写的地址,然后MOVX A,@DPTR或MOVX @DPTR,A来读写外部存储器,一遇到该指令单片机硬件自动给ALE一个信号,这个时候锁存器释放出来给单片机读写数据??是不是这样理解呢?

TO皇甫允从事官:
只有MOV DPTR #**** 这个指令才会使ALE有脉冲,去使373锁存地
MOV A,@DPTR 和 MOV @DPTR,A都不会改变地址.有点不理解,即然只有MOV DPTR #**** 才会使有ALE脉冲,使373锁存地址,锁存完之后,那MOV A,@DPTR 和 MOV @DPTR,A其不是没办法读写片外的数据?

TO皇甫允从事官:
很奇怪,我搜索不到你的QQ,可能网络有问题吧..
外部存储器是不是有分地址线和数据读写线引脚呢?还是共用引脚呢?

你qq多少

问题的关键是你没有亲自去连个线?74ls373的第11脚G应该接你单片机的ALE吧,这就是地址锁存,这就是为什么数据与地址不会混淆的地方.P0口是分时复用的,地址与数据不会在同一时间发送!你发送的是什么内容,ALE会帮你告诉373的,这是自动的.不明白就多看书,多实验下就明白了
一楼的说法也是对的!