8250内部寄存器
1.发送保持寄存器(3F8H/2F8H)
只有在发送保持寄存器空闲时,CPU才能写入数据
2.接收缓冲寄存器(2F8H/2F8H)
3.通信线状态寄存器(3FDH/2FDH)
D0:1-表示接收器已接收到一帧完整的数据,并已转换成并行数据,存入接收缓冲器;
D1~D4:只要有一位为1,在中端允许的情况下,8250内部将产生“接收数据错”,当CPU读取状态寄存器后,自动复位
D5:发送保持寄存器空闲标志位:1-CPU可以写入新数据,当新数据送入发送保持寄存器后,D5为0.
D6:发送移位寄存器空闲标志位:1-表示一帧数据已发完,当新数据有发送保持寄存器移入发送移位寄存器,该位为0.
D7:恒为0,。
只有当D0 = 1时,CPU才能读数据
只有当D5 = 1,或D6 = 1时,CPU才能写数据
eg :CPU查询通讯线状态寄存器进行接收和发送数据的程序段:
SCAN:
MOV
DX,3FDH
IN
AL,DX
TEST