微机接口笔记6-串并行通信8251与8255

并行通信

每个字符的同一位都是同时传送的,即每个字符的每一位都有一个单独的通道

串行通信

每个字符的所有位都是按位传送

全双工半双工与单工方式

  • 全双工:数据两个传输方向采用了不同的通道,可以同时进行发送与接受
  • 半双工:输入与输出采用的是同一个通道,两者不同时进行
  • 单工:系统只能向一个方向传输信息,即只能发送或者接受

异步传送与同步传送

同步传送

收发双方采用同一个时钟信号来定时,每组信息开始需要有同步字符,未开始传送时必须填上空字符,因为同步传输不允许有间隙,同步通信依靠同步字符来识别信息帧

异步传输

收发双方不需要同一时钟进行定时,两个字符之间传输间隔是任意的,所以每个字符的前后要用若干位作为分隔符进行识别,依靠起始位停止位来识别信息帧

传输率

也成为波特率,每秒传输的二进制位数;300 600 1200 1800 2400 4800 9600 19200

一个异步传输例子

每个字符对应1个起始位,7个信息位,1个奇偶校验位和1个停止位,波特率1200bps,则每秒能传输的最大字符数为1200/(1+7+1+1)=120

一个同步传输的例子

1200bps波特率,4个同步字符作为信息帧头部,不用奇偶校验,则传输100个字符所需要的时间为7*(100+4)/1200=0.6067s,每秒能传输100/0.6067=165个字符

8251

可编程串行通信接口,可工作在全双工方式,可同步与异步

模式字

控制字

状态字

同步初始化

1
2
3
4
5
6
7
MOV  AL, 38H  ;设置模式字,同步模式,2个同步字符,7个数据位,偶校验,0011 1000
OUT 42H, AL ;
MOV AL, 16H ;送同步字符16H
OUT 42H, AL
OUT 42H, AL
MOV AL, 97H ;设置控制字,是接收器启动,1001 0111
OUT 42H, AL

异步初始化

1
2
3
4
MOV   AL, 0FAH  ;设置模式字,异步模式,波特率因子16,7个数据位,偶校验,2个停止位,1111 1010
OUT 42H, AL
MOV AL, 37H ;设置控制字,使发送接收允许,清除错误标志,0011 0111
OUT 42H, AL

8255

工作方式

方式0:基本输入输出

端口A,B可以通过选择字规定输入端口或输出端口,C分为两个4位端口,这两个4位端口也可以由方式选择字规定为输入或输出端口

方式1:选通输入输出

相比方式0,AB用方式1进行输入输出时,C自动提供选通信号和应答信号

方式2:双向输入输出

只用于8位双向总线端口端口A和一个5位控制端口C