东南大学电子信息工程之微机学第5章23学时并行接口.ppt_第1页
东南大学电子信息工程之微机学第5章23学时并行接口.ppt_第2页
东南大学电子信息工程之微机学第5章23学时并行接口.ppt_第3页
东南大学电子信息工程之微机学第5章23学时并行接口.ppt_第4页
东南大学电子信息工程之微机学第5章23学时并行接口.ppt_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1,第5章-2 并行接口,教学重点: 并行数据传输 8255A的工作方式 8255A的编程 8255A的应用,2,并行数据传输,以计算机的字长,通常是8位、16位或32位为传输单位,一次传送一个字长的数据; 适合于外部设备与微机之间进行近距离、大量和快速的信息交换; 例如:微机与并行接口打印机、磁盘驱动器 微机系统中最基本的信息交换方法; 例如:系统板上各部件之间,接口电路板上各部件之间。,3,并行数据传输,并行接口和串行接口的结构示意图,4,并行接口的基本组成,两个或两个以上的具有缓冲能力的数据寄存器; 可供CPU访问的控制及状态寄存器; 片选和内部控制逻辑电路; 与外设进行数据交换的控制和

2、联络信号线; 与CPU用中断方式传送数据的相关中断控制。,5,并行接口的基本组成,6,并行数据传输,通常按Centronic标准来定义插座引脚,有时也称为Centronic-Epson标准; 可单独作为输出或输入接口,也可同时既作为输出接口也作输入接口; 实现并行数据传输的接口就是并行接口,如 Intel 8255A、Motorola MC6820、Zilog Z80PIO等。,7,目录,5.1 并行接口电路8255A 5.1.1 8255A的内部结构和引脚 5.1.2 8255A的工作方式 5.1.3 8255A的编程 5.2 8255A的应用,8,5.1 并行接口电路8255A,具有多种功

3、能的可编程并行接口电路芯片; 最基本的接口电路:三态缓冲器和锁存器; 与CPU间、与外设间的接口电路:状态寄存器和控制寄存器; 还有端口的译码和控制电路、中断控制电路。 共40个引脚; 与外设相连的引脚24个,分3个端口; 共三种输入输出工作方式。,9,5.1.1 8255A的引脚和内部结构,共40个引脚、双列直插封装、+5V供电,24条可编程I/O引脚。 主要引脚: PA0PA7, PB0PB7, PC0PC7:A、B和C口I/O数据线 D7D0:系统数据线 CS*:片选信号 RD*和WR*:读、写信号线 RESET:复位线 A1、A0:地址信号线,10,5.1.1 8255A的内部结构和引

4、脚,11,1、外设数据端口,端口A:PA0PA7 A组,支持工作方式0、1、2 端口B:PB0PB7 B组,支持工作方式0、1 端口C:PC0PC7 仅支持工作方式0 A组控制高4位PC4PC7 B组控制低4位PC0PC3,端口A:PA0PA7 常作数据端口,功能最强大 端口B:PB0PB7 常作数据端口 端口C:PC0PC7 可作数据、状态和控制端口 分两个4位,每位可独立操作 控制最灵活,最难掌握,12,2、A组和B组控制,接受来自读/写控制逻辑的命令,接收来自内部数据总线的控制字,并发出合适的命令至相应接口,以控制它们的工作方式和读/写操作; A组控制:控制A口和C口的上部(高4位);

5、B组控制:控制B口和C口的下部(低4位)。,13,3、8255A的读写信号,14,4、8255与系统的连接示意图,15,目录,5.1 并行接口电路8255A 5.1.1 8255A的内部结构和引脚 5.1.2 8255A的工作方式 5.1.3 8255A的编程 5.2 8255A的应用,16,5.1.2 8255A的工作方式,方式0:基本输入输出方式(A、B、C口) 适用于无条件传送和查询方式的接口电路; 方式1:选通输入输出方式(A、B口) 适用于查询和中断方式的接口电路; 方式2:双向选通传送方式(A口) 适用于与双向传送数据的外设; 适用于查询和中断方式的接口电路。,某端口工作于哪一种方

