180 likes | 393 Views
第 4 讲 可编程串行通信接口芯片 8251A. INTEL 公司生产的 8251A 是通用的同步 / 异步接收发送器,能支持异步通信规程和 IBM 公司的二进制同步通信规程( BSC )等通信协议。. 其基本性能有: 1. 可用于同步和异步传送。 2. 对于同步传送,可选择每个字符的数据位数( 5 — 8 位 / 字符),内部或外部字符同步,能自动插入同步字符.
E N D
第4讲 可编程串行通信接口芯片8251A INTEL 公司生产的8251A是通用的同步/ 异步接收发送器,能支持异步通信规程和IBM公司的二进制同步通信规程(BSC)等通信协议。 其基本性能有: 1.可用于同步和异步传送。 2.对于同步传送,可选择每个字符的数据位数(5—8位/字符),内部或外部字符同步,能自动插入同步字符
3.对于异步传送,可选择每个字符的数据位数(5—8位/字符),时钟频率为波特率的1、16或64倍,可产生1、1.5或2个位的停止位。能检查假启动位。能产生中止符,能自动检测和处理中止符。3.对于异步传送,可选择每个字符的数据位数(5—8位/字符),时钟频率为波特率的1、16或64倍,可产生1、1.5或2个位的停止位。能检查假启动位。能产生中止符,能自动检测和处理中止符。 4.波特率: 对同步传送DC——64K 对异步传送DC——19.2K 5.全双工,双缓冲的发送器和接收器。 6.具有三种错误检测功能:奇/偶,溢出和帧错误。
8251A芯片的初始化 • 为使8251配合cpu进行通信,通信之前: • 1.约定双方的通信方式(同步/异步),数据格式(数据位、停止位、校验位)、传输速率。 • 2.控制数据的传送方向 • 3.何时进行发送和接收
8251A芯片的控制字 • 方式选择控制字 (异步传送模式 ) 例:设8251A工作于异步方式,字符为7位,偶校验、2位停止位,波特率因子为16
8251A的初始化约定 • 8251A“复位”后,传送数据前,必须向方式寄存器和命令寄存器写入控制字。即对它进行初始化编程, 初始化约定: 这两个控制字只占用一个端口地址,而且它们本身又没有特征位加以区别,因此,8251A初始化编程总是从设置方式控制字开始,随后是命令控制字。方式控制字必须紧跟在复位之后设置。
8251具有两个端口地址,这两个地址由C/D决定 • C/D=0时为偶地址(数据缓冲寄存器) • C/D=1时为奇地址(控制寄存器和状态寄存器) • 思考题:8251是8位接口芯片,和8位CPU相连时,只要把地址线A0和8521的C/D相连。当和16位系统相连时,应如何连接?(注:低8位数据线上的数据总是写入偶地址存储端口,高8位数据线上的数据总是写入奇地址存储端口)
8251A初始化流程图 奇地址 偶地址
8251A的初始化举例 例1:设8251A工作于异步方式,字符为7位,偶校验,2位停止位,波特率因子为16,工作于接收和发送状态,且使RTS和DTR为低电平。若8251A的端口地址为50H和51H,编写初始化程序段。 解:(1)求方式控制字:FAH (2)求操作命令控制字:37H (3)初始化程序段
XOR AL,AL • OUT 51H,AL • OUT 51H,AL • OUT 51H,AL • MOV AL,40H • OUT 51H,AL • MOV AL,OFAH • OUT 51H,AL • MOV AL,37H • OUT 51H,AL • ……
例2:编写通过8251A采用查询方式接收数据的初始化程序例2:编写通过8251A采用查询方式接收数据的初始化程序 • 将8251定义为:异步传送方式,波特率系数为64偶校验,1位停止位,7位数据位。设8251A数据口地址为06A0H,控制口地址为06A2H.
MOV DX,06A2H • MOV AL,7BH ;写工作方式控制字 • OUT DX,AL • MOV AL,14H ;写操作命令控制字 • OUT DX,AL • WAIT: IN AL,DX ;读入状态控制字 • AND AL,02H • JZ WAIT ;检查RxRDY是否为1 • MOV DX,06A0H • IN AL,DX ;输入数据 • 练习题:编写通过8251A采用查询方式发送数据的初始化程序
例3:设8251A为异步工作方式,波特率因数为16,7位数据位,奇校验,两位停止位。CPU对8251A输入80个字符,试对其进行初始化编程。设8251A的地址为0F1H。例3:设8251A为异步工作方式,波特率因数为16,7位数据位,奇校验,两位停止位。CPU对8251A输入80个字符,试对其进行初始化编程。设8251A的地址为0F1H。 • 分析:(1)对8251A初始化编程,因其方式字、命令字无特征标志,故装入顺序不能错;(2)因有80个数据待传送,必须设置计数指针及循环;(3)串行传送一般要进行传送正确性的测试。
解:初始化程序为: MOV AL,0DAH ;方式选择字OUT 0F1H,AL MOV AL,35H ;命令控制字OUT 0F1H,AL MOV DI,0 MOV CX,80WAIT:IN AL,0F1H JZ WAIT ;等待输入IN AL,0F0H ;输入字符MOV DATA[DI],AL ;存入内存INC DI IN AL,0F1H TEST AL,38H ;检测错误标志JNZ ERROR ;出错,至错误处理LOOP WAIT
相关术语 • 1.微型计算机:把cpu、内存储器、输入输出接口电路集成在若干芯片上,加上控制电极和电源等所组成的计算机。 • 2.单板机:把cpu、内存储器、输入输出接口电路装在一块印制电路板上所构成的微型计算机。 • 3.单片机:把cpu、内存储器、输入输出接口集成在一个芯片上所构成的微型计算机。