2)同步方式下的初始化编程举例
由图6.33所示的8251A初始化和数据传送流程图可知,8251A工作于同步方式下的初始化编程应为:首先输出方式选择字(同步方式),然后紧接着输出一个同步字符(单同步)或两个字符(双同步),最后输出操作命令字。
方式选择字设定为00111000B(38H),即设定为同步工作方式,两个同步字符(双同步)采用内同步方式(SYNDET引脚为输出),偶校验,每字符7个数据位。
同步字符为两个,它们可以相同,也可以不同。本例中设定为16H,它们必须紧跟在方式选择字之后用同一个端口地址(控制口地址)写入8251A。
操作命令字设定为10010111B(97H),它使8251A的发送器允许,接收器允许,使状态寄存器中的3个错误标志位复位,开始搜索同步字符,并通知调制解调器,数据终端设备已准备就绪。
8251A的端口地址同前(即控制口地址一51H,数据口地址一50H),本例的初始化程序如下:
MOV AL,38H:输出方式选择字,使8251A工作于同步方式,双同步字符,内同步方式
OUT 51H,AL;偶校验,每字符7个数据位
MOV AL,16H
OUT 51H,AL;连续输出两个同步字符,同步字符为16H
OUT 51H,AL
MOV AL,97H:输出操作命令字,使发送器允许,接收器允许,使错误标志位复位
OUT 51H,AL:开始搜索同步字符,并输出DTR有效信号
CPU执行上述程序段之后,即完成了对8251A同步方式的初始化编程。