大风吹鼓谱:8251A的编程字

来源:百度文库 编辑:偶看新闻 时间:2024/04/30 00:56:01


(1)工作方式控制字D1D0 确定是工作于同步方式还是异步方式。D1D0=00为同步方式,当方式设为同步时,方式控制字后必须装入 同步字符,并由同一个方式控制字规定装入单同步字符还是双同步字符;D1D0≠00为异步方式,且有3种组合来 选择输入的时钟频率与波特率之间的系数。
D3D2 确定每个字符的数据位(不包括奇偶校验位)。
D5D4 确定是否校验和奇偶校验的性质。
D7D6 含义因同步方式或异步方式而异。异步方式(D1D0≠00)时用来确定停止位个数。同步方式时D6用来确定 是内同步(SYNDET脚为输出)还是外同步(SYNDET为输入),D7用来确定同步字符个数。外同步方式时,同步字 符只用于发送,接收时不作用。
例:某异步通讯,数据位为8位,1位起始位、2位停止位、奇校验、波特率系数为16。
则有:11011110B=0DEH
MOV DX,309H ;8251A命令口
MOV AL,0DEH
OUT DX,AL

(2)工作命令控制字D0 设置为1允许8251A开始发送操作。只有命令字的D0=1,引脚TXDRY(通知CPU:发送器准备好)才可能有效(为1)。可作为发送中断屏蔽位。
D1 设置为1强制引脚DTR有效,表示数据终端准备好,通知调制解调器:8251A已准备好。
D2 设置为1允许8251A开始接收数据。只有命令字D2=1,RXRDY(通知CPU接收器准备好的引脚)才有可能为1。允许接收时必须使错误标志复位(见D4)。在同步方式时还必须指定进入同步搜索操作(见D7)。
D3 设置为1迫使TXD端发送低电平,以此作断点字符。
D4 设置为1则对状态字中的所有操作出错标志(FE,OE,PE)复位。
D5 设置为1强制RTS引脚(请求发送)有效,向调制解调器提出发送请求。
D6 设置为1强制8251A内部复位,使之回到准备接收方式字的状态。
D7 只用于同步方式。为使8251A进入同步搜索操作,将输入的信息和同步字符比较,一致则使SYNDET/BRKDET(同步/断点检测)引脚有效,开始对数据的接收操作。
例:若要使8251A内部复位且允许接收/发送,则有
        MOV DX,309H
        MOV AL,40H ;D6=1,复位
        OUT DX,AL
        MOV AL,05H ;D2=1,D0=1
        OUT DX,AL

(3)状态字状态字的作用是8251A向CPU送去数据传送操作中的各种状态信息。方式字,同步字符,命令字都是CPU写入8251A的,以控制8251A的工作方式和操作。那么,8251A在发送,接收数据的过程中实际工作状态如何呢?如一个字符接收全了 没有?接收的数据有没有错误?有什么类型的错 误?发送缓冲器空了没有?发送移位寄存器空了没有?等等,这些在发送/接收数据操作过程中的状态信息随 时寄存在8251A内部的状态冲寄存器内,CPU可以通过I/O读操作(=1)把状态字读入加以分析,控制CPU和 8251A之间的数据交换。
状态位D0(TXRDY)——发送器准备好。
状态位D1(RXRDY)——接收准备好。
状态位D2(TxE)——发送器空。
状态位D3(PE)——奇偶校验错标志
状态位D4(OE)——溢出(覆盖)错误标志。
状态位D5(FE)——帧格式错误标志
状态位D6(SYNDET)——同步检测。
状态位D7(DSR)——数据装置准备好。