6、式,可通过软件编程来指定。即向8255写入方式控制字来决定其工作方式。,17,1、工作方式0,8255相当于三个独立的8位简单接口; 各端口既可设置为输入口,也可设置为输出口,但不能同时实现输入及输出; C端口即可以是一个8位的简单接口,也可以分为两个独立的4位端口; A口设置为输出/入口时均有锁存能力,B口、C口设置为输出口时有锁存能力,而设置为输入口时无锁存能力。,18,方式0输入时序,19,方式0输出时序,20,方式0的应用,用于连接简单外设 适用于: 无条件输入输出方式; 查询输入输出方式:把A、B口作为8位数据的输入或输出口,C口的高/低4位分别定义为A、B口的控制位和状态位。,21

7、,Review,并行传输:一次数据传输的位宽为8位、16位或32位 并行接口:可在CPU与外设之间进行并行传输的接口电路 典型的并行接口(用在IBM PC/XT主机板上)是8255A 三种工作方式 方式0(基本输入输出方式):所有A口、B口和C口的单独某一位都可控制某外设。,22,2、工作方式1,利用一组选通信号控制A端口和B端口的数据输入输出; A、B口作输入或输出口,C口的部分位固定用作A、B口的选通控制信号,程序员不必干预; A口、B口在作为输入和输出时的选通信号不同。,23,方式1输入引脚:A端口,数据选通信号 表示外设已经准备好数据,输入缓冲器满信号 表示A口已经接收数据,中断请求信

8、号 请求CPU接收数据,24,方式1输入引脚:B端口,数据选通信号 表示外设已经准备好数据,输入缓冲器满信号 表示B口已经接收数据,中断请求信号 请求CPU接收数据,方式1需借用端口C用做联络信号 同时还具有中断请求和屏蔽功能,25,方式1输入联络信号,STB*选通信号,低电平有效 由外设提供的输入信号,当其有效时,将输入设备送来的数据打入至8255A的输入缓冲器。 IBF输入缓冲器满信号,高电平有效 8255A输出的联络信号。当其有效时,表示数据已打入至输入缓冲器。 INTR中断请求信号,高电平有效 8255A输出的信号,可用于向CPU提出中断请求,要求CPU读取输入缓冲器中的数据。,26,

9、方式1输入时序,data,INTR,IBF,data,输入端口,D0D7,STB,1、当输入设备已准备好一个新数据时,首先检测IBF线的状态,若为低(表示输入锁存器空),则输入设备将数据放入PA7-PA0。 2、然后发出选通信号STB,STB将PA7-PA0上的数据置入数据锁存器,这时8255A使IBF有效,指示输入锁存器已满。 3、STB变为无效后,8255A使INTR由低变高,通过8259A向CPU发出中断请求,CPU响应请求并进入相应的中断服务程序。 4、在中断服务程序中,CPU读端口A,RD的下降沿使INTR无效。 5、RD的上升沿使IBF变无效,指示输入锁存器的数据已传送给CPU,处

10、于空状态,准备接收新的数据。,27,方式1的输入过程,1、当输入设备已准备好一个新数据时,首先检测IBF线的状态,若为低(表示输入锁存器空),则输入设备将数据放入PA7-PA0。 2、然后发出选通信号STB,STB将PA7-PA0上的数据置入数据锁存器,这时8255A使IBF有效,指示输入锁存器已满。 3、STB变为无效后,8255A使INTR由低变高,通过8259A向CPU发出中断请求,CPU响应请求并进入相应的中断服务程序。 4、在中断服务程序中,CPU读端口A,RD的下降沿使INTR无效。 5、RD的上升沿使IBF变无效,指示输入锁存器的数据已传送给CPU,处于空状态,准备接收新的数据。

11、,STB*和IBF是外设和8255A间 的一对应答联络信号, 为的是可靠地输入数据,28,方式1中断控制,8255A的中断由中断允许触发器INTE控制 置位允许中断,复位禁止中断; 对INTE的操作通过写入端口C的对应位实现,INTE触发器对应端口C的位是作应答联络信号的输入信号(STB*)的那一位,只要对此位置位/复位就可以控制INTE触发器; 选通输入方式下: 端口A的INTEA对应PC4; 端口B的INTEB对应PC2。,29,方式1输出引脚:A端口,外设响应信号 表示外设已经接收到数据,输出缓冲器满信号 表示CPU已经输出了数据,中断请求信号 请求CPU再次输出数据,30,方式1输出引

