首页 理论教育 控制8251A-微型计算机原理

控制8251A-微型计算机原理

时间:2026-01-26 理论教育 小可爱 版权反馈
【摘要】:8251A的状态字可以通过读取其奇地址端口得到。根据8251A器件手册的介绍,想要保证8251A通过工作命令字复位成功,需要使用如下命令序列:1.向控制口送三个0,以保证8251A处在正确的命令状态;2.向控制口送入40H复位命令字;3.延时超过8251A时钟周期的28倍,以等待内部状态转换完毕;4.进入初始化流程,向控制口写入方式选择字和同步字符。

模式寄存器的内容决定了8251A到底工作在同步模式还是工作在异步模式,还决定了所接收和发送的字符的格式,模式寄存器的内容也是由执行程序设置的。8251A的控制寄存器由程序通过写控制端口(C/D=1)写入,其内容被称为8251A的方式选择字,或者称作方式选择命令字,格式如图8-17所示。

图示

图8-17 8251A方式选择字

8251A的方式选择字用来指明8251A的工作方式,其中位0~1说明8251A工作于同步方式还是异步方式,以及异步方式下的波特率系数,2个同步字符寄存器用来容纳同步方式中所用的同步字符。位2~3说明字符长度,可选值为5~8位,位4~5说明奇偶校验方式,可选值为无校验、奇校验和偶校验。位6~7用于说明停止位定义或同步控制方式定义,当位0~1规定8251A工作于同步方式时,这两个位用来说明同步控制方式是内同步还是外同步以及内同步时同步字符的数量是1个还是2个。当位0~1规定8251A工作于异步方式时,这两个位用来说明停止位的数量,可取值为1个停止位、1.5个停止位或2个停止位。

控制寄存器又叫命令寄存器,可以通过程序设置来控制8251A的工作,其格式如图8-18所示。

8251A命令寄存器的内容称命令字,又叫工作命令字,其每个位具有其特定的作用,例如D0和D2分别用于发送允许控制和接收允许控制,可以分别控制允许或禁止数据的发送和接收。D1和D5位分别用于控制图示图示信号输出,如果将D1或D5位置1,则相应的图示图示输出有效的低电平,用以表示“数据终端准备好”或者“请求发送”。此外,D3位SBRK置1将强制8251A的TxD输出低电平,即发送空白字符,D7位EH置1要求8251A进入搜索方式,开始搜索同步字符,D4位ER置1复位所有错误标志,D6位IR置1则复位8251A,重新进入初始化流程。

图示

图8-18 8251A命令字

方式选择字和命令字的写入都是通过写入8251A的控制端口(即奇地址端口)来完成的,只是方式选择字只在8251A通过RESET信号硬复位或通过命令字软复位之后立刻写入控制端口。如果8251A工作于同步方式,则根据同步控制的设置,其后写入控制端口的一或两个字符即为同步字符,被送到8251A的两个同步字符寄存器中。

状态寄存器在8251A的工作过程中为执行程序提供一定的状态信息(又称状态字),其格式如图8-19所示。

图示

图8-19 8251A状态字

8251A的状态字为程序提供关于8251A的两类状态信息。第一类是D3~D5所提供的错误信息,包括D3的奇偶错、D4的溢出错和D5的帧格式错。另一类是其他5位提供的8251A状态信息,包括TxRDY(D0位,发送准备好)、RxRDY(D1位,接收器准备好)、TxE(D2位,发送器空)、SYNDET(D6位,检测到同步字符)和DSR(D7位,DCE就绪)。其中,DSR位代表8251A的DSR引脚上是否是有效电平,如果DSR管脚上电平为低,则DSR位为1。SYNDET、TxE和RxRDY反映了同名引脚的当前值,而TxRDY比较特别,它的取值与TxRDY引脚的取值有所不同,只要发送缓冲器空闲,TxRDY状态位就会置位,而TxRDY引脚只有发送缓冲器空、命令字中TxEN位为1、而且输入引脚图示为低这三个条件同时满足时才会被置为有效的高电平。

需要注意的是,虽然状态寄存器中TxRDY位与图示引脚和命令字中的TxEN位两者无关,但并不意味着8251A可以在图示无效或TxEN位置0的情况下发送数据。只有CTS有效(低电平)且TxEN位置1时,8251A才能发送数据。8251A的状态字可以通过读取其奇地址端口得到。(https://www.xing528.com)

8251A与CPU和外设的连接如图8-20所示。

8251A必须先初始化才能正常使用,和8255A随时可以通过方式选择控制字设置各端口的工作方式不同,8251A的方式选择控制字必须在8251A芯片刚刚复位的时候设置,这个过程称作8251A的初始化(见图8-21)。

图示

图8-20 8251A与CPU和外设的连接

图示

图8-21 8251A的初始化过程

根据方式选择的不同,8251A的初始化过程需要向控制端口写入1、2或3个字节,其中写入的第一个字节为方式选择命令字,根据选择的方式的不同,接着还要写入一到两个同步字符(同步方式下),其后再向该端口写入的就被8251A理解为工作命令字了,直到通过硬件信号或当工作命令字的IR位(第6位)复位8251A为止,这时8251A就可以被重新初始化了。

根据8251A器件手册的介绍,想要保证8251A通过工作命令字复位成功,需要使用如下命令序列:

1.向控制口送三个0,以保证8251A处在正确的命令状态;

2.向控制口送入40H复位命令字;

3.延时超过8251A时钟周期的28倍,以等待内部状态转换完毕;

4.进入初始化流程,向控制口写入方式选择字和同步字符。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