(4) Intel 8251 的状态寄存器

  8251的状态寄存器用于存放8251接口(入/出设备)的工作状态。CPU通过检查该寄存器的内容来了解串行口工作状态,以便正确地执行字符入、出操作,其格式规定如表5.2所示:

表 5.2
D7
D6
D5
D4
D3
D2
D1
D0
DSR
SYNDET
FE
OE
PE
TxE
RxRDY
TxRDY

  D0位TxRDY,是发送器准备好信号,输出,高有效,值为1时,表明CPU可以向8251发送数据。

  D2位TxE,是发送器为空的信号,输出,高有效,表明实现从并行到串行转换的移位寄存器已经变空,从而整个的发送器都空了。TxE与TxRDY信号的区别在于,TxE只表明数据缓冲器为空,若并行到串行转换的移位操作尚未完成,则TxE仍为低。

  D1位是RxRDY,是接收器准备好信号,输出,高有效,其为1时,表明8251已经从串行输入端接收了一个字符,则CPU可以到8251取走该字符数据。

  D6位SYNDET只用于同步方式传送,在教学机中未使用同步传送方式,故不涉及此位。

  串行接口在程序中的用法,在TEC-2机的监控程序中可以看得很清楚。

  PE、OE、FE 3位为1,分别表明接口中出现奇偶错(Parity Error)、溢出错(Overrun Error) 和帧错误(Framing Error)。这些错误的出现并不禁止8251继续工作。这些错误标志信号可通过命令指令中的D4 (ER) 位使其复位。