12、脚:B端口,外设响应信号 表示外设已经接收到数据,输出缓冲器满信号 表示CPU已经输出了数据,中断请求信号 请求CPU再次输出数据,31,方式1输出联络信号,OBF*输出缓冲器满信号,低有效 8255A输出给外设的一个控制信号,当其有效时,表示CPU已把数据输出给指定的端口,外设可以取走; ACK*响应信号,低有效 外设的响应信号,指示8255A的端口数据已由外设接受; INTR中断请求信号,高有效 当输出设备已接受数据后,8255A输出此信号向CPU提出中断请求,要求CPU继续提供数据。,端口A的INTEA对应PC6 端口B的INTEB对应PC2,32,方式1输出时序,INTR,data,d

13、ata,输出端口,D0D7,WR,OBF,ACK,1、以端口A为例,当输出设备接收了前一次数据后,8255A通过8259A向CPU请求中断。 2、在中断服务程序中,CPU将数据写入指定的端口,WR变为有效,于是数据总线D7-D0上出现有效数据。 3、写信号WR的上升沿使OBF变为有效,于是数据写入输出锁存器并出现在PA7-PA0上,同时还使INTR变为无效。 4、在PA7-PA0上输出数据。 5、输出设备接收到数据后,向8255A发回ACK信号,ACK的上升沿通常表示输出设备已准备好再接收新的数据。 6、8255A在ACK出现上升沿之后使OBF变为无效,若INTE=1,则还使INTR变为有效,

14、再次请求中断。,33,方式1的输出过程,1、以端口A为例,当输出设备接收了前一次数据后,8255A通过8259A向CPU请求中断。 2、在中断服务程序中,CPU将数据写入指定的端口,WR变为有效,于是数据总线D7-D0上出现有效数据。 3、写信号WR的上升沿使OBF变为有效,于是数据写入输出锁存器并出现在PA7-PA0上,同时还使INTR变为无效。 4、在PA7-PA0上输出数据。 5、输出设备接收到数据后,向8255A发回ACK信号,ACK的上升沿通常表示输出设备已准备好再接收新的数据。 6、8255A在ACK出现上升沿之后使OBF变为无效,若INTE=1,则还使INTR变为有效,再次请求中

15、断。,OBF*和ACK*是外设和8255A间 的一对应答联络信号, 为的是可靠地输出数据,34,方式1的应用,主要用于中断控制方式下的输入输出; C口除部分位用作选通信号外,其余位可工作在方式0下,作为输入或输出线; 特别是A、B均为方式1时仅使用C口的6条线,余下二条线可作为单独的输入输出线,用程序指定其数据传送方向。,35,3、方式2,方式2将方式1的选通输入输出功能组合成一个双向数据端口,可以发送数据和接收数据; 只有端口A可以工作于方式2,需要利用端口C的5个信号线,其作用与方式1相同; 方式2的数据输入过程与方式1的输入方式一样; 方式2的数据输出过程与方式1的输出方式有一点不同:数

16、据输出时8255A不是在OBF*有效时向外设输出数据,而是在外设提供响应信号ACK*时才送出数据。,36,方式2双向引脚,PC6,PC7,PC3,PA7PA0,INTE1,OBFA,INTRA,ACKA,PC4,PC5,IBFA,STBA,INTE2,用PC6设置INTE1(输出) 用PC4设置INTE2(输入) 输入和输出中断通过 或门输出INTRA信号,方式2双向时序,38,目录,5.1 并行接口电路8255A 5.1.1 8255A的内部结构和引脚 5.1.2 8255A的工作方式 5.1.3 8255A的编程 5.2 8255A的应用,39,5.1.3 8255A的编程,初始化编程:一

