outportb(0x3f8,DATA[id]); id++; }
23
//8251空操作 //8251软件复位 //8251方式字 //工作命令字:置位
22
发送方程序2:
While(id<=data_num){ do{ status=inportb(0x3f9);//读状态字 status=status&0x01; //发送准备好? }while(status==0);
11
用8251A组成的串行接口
一、8251A的内部逻辑与外部信号 功能:异步起止协议
同步面向字符协议 组成:接收器、发送器、调制控制、读/写控制、
数据总线缓冲器
12
8251A内部结构
数据总线 缓冲器
RESET CLK C/D RD WR CS
DTR DSR
RTS
CTS
读/写 控制逻辑
调制控制
D3=1,发中止字符(空号)
=0,正常操作
D0=1,允许发送
D2=1,允许接收 =0,禁止发送
=0,禁止接收
D1=1,已准备好 =0,正常操作
例3:使8251内部复位,并且允许接收, 又允许发送,则程序段为:
18
8251的控制字与状态字
01000000B ;置D6=1,使内部复位
00000101B ;置D0=1,D2=1,允许接收和发送
3.状态字
a.作用:8251A执行命令进行数据传送后的状态字存放在状态寄
存器中,CPU通过读出状态字进行分析和判断,以决定下一步的
操作。
b.D格7式: D6
D5
D4
D3
D2
D1
D0
DSR SYNDET TE