8251A芯片

来源:互联网 发布:儿童英语培训 知乎 编辑:程序博客网 时间:2024/05/19 10:07

        今天学了串行接口8251.里面谈到3个可编程的寄存器:方式字寄存器,控制寄存器和状态寄存器。我们知道,cpu要想操作寄存器,必须要知道该寄存器的地址,就好比我要给你发邮件我必须先知道你的邮件地址吧。那么cpu又是怎样来找到这些寄存器的呢?

         当c/(非D)为高电平时,就说明这个时候cpu把数据线D0-D7用作向方式寄存器和控制寄存器写东西以及从状态寄存器里面读内容出来的通道。既然区分有读操作和写操作,那么cpu就肯定能把状态寄存器从那3个寄存器中区分开来。想想也是,我要读数据,那我肯定是从状态寄存器里面把数据从出来放到总线上面去。那么我如果要写数据,我究竟是写到方式寄存器里面还是控制寄存器里面呢?这里就有约定了,就好比如8259中断寄存器中好几个寄存器只用一个地址。这里涉及到一个8251A流程图的问题,外加最下面的两个cpu通信的程序也说明了问题。   

    复位以后,第一次写入奇地址的是方式选择字。 如果编程8251A的工作方式为同步方式, 紧接着送入奇地址的是同步字。 方式选择字还规定了同步字的个数, 必须根据方式字的设定,向奇地址写入1个或按顺序写入2个同步字。 

  之后,写入奇地址的数据一概被认为是命令字。命令字中如果包含复位命令,8251A被复位。 其后送入奇地址的字节又被认为是方式字。命令字中如果不包含复位命令,初始化完毕,便可以开始使用偶地址传送数据。

        看出来了吗?

 

原创粉丝点击