第9章并行接口课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第9章并行接口课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 并行 接口 课件
- 资源描述:
-
1、第9章 并行接口9.1 并行接口原理9.2 可编程并行接口芯片8255A9.3 8255A应用举例9.4 简易键盘接口9.5 LED显示器及其接口9.1 并行接口原理图9-1是一个典型的并行接口和外设连接的示意图。图中的并行接口是一个双通道的并行接口,包括输入锁存寄存器、输出缓冲寄存器、控制寄存器和状态寄存器。9.1.1 并行接口功能一般而言,一个并行接口电路应具有以下3方面的功能:实现与系统总线的连接,提供数据的输入输出功能,这是并行接口电路基本的功能。实现与I/O设备的连接,具有与I/O设备进行应答的同步机构,保证有效地进行数据的接收/发送:有中断请求与处理功能,使得数据的输入/输出可以采
2、用中断的方法来实现功能。9.1.2 内部结构按功能分,接口电路分为:数据寄存器、控制寄存器、状态寄存器、其他控制电路等 9.1.3 外部信号并行接口电路的外部信号可分成两部分:与I/O设备相连的接口信号;与CPU相连的接口信号。1与I/O设备的接口信号数据信号:用于接口电路与I/O设备进行输入/输出数据。控制信号:用于接口电路向I/O设备提供控制功能。状态信号:用于接口电路接收I/O设备提供的状态信息。2与CPU的接口信号数据信号:用于实现接口电路与CPU的数据交换。地址译码信号:用于选择不同的接口电路以及接口电路内部不同的寄存器。读写信号:用于确定CPU当前对接口电路的操作性质,是读或是写。
3、中断申请与应答信号:用于实现中断请求和中断响应操作。9.2 可编程并行接口芯片8255A常用的并行接口电路有两大类,一类是不可编程的接口电路,如74LS244/245、74LS273/373等。其特点是电路简单、使用方便;缺点是使用不够灵活,一旦硬件联接以后,功能很难改变。另一类是可编程接口,其特点是使用灵活,可以在不改变硬件的情况下,通过软件编程来改变电路的功能。随着大规模集成电路技术的发展,出现了许多通用的可编程的并行接口电路芯片。Intel 8255A就是一个与TTL电平完全兼容的可编程并行接口芯片,其通用性强、使用灵活,具有多种输入输出工作方式,可以通过程序来设置。9.2.1 8255
4、A的内部结构 8255A的内部组成框图如9-2所示,由4部分组成。1数据总线缓冲器它是三态8位双向缓冲器,CPU通过输入/输出指令来实现对缓冲器发送或接收数据。8255A的控制信息和状态信息也是通过该缓冲器传送的。28位端口PA、PB和PC8255A有3个8位端口PA、PB和PC,各端口都可以由程序设定为不同的工作方式。端口PA1个8位的数据输入锁存器和1个8位的数据输出锁存/缓冲器。端口PB1个8位的数据输入缓冲器和1个8位的输入、输出锁存/缓冲器。端口PC1个8位数据输入缓冲器和1个8位输出锁存/缓冲器。通常,将端口PA与端口PB用作输入输出的数据端口,端口PC用作控制或状态信息的端口。在
5、方式控制字的控制下,端口PC可以分为上下两部分,分别与端口PA和端口PB配合使用,用作控制信号(输出),或作为状态信号(输入)。与外部设备的接口信号:PA0PA7端口A的外设数据线。PB0PB7端口B的外设数据线。PC0PC7端口C的外设数据线。3A组和B组的控制电路A组控制部件用来控制端口PA和端口PC的高4位(PC7PC4),B组控制部件用来控制端口PB和端口PC的低4位(PC3PC0)。这两组控制电路根据CPU发出的方式选择控制字来控制8255A的工作方式,接收来自读写控制逻辑的命令,并向与其相连的端口发出适当的控制信号。4读/写控制逻辑用于管理数据信息、控制信息和状态信息的传送。它接收
6、来自CPU地址总线的A1、A0地址信号和控制总线的有关信号(、RESET),向8255A的A、B两组控制部件发送命令。WRRD8255A是一个40引脚双列直插的芯片,其引脚如图9-3所示。控制信号 、以及A1、A0与8255A各端口的操作关系如表9-1所示。CS RDWR与CPU的接口信号:D7D0数据线、双向、三态,可连接CPU的数据总线。CS 片选信号、输入、低电平有效。只有当 为“0”时,8255A芯片才工作。通常,接地址译码信号。A1、A0片内寄存器选择信号(端口选择),输入。8255A内部有3个数据端口和1个控制端口。规定当A1,A0为00时,选中端口PA;为01时,选中端口PB;为
7、10时,选中端口PC;为11时,选中控制端口。RESET复位信号、输入、高电平有效。当接收到RESET信号时,所有的内部寄存器都被清除,同时3个数据端口被自动设置为输入状态。RD 读信号、输入、低电平有效。当有效时,CPU可以从8255A中读取数据。WR 写信号、输入、低电平有效。当有效时,CPU可以向8255A写入数据或命令字。RDCS9.2.2 8255A的控制字8255A有两个控制字:方式控制字和端口C按位置位/复位控制字。由于写入同一个控制端口,为了使8255A能识别是哪一个控制字,控制字采用特征位的方法。控制字中最高位D7为特征位,当D7=0,表示当前控制字是按位置位/复位控制字。当
8、D7=1,表示当前控制字是方式控制字。1方式控制字方式控制字的作用是:确定A、B、C 3个并行口的工作方式及端口功能,即确定是作为输入端口还是为输出端口。由方式控制字可知:(1)8255A的3种基本工作方式如下:方式0基本的输入/输出方式。方式1选通输入/输出方式。方式2双向传输方式。(2)在方式1工作时,方式控制字总是把A、B、C 3个端口分为两组来设定工作方式。其中,A组为端口A和端口C的高4位(PC7PC4);B组为端口B和端口C的低4位(PC3PC0)。(3)端口A可工作于3种方式中的任种。端口B只能工作于方式0或方式1。在方式0时,端口C可以分成2个4位端口,用作数据输入/输出端口;
9、还可以分别用来为A端口、B端口输入/输出时提供控制信号和状态信号。方式控制字的格式如图9-4所示。n在对8255A进行初始化时,应向控制寄存器写入方式控制字,确定各端口的工作方式及功能。在系统复位时,复位信号RESET有效,8255A被复位,所有的数据端口(端口A、端口B、端口C)均被置为输入方式,且一直保持到向8255A写入新的方式选择控制字为止。n例9-1 如果把端口A设定为方式1,输出;端口B设定为方式0,输入;端口C上半部设定为输入,下半部设定为输出。则方式选择控制字应为:10101010B=AAH。n若将此控制字内容写入8255A的控制寄存器,即实现了对8255A工作方式的设定,就是
10、完成了对8255A的初始化。设控制口地址为303H,初始化的程序段为:nMOV DX,303H ;8255A的控制口地址nMOV AL,OAAH;控制字nOUT DX,AL ;控制字写入控制端口2端口C按位置位/复位控制字按位置位/复位控制字的作用是使端口C的某一位输出为高电平或低电平,以用于控制或应答信号。端口C按位置位/复位控制字的格式如图9-5所示。例9-2 如果要使端口C的PC4端输出高电平,则按位置位/复位控制字应为00001001B=09H,将该控制字写入8255A的控制寄存器,即可在PC4引脚得到一个高电平。设控制口地址为09H,则程序段如下:MOV AL,09H;控制字,PC4
11、置1OUT 063H,AL;控制字写入控制端口实际上,端口A和端口B同样具有进行按位置位/复位的功能。只要将端口A或端口B的内容读出来,与某一数相“或”(可使某一位或某几位为1),或者与某一数相“与”(可使其一位或某几位为0),然后再写入原端口,即可实现对某一位或某几位置位/复位。9.2.3 8255A的工作方式8255A有3种工作方式,由方式控制字选择。1工作方式0:基本的输入/输出方式(1)方式0是一种基本的输入/输出方式,它不需要应答式的联络信号,其基本功能如下:2个8位端口(端口A和端口B)和2个4位端口(端口C的上、下部分)。任何一个端口可以作为输入或输出端口。输出数据可被锁存,输入
12、数据不被锁存。每个端口的输入/输出可有16种不同的组合。执行方式0输入操作时,若外设数据已经准备好,CPU就可以用输入指令从这个端口读入数据。执行方式0输出操作时,由输出指令把CPU的数据输出给外设,在CPU执行OUT指令以后,输出数据就锁存在相应的端口上。因此,工作方式0时,8255A在输入操作时相当于一个三态缓种器,在输出操作时则相当于一个数据锁存器。(2)图9-6和图9-7分别为方式0的输入、输出时序图。方式0适合于两种情况:一种是无条件传送,另一种是查询方式传送。图9-7 方式0输出时序图在无条件传送时,发送方和接收方不需要应答信号。在这种情况下,对接口要求很简单,只要能够传送数据就可
13、以。因此,在无条件传送时使用8255A时,3个数据端口可以实现3路数据传输。查询式传送时,需要有应答信号。由于方式0不提供固定的应答信号,所以,通常用端口PA和端口PB作为数据端口,用端口PC的高4位和低4位分别设置为输入和输出,作为控制信号的输出和状态信号的输入。2工作方式1:选通输入/输出方式这是一种采用选通(应答式)联络信号的输入/输出方式。在这种方式中,端口A仍用作输入或输出的数据端口,端口C的某些位用作接收或产生联络应答信号。主要功能如下:有两组选通工作方式的端口,每组包含1个8位数据端口和3条控制线。每组端口提供有中断请求逻辑和中断允许触发器。对中断允许触发器INTE的操作是通过端
14、口C的置位/复位控制字进行的。置位允许中断,复位禁止中断。INTE触发器对应端口C的位是作应答联络信号的输入信号的那一位(输入方式为,输出方式为,因此只要对该位置位/复位就可以控制INTE触发器。两组端口若只有1组工作于方式1,则剩下的13位都可以工作于方式0。若两组端口都工作于方式1,端口C剩下的2位还可以由方式控制字指定为输入或输出,同时具有置位/复位功能。输入和输出数据都被锁存。(1)方式1的输入1)方式1的输入组态。方式控制字选择A组、B组工作于方式1输入时,其端口组态如图9-8所示。2)联络信号的定义 选通信号,低电平有效。这是由外部设备提供的输入信号,当其有效时,将输入设备送来的数
15、据锁存输入锁存器。IBF输入缓冲器满信号,高电平有效。这是8255A输出的联络信号。当其有效时,表示数据己锁存在输入锁存器中。它由前沿置高、信号的后沿置低。INTER中断请求信号,高电平有效。这是8255A输出的信号,可用于向CPU提出中断请求,要求CPU读取外设数据。当为高电平,IBF为高电平、中断允许时被置为有效;信号的前沿将其恢复为低电平。STBA组的中断允许触发器INTEA对应于PC4,B组的INTEB对应于PC2。3)方式1的输入时序。图9-9为方式1的输入时序图。图9-9 方式1的输入时序图以端口PA为例,方式1的输入过程如下:当外设准备好数据,在送出数据的同时,向PC4送出一个选
16、通信号。8255A的端口A数据锁存器在下降沿控制下,将数据锁存。然后,8255A通过PC5,向外设送出高电平的IBF,表示锁存数据已完成,暂时不要再送数据。如果INTE为“1”,即端口PA允许中断,位于PC3的INTR变成高电平输出,向CPU发出中断请求。CPU响应中断,执行IN指令时,对端口PA执行读操作,同时由信号的下降沿清除中断请求信号,然后使IBF复位为低电平。外设在检测到IBF为低电平后,开始下一个数据字节的传送。(2)方式1输出。1)方式1的输出组态。8255A的端口A、端口B工作于方式1输出时其端口组态如图9-10所示。2)联络信号的定义。输出缓冲器满信号,低电平有效。这是825
17、5A输出给外设的一个控制信号,当其有效时,表示CPU已将数据输出给指定的端口,外设可以将数据取走。它由输出信号的后沿置为有效,由ACK有效恢复为高电平。外设应答信号,低电平有效。表示8255A的端口数据已由外设取走。INTR中断请求信号,高电平有效。当输出设备已接收数据后,8255A输出此信号向CPU提出中断请求,请求CPU继续提供数据。当为高电平,为高电平和INTE为高电平(允许中断)时,使其有效,而写信号的前沿使其复位。OBFACKA组中断允许触发器INTEA由PC6位控制,B组的INTEB由PC2位控制。3)方式l的输出时序。方式1的输出时序如图9-11所示。在方式1输出时,CPU向端口
18、写入一个字节数据以后,有效,通知外设读取数据。当外设读取数据以后,向端口发一个信号,其后沿将置位INTR信号(若INTE=1),向CPU发出中断请求,要求CPU在中断服务程序中发送新的数据。因此,在方式1时,规定一个端口作为输入口或输出口的同时,自动规定了有关的控制信号,尤其是规定了相应的中断请求信号。3工作方式2:双向选通输入/输出方式I(1)方式2的功能。这种方式使外设可在单一的8位数据上,既能发送数据,又能接收数据。工作时可用程序查询方式,也可用中断方式传送数据。其主要功能如下:只可用于A组,B组仍为工作方式0或方式1。1个8位的双向数据端口A和5根控制线。输入和输出数据都被锁存。(2)
19、方式2的组态端口A方式2的组态如图9-12所示。(3)联络信号的定义。选通输入信号,低电平有效。这是外设供给8255A的选通信号,把数据锁存在输入锁存器,IBF输入缓冲器满信号,高电平有效。这是8255A输出的控制信号,表示数据已进入锁存器。在CPU未读取数据前,IBF始终为高电平,阻止新的数据输入。响应输入信号,低电平有效。的下降沿启动端口A的三态输出缓冲器送出数据,上升沿是数据已输出的响应信号。其他时间输出缓冲器处于高阻状态。INTR中断请求信号,高电平有效。输入或输出数据时,都用它作为中断请求信号。输出的中断允许触发器INTE1由PC6置位/复位控制,输入的中断允许触发器INTE2由PC
20、4控制。STBACK(4)方式2的工作时序。图9-13为方式2的工作时序图。图9-13 方式2时序图方式2是一种双向工作方式。如果一个并行外部设备既可以作为输入设备,又可以作为输出设备,并且输入/输出动作不同时进行,那么,将这个外设与8255A的端口A相连,并使它工作在方式2,就会非常合适。例如,软盘驱动器就是这样一种外设,主机既可以往软盘驱动器输出数据,又可以从软盘驱动器输入数据,但数据的输出和输入过程总是不重合的。所以,可以将软盘驱动器的数据线与8255A的PA7PA0相连,将端口PA设置为工作方式2,对应的端口PC用作联络信号,就可通过8255A输入输出软盘的信息。9.3 8255A应用
21、举例 9.3.1 查询方式的双机并行通信例9-3 甲乙两台微机之间并行传送1KB数据。甲机发送,乙机接收。甲机的8255A采用方式1工作,乙机的8255A采用方式0工作。两台微机的CPU与接口之间都采用查询方式交换数据。(1)接口电路设计。接口电路的连接如图9-14所示。甲机的8255A是方式1发送,因此,把端口PA指定为输出,发送数据,而PC7和PC6引脚分别固定作联络线和。乙机的8255A是方式0接收数据,故把端口PA定义为输入,另外,选用引脚PC7和PC3作为联络线。虽然两侧的8255A都设置了联络线,但有本质的差别:甲机的8255A是方式1,其联络线是固定的,不可替换;乙机的8255A
22、是方式0,其联络线是不固定的,可以选择。(2)接口软件编程。接口驱动程序包括发送程序和接收程序。甲机发送如下程序段:MOV DX,303H ;8255A命令端口MOV AL,l0100000B;初始化工作方式字OUT DX,AL MOV AL,0DH ;设置发送数据区的指针OUT DX,ALMOV SI,OFFSET BUFS;设置发送数据区的指针OUT CX,3FFH ;发送字节数MOV DX,300H;向端口A写第1个数,产生第1个OBF信号MOV AL,SI ;送给乙方,以便获取乙方的ACK信号 OUT DX,AL INC SI ;内存地址加1 DEC CX ;传送字节数减1L:M0V
23、DX,302H ;8255A状态端口(端口C)IN AL,DX ;查发送断清求则INTRSA=1 AND AL,08H ;是否PC3=1 JZ L ;若无中断请求,则等待;若有中断请求,则向端口A写数 M0V DX,300H ;8255A端口 PA地址 M0V AL,SI ;从内存取数 0UT DX,AL ;通过端口A向乙机发送第2个数据 INC SI ;内存地址加1 DEC CX ;字节数减1 JNZ L ;字节未完,继续 M0V AX,4COOH ;己完,退出 INT 21H ;返回DOS BUFS DB.;定义1024个数据 在发送程序中,是查询输出时状态字的中断请求INTR位(PC3)
24、。实际上,也可以查询发送缓冲器满(PC7)的状态。只有当发送缓冲器空时,CPU才能发送下个数据。乙机接收如下程序段:MOV DX,303H ;8255A命令端口MOV AL,10011000B;初始化工作方式字OUT DX,ALMOV AL,00000111B;置=1(PC3=1)OUT DX,ALMOV DI,OFFSETBUFR;设置接收数据区的指针MOV CX,3FFH ;接收字节数L1:MOV DX,302H ;8255A端口PCIN AL,DX ;查甲机的=O?(乙机的PC7=O)AND AL,80H ;即查P机是否有数据发来JNZ L1 ;若无数据发来,则等待;若有数据,则从端口A
展开阅读全文