《微机原理与借口技术9章并行接口和串行接口》由会员分享,可在线阅读,更多相关《微机原理与借口技术9章并行接口和串行接口(46页珍藏版)》请在金锄头文库上搜索。
1、9.1 并行接口概述,9.1.1 并行接口的特点 1 并行接口是在多根数据线上以数据字节或字为单位与I/O设备或被控对象传输数据。 2 并行接口适用于近距离数据传输。一次同时传送多位数据,传送速度快。 3在并行接口中,8位或16位是同时传输的。 4并行传送的信息不要求固定的格式,这与串行传送的信息有固定格式的要求不同。,9.1.2 并行接口的类型 1.从并行接口数据传送的方向看,可分为两种,一是单向传送(只作为输入口或只作为输出口),另一种是双向传送(既可作为输入口,也可作为输出口) 2.从并行接口的电路结构看,并行接口可分为硬接线接口和可编程接口。 3.可编程接口可以用软件编程序的方法改变接
2、口的工作方式及功能,具有广泛的适应性和很高的灵活性,在微机系统中得到广泛应用。,9.2 可编程并行接口8255A,9.2.1 8255A内部结构及引脚功能 1. 8255A的内部结构 2. 8255A的引脚功能,9.2.2 8255A的编程 1. 方式控制字,例9-1 要把A口指定为方式1,输入,C口上半部定为输出;B口指定为方式0,输出,C口下半部指定为输入,则工作方式命令代码是10110001B或B1H。设8255A控制字寄存器端口地址为303H。 若将此命令代码写到8255A的命令寄存器,即实现了对8255A工作方式及端口功能的指定,或者说完成了对8255A的初始化。初始化的程序段为:
3、MOV DX,303H ;8255A命令口地址 MOV AL,0B1H ;初始化命令 OUT DX,AL ;送到命令口,2. 端口C置位/ 复位控制字,例9-2 若要把C口的PC2引脚置成高电平输出,则命令字应该为00000101B或05H。 将该控制字的代码写入8255A的命令寄存器,就会使得从C口的PC2引脚输出高电平,其程序段为 MOV DX,303H ;8255A命令口地址 MOV AL,05H ;使PC21的控制字 OUT DX,AL ;送到命令口,9.2.3 8255A的工作方式 8255A有三种工作方式,A口可以选择方式0、方式1、方式2三种工作方式,B口可以使用方式0、方式1,
4、C口只能使用方式0。 C口在方式1和方式2时,大部分引脚被分配作专用的联络信号,且可以按位控制;在CPU读取8255A状态时,C口又用作方式1、方式2的状态口。 这是使用8255A的难点所在,学习时要特别注意。 3个端口在哪一种方式下工作,由软件编程决定。,1工作方式0 方式0又称为基本输入/输出方式。方式0的基本特点: (1)A口、C口的高4位、B口以及C口的低4位可分别定义为输入或输出,各端口互相独立,故共有16种不同的组合。 (2)定义为输出的口均有锁存数据的能力,而定义为输入的口则无锁存能力。 (3)在方式0下,C口有按位进行置位和复位的能力。,2工作方式1 这是一种选通的输入/输出工
5、作方式。在这种工作方式下,选通信号与输入/输出数据一块传送,由选通信号对数据进行选通,其基本功能如下: (1) 三个端口分为两组,即A组和B组。 (2) A组包括8位数据端口A和PC7PC3五位控制/状态端口,B组为8位数据端口B和PC2PC0三位状态控制端口。 (3)每一个8位数据端口均可设置为输入/输出方式,且两种工作方式均可锁存。 (4)控制/状态口除了指示两组数据口的状态及选通信号外,还可用做I/O口,如PC6和PC7,用位控方式传送。,8255A工作在方式1时,输入输出有着各自规定的联络信号和中断信号,为方便起见,下面分别以A口、B口均作为输入或均作为输出来加以说明。 (1)方式1下
6、A口、B口均为输出方式1输出,此时要利用C口的6条线作为选通控制信号线。,(2)方式1下A口、B口均为输入,要实现选通输入,同样要利用C口的信号线。,3工作方式2 (1)工作方式2只适用于A口,B口仍按方式0或方式1工作。 (2) A口可工作于双向方式,C口的PC7PC3位作为A口的控制/状态信号端口,PC2PC0用于B组。 (3)A口的输入/输出均有锁存功能。在方式2工作状态下,A口既可工作于查询方式,又可工作于中断方式。,9.2.4 8255A的应用举例 例9-3 应用8255A方式0连接打印机 8255A工作在方式0时,系统可以通过无条件、查询方式来给打印机传送数据,鉴于无条件方式工作不
7、可靠,一般使用查询方式。,;初始化8255A,使A口处于方式0、输出,C口高4位输入、低4位输出 MOV AL,10001000B OUT 63H,AL MOV AL,00000011B OUT 63H,AL ;使PC11,无效,撤销数据选 通信号 WAIT: IN AL,63H AND AL,00100000B JNZ WAIT ;查询PC5(BUSY)的状态,忙 则继续查询 MOV AL,CL ;不忙则传送数据,被打印的数 据存放在CL中 OUT 60H,AL MOV AL,00000010B OUT 63H,AL ;使PC10,即有效 CALL DELAY ;适当延时,产生一定宽度的低
8、电平,确保数据正确写入打印机内 MOV AL,00000011B OUT 63H,AL ;撤销的有效低电平 ,例9-4 应用8255A工作在方式0和方式1进行双机并行通信。 甲乙两台微机采用8255A构成接口电路。此时,双方的8255A把对方视为I/O设备,只是8255A的工作方式不同,发送方采用方式1查询方式发送数据,接收方采用方式0查询方式接收数据。,接口驱动程序包含发送和接收两个程序: ;发送方的发送程序 MOV AL,10100000B ;0A0H OUT 63H,AL ;初始化A口为 方式1、输出 MOV AL,0DH OUT 63H,AL ;使INTE0, 禁止中断 TEST1:
9、IN AL,DX AND AL,40H ;查询是否接收到 JNZ TEST1 ;没有继续等待 MOV AL,CL ;发送存于CL中的 数据 OUT 60H,AL,;接收方的接收程序 MOV AL,10011000B ;98H OUT 63H,AL ;初始化A口为方式0、输入 MOV AL,01H OUT 63H,AL ;使无效 RECEIVE:IN AL,62H TEST AL,10H ;测试对方是否发送数据 JNZ RECEIVE ;对方的OBF无效没有 发送数据 IN AL,60H ;接收对方发送的数据 MOV CL,AL ;存于CL MOV AL,00H OUT 63H,AL ;接收数据
10、后发送方应答 CALL DELAY INC AL OUT 63H,AL ;延时,产生一定宽度的 低电平以后撤销 ,9.3 串行通信的基本概念,9.3.1 串行数据传送方式 1全双工,2半双工 9.3.2 波特率和发送/接收时钟 1波特率 并行通信中,传输速度以每秒传输的字节(B/s)表示,2发送/接收时钟 发送/接收时钟频率与波特率的关系如下: 接收/ 发送时钟频率n波特率 (n1,16,32,64) 9.3.3 串行通信的基本方式 1异步通信,2同步通信 同步通信的特点是不仅字符内部保持“同步”,而且字符与字符之间也是同步的 9.3.4 信号调制与解调 MODEM的调制方式有3种: 振幅调制
11、(ASK):以两种振幅的大小来区别数字信号“0”与“1”; 频率调制(FSK):利用两个固定的频率来分别代表数字信号“0”与“1”; 相位调制(PSK):利用相位的差异来区别信号,当相位差180时代表位值的变化。,9.3.5 串行接口的任务 1进行串并转换 2实现串行数据格式化 3可靠性检验 4实施接口与通信设备之间的联络控制,9.4 可编程串行接口8251A,9.4.1 8251A的基本性能 1通过初始化编程,可以工作在同步通信或异步通信方式。 2同步方式时,可设定为内同步或外同步两种做法,同步字符允许采用单同步字符和双同步字符,由用户选定 3异步方式时,数据位仍可在58位范围内选用,用1位
12、作为奇偶校验位或不设置奇偶位。 48251A具有奇偶校验、帧校验和溢出校验三种字符数据的校验方式,校验位的插入、检查和出错标志的建立均由芯片自动完成。 58251A能与MODEM直接相连,接收和发送的数据均可存放在各自的缓冲器中,以便实现全双工通信。,9.4.2 8251A内部结构及引脚功能 18251A内部结构,(1)接收器 接收器接收来自RxD脚上的串行数据,并按规定的格式把它转换为并行数据,存放在接收数据缓冲器中。 (2)发送器 发送器接收CPU送至的并行数据,加上起始位、奇偶校验位和停止位,然后由TxD脚发送。 (3)数据总线缓冲器 状态寄存器、发送数据/命令缓冲器和接收数据缓冲器三部
13、分组成数据总线缓冲器。,(4)读/写控制和调制控制 28251A的引脚功能 (1)与CPU的接口信号 DB70:三态双向数据总线,它可以连到CPU的数据总线。 CLK:由这个CLK输入产生8251A的内部时序。, :片选信号,它应由CPU的IO/ 及地址信号经译码后供给。 C/ :控制/数据端。 TxRDY(Transmitter Ready):发送准备好信号。 TxE(Transmitter Empty):发送器空信号。 RxRDY(Receiver Ready):接收器准备好信号。 SYNDET(Synchronous Detect):同步检测信号。 (2)与装置的接口信号 (Data T
14、erminal Ready):数据终端准备好。 (Data Set Ready):数据装置准备好。 (Request To Send):请求传送,这是一个输出信号,等效于 。 (Clear To Send):准许传送,这是调制器对USART的信号的 响应, 当其有效时(低电平)USART的发送数据。, (Receiver Clock): 接收器时钟,这个时钟控制USART接收字符的速度。 在同步方式, 等于波特率,由调制解调器供给。 在异步方式, 是波特率的1、16或64倍,由方式控制字预先选择。USART在的上升沿采样数据。 (Receiver Data):接收器数据,字符在这条线上串行地被
15、接收,在USART中转换为并行的字符。 (Transmitter Clock):发送器时钟,这个时钟控制USART发送字符的速度。时钟速度与波特率之间的关系同。 TxD(Transmitter Data):发送器数据。,9.4.3 8251A的控制字和状态字 1方式控制字,2. 操作控制字,3状态字,例9-5 串行通信时,在发送程序中,需查状态字的D0位是否置1,即查TxRDY1?其程序段为: L: MOV DX,309H ;8251A状态口 IN AL,DX AND AL,01H ;查发送器是否就绪 JZ L ;未就绪,则等待 例9-6 串行通信时,在接收程序中,需查状态字的D1位是否置1,即查RxRDY1?其程序段为: L1:MOV DX,309H ;8251A状态口 IN AL,DX AND AL,02H ;查接收器是否就绪 JZ L1 ;未就绪,则等待,9.4.4 8251A的初始化编程,例9-7 编写一段通过8251A采用查询方式接收数据的程序。将8251