17、个方式控制字 采用控制I/O地址:A1A011; 工作过程中:通过数据端口对外设数据进行读写 数据读写利用端口A、B和C的I/O地址,A1A0依次等于00、01、10; IBM PC/XT机上,端口A、B、C和控制端口的I/O地址通常为60H、61H、62H和63H。,40,1. 写入方式控制字:控制字格式,41,1. 写入方式控制字:示例,要求: A端口:方式1输入 C端口上半部:输出,C口下半部:输入 B端口:方式0输出 方式控制字:10110001B或B1H 初始化的程序段: MOV DX, 0FFEH;假设控制端口为FFEH MOV AL, 0B1H;方式控制字 OUT DX, AL;

18、送到控制端口,42,2. 读写数据端口,初始化编程后: 当数据端口作为输入接口时,执行输入IN指令将从输入设备得到外设数据; 当数据端口作为输出接口时,执行输出OUT指令将把CPU的数据送给输出设备; 8255A具有锁存输出数据的能力 对输出方式的端口同样可以输入; 不是读取外设数据; 读取的是上次CPU给外设的数据。,43,2. 读写数据端口:示例,利用8255A的输出锁存能力,可实现按位输出控制; 对输出端口B的PB7位置位的程序段: MOV DX, 0FFFBH ;B端口假设为FFFBH IN AL, DX ;读出B端口原输出内容 OR AL, 80H ;使PB71 OUT DX, AL

19、 ;输出新的内容,44,3. 读写端口C:归纳1,C端口被分成两个4位端口,两个端口只能以方式0工作,可分别选择输入或输出;,在控制上,C端口上半部和A端口编为A组,C端口下半部和B端口编为B组;,45,3. 读写端口C:归纳2,当A和B端口工作在方式1或方式2时,C端口的部分或全部引脚将被征用。,其余引脚仍可设定工作在方式0。,46,3. 读写端口C:归纳3,对端口C的数据输出有两种办法; 通过端口C的I/O地址:向C端口直接写入字节数据。这一数据被写进C端口的输出锁存器,并从输出引脚输出,但对设置为输入的引脚无效; 通过控制端口:向控制端口写入位控字,使C端口的某个引脚输出1或0,或置位复

20、位内部的中断允许触发器。,47,端口C的位控制字,位控制字写入控制端口 特别便于置位复位内部中断允许触发器INTE,48,3. 读写端口C:归纳4,读取的C端口数据有两种情况; 未被A和B端口征用的引脚:将从定义为输入的端口读到引脚输入信息;将从定义为输出的端口读到输出锁存器中的信息; 被A和B端口征用作为联络线的引脚:将读到反映8255A状态的状态字。,49,端口C的状态字,50,目录,5.1 并行接口电路8255A 5.1.1 8255A的内部结构和引脚 5.1.2 8255A的工作方式 5.1.3 8255A的编程 5.2 8255A的应用,51,5.2 8255A的应用,作为通用的并行

21、接口电路芯片,8255A具有广泛的应用 应用在IBM PC/XT微机上 应用于打印机接口电路 连接简易键盘 驱动LED数码管 ,52,5.2.1 8255A在IBM PC/XT上的应用,工作在基本输入/输出方式0 端口A为方式0输入,用来读取键盘扫描码 端口B工作于方式0输出,例如控制扬声器等 端口C为方式0输入,读取系统状态和配置 系统的初始化编程: MOV AL,10011001B;方式控制字99H OUT 63H, AL,53,5.2.2 用8255A方式0与打印机接口,54,打印机接口的信号与时序,主机把数据送给引脚DATA07 同时送出数据选通信号STB* 打印机在BUSY信号线上发

22、出忙信号 打印机处理好输入的数据时 撤消忙信号 同时又送出一个响应信号ACK*,8255A的初始化,MOV DX, 63H ;控制端口地址:63H MOV AL, 10000001B ;方式控制字:91H OUT DX, AL ;A端口方式0输出,C端口上输出、下输入 MOV AL, 00001111B ;端口C的复位置位控制字,使PC71 OUT DX, AL,打印子程序:查询,PRINTCPROC PUSH AX PUSH DX PRN: MOV DX, 62H ;读取端口C IN AL, DX ;查询打印机状态 TEST AL, 04H ;PC2BUSY1? JZ PRN ;PC21,打印机忙,则循环等待,打印子程序:输出,MOV DX, 60H ;PC20,打印机不忙,则输出数据 MOV

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论