单片机I/O设计上的总线传送问题,急~~~

来源:百度知道 编辑:UC知道 时间:2024/05/23 23:11:26
在单片机I/O口的设计中,总线(BUS)既传送数据,又传送地址,为了不混淆,在硬件和软件上采取那些措施呢???
我们一般学的是51单片机,哪位大侠能尽快帮忙解决此问题,很急!!!!
我先给50分,谁能解出这个问题,我给他100

在需要外部RAM或ROM的线路中,往往在地址数据复用的I/O口外接一片锁存器,利用OLE信号控制,这些都是全自动的,当执行movx指令时单片机会自动执行,不需要人为控制。

要做到单片机数据和地址的传输其实很简单的,因为对于单片机而言,数据和地址都可以看成是数据,关键是硬件对数据的对待,如果硬件在一个时间周期设定(或制作成)对送来的数据(也就是一串数字,高低电平,它你可能知道他是所谓的数据,也可能是地址,但它不知道)作数据处理,或者作地址处理,这是通过不同的时间周期和硬件设计来实现的,也就是说数据和地址可以都看成数据,只是作用不同而已,数据是我们要存储或者计算的中间变量,所谓地址可是看成是命令,是对硬件的操作罢了。
我们通过设计,让硬件在一固定时间作对命令进行处理或数据处理,或者给定一些特殊的代码,当这些代码为真时,让硬件响应(数据或地址),为假时响应(地址或数据)。

要用锁存器啊,一般是74HC373
软件上是用movx @dptr,a
movx a,@dptr

建议看看执行movx指令的时序图以及74HC373的时序图

用锁存器啊,送完地址后锁存器锁存,然后再传数据