这么一提醒
我突然悟到了前几天关于外部扩展RAM的问题
我描术一下我的理解 大家看看有没有什么不对
MOVX DPTR,#0FEF8H
然后一句MOVX @DPTR,A
P0,P2口就被占用, 用来发送外部RAM地址 P0送出的值由373锁存 P2口将保持刚才输出地址的状态至该指令结束 ,即P2=0FEH , P2.0=0 , 地址发完就自动从P0口送出A中的值 同时还使P3.6 , 即/WR 端为0 那么 当/WR与P2.0同时为0时 , 图中的0809的SC端便有了正脉冲 , 于是转换开始 , ALE=1, 锁存ABC的地址 ,
执行MOVX @DPTR,A 结束时 P2,P0和/WR都恢复到执行MOVX @DPTR,A之前的状态
当0809一次转换结束后,申请中断, 51进入中断服务 , 一句MOVX A,@DPTR 同样先送地址给P0和P2 ,P2的状态也将保持至该指令结束 , 送完地址后 , 使 /RD(P3.7)端为0 , /RD与P2.0同时为0时 OE端为1 ,即0809输出允许 于是就在此时0809转换的数据 就被51从P0口接收了
MOVX A,@DPTR执行结束后 P0,P2和/RD恢复到执行前的状态
是这样一个过程吗? 我的描述有任何错 请指出 谢谢了:loveliness: |