第章-并行接口PPT课件_第1页
第章-并行接口PPT课件_第2页
第章-并行接口PPT课件_第3页
第章-并行接口PPT课件_第4页
第章-并行接口PPT课件_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

9.1概述并行输入/输出就是在计算机中把一个字符的几个位同时进行传输,它具有传输速度快、效率高的优点。由于并行通信所采用的电缆较多,不太适合长距离传输。所以,并行通信通常用在数据传输率要求较高、而传输的距离相对较短的场合。实现并行输入/输出的接口就是并行接口。通常,一个并行接口可设计为输出接口,例如连接一台打印机;也可设计为输入接口,例如连接键盘;还可设计成双向通讯接口,既可作为输入接口又可作为输出接口,例如连接像磁盘驱动器这样的需要双向通路的设备。,图9-1是典型的并行接口和外设连接的示意图。从图中可以看到,并行接口左边是与CPU连接的总线,右边用一个通道和输入设备相连,另一个通道和输出设备相连,输入和输出都有独立的信号交换联络控制线。在并行接口内部用控制寄存器来寄存CPU对它的控制命令,用状态寄存器来提供各种工作状态供CPU查询,此外,还有供输出和输入数据用的输出数据锁存器和输入数据缓冲器。,图91并行接口与外设连接示意图,并行接口的基本工作原理分析如下:(1)数据的输入过程当外设把数据送到数据输入线上时,通过“数据输入准备好”状态线通知接口取数。接口在把数据锁存到输入缓冲器的同时,把数据输入回答线置“1”,用来通知外设,接口的数据输入缓冲器“满”,禁止外设再送数据。同时把内部状态寄存器中“输入准备好”状态位置“1”,以便CPU对其进行查询或向CPU申请中断。在CPU读取接口中的数据后,接口将自动清除“输入准备好”状态位和“数据输入回答”信号,以便外设输入下一个数据。,(2)数据的输出过程当数据输出缓冲器“空闲”时,接口中“输出准备好”状态位置“1”。在接收到CPU的数据后,“输出准备好”状态位复位。数据通过输出线送到外设,同时,由“数据输出准备好”信号线通知外设取数据。当外设接收一个数据时,回送一个“数据输出回答”信号,通知接口准备下一次输出数据。接口将撤消“数据输出准备好”信号并且再一次置“输出准备好”状态位为“1”,以便CPU输出下一个数据。,9.2可编程并行接口芯片8255A8255A是Intel公司生产的通用可编程并行接口芯片,它有3个8位并行输入/输出端口,即A口、B口和C口,可利用编程方法来设置这3个端口是作为输入端口还是作为输出端口;有3种工作方式,分别为方式0、方式1、方式2;有3种数据传送方式,分别为无条件传递方式、查询式传递方式和中断传送方式。8255A芯片的另一个特点是对端口C的操作,C口既可作为数据口也可作为控制口。当C口作为数据口时,可以输出8位数据或分别作为两个4位数据口输出,此外,还可对端口C的每位进行操作,比如设置某一位为输入或输出,这样可以为位控方式提供了便利条件。,9.2.18255A内部结构及引脚特性1.8255A内部结构8255A芯片的内部结构如图9-2所示,它包括4个部分:数据总线缓冲器;读写控制逻辑;A组和B组控制电路;端口A、B、C。,图9-28255A芯片的内部结构,2.8255A引脚特性及其与外部的连接8255A并行接口芯片有40条引脚,如图9-3所示。这40条引脚可分为与外设连接和与CPU连接两类引脚。,图9-38255引脚图,9.2.28255A的工作方式1.8255A控制字8255A是可编程接口芯片,所谓可编程就是用指令的方法先对该芯片进行初始化,决定芯片的端口是处于输入数据状态还是处于输出数据状态,以及每个端口工作在何种方式下。工作方式和工作状态的建立是向8255A的控制口写入相应的控制字来完成的。8255A共有两个控制字,即工作方式控制字和相对C口进行置位或复位的控制字。,(1)工作方式控制字8255A的工作方式控制字格式和各位的含义如图9-4所示。工作方式控制字用来设定A、B口和C口的数据传送方向是输入还是输出,设定各口的工作方式是3种方式的哪一种。如前所述,8255A的3种工作方式分别是方式0、方式l和方式2。A口可以工作在3种方式中的任何种,B口只能用于前两种工作方式,C口只能工作在方式0。,图9-4工作方式控制字格式,(2)端口C的置位/复位控制字端口C的置位/复位控制字可实现对端口C的每一位进行控制。置位是使该位输出为“1”,复位是使该位输出为“0”。控制字的格式如图9-5所示。,图9-5端口C的置位/复位控制字格式,2.8255A工作方式8255A的3种工作方式分别讨论如下:(1)方式0:基本输入/输出方式方式0是一种基本输入/输出方式,它不需要应答式的联络信号,不使用中断,有两个8位端口(A口和B口)和两个4位端口(C口的上半部和C口的下半部),任何一个端口都可以作为输入或输出端口。输出数据可被锁存,输入数据不锁存。各端口的输入/输出方向可有16种不同的组合。,(2)方式1:选通输入/输出方式在这种工作方式下,端口A和端口B为数据传输口,可通过工作方式控制字设定为数据输入或数据输出。端口C的某些位作为控制端口,配合A口和B口进行数据的输入和输出。方式1通常用于查询方式或中断方式传送数据。,(3)方式2:双向选通输入/输出方式只有A口可以采用这种工作方式。在这种方式下,可以使外部设备利用端口A的8位数据线与CPU之间分时进行双向数据传送,也就是说,可在单的8位数据线上既输出数据给外部设备,也从外部设备输入数据。输入或输出的数据都是锁存的。工作时既可采用查询方式,也可采用中断方式传输数据。当端口A工作在方式2时,使用PC3PC7作为控制和状态信息,也就是把方式1输入数据和方式1输出数据的控制信号组合起来。端口B可工作在方式0或方式1,如果工作在方式1,可利用PC0PC2作为控制和状态信号。,9.2.38255A的编程8255A工作时首先要初始化,即要写入控制字,来指定其工作方式,接着还要用控制字将中断标志INTE置“1”或置“0”,这样就可以编程将数据从数据总线通过8255A送出,或由外设通过8255A的某口将数据送至数据总线,由CPU接收。通过下面的几个例子来说明如何对8255A进行编程。【例9.3】假设在一个系统中,要求8255A工作在方式0。且A口作为输入,B口、C口作为输出。控制字和连接电路图如图9-10所示。,图9-10A口、B口、C口工作在方式0,设片选信号CS由A9A2决定,设为10111100B,当A1A011时,控制字地址为2F3E,其工作程序如下:MOVAL,90H;方式0,A口输入,B、C口输出MOVDX,2F3H;控制寄存器地址DXOUTDX,AL;控制字送控制寄存器MOVDX,2F0H;A口地址送DXINAL,DX;从A口读入数据MOVDX,2F1H;B口地址送DXMOVAL,DATA1;要输出的数据DATA1送ALOUTDX,AL;将输出的数据DATA1送B口MOVDX,2F2H;C口地址送DXMOVAL,DATA2;要输出的数据DATA2送ALOUTDX,AL;将DATA2送C口输出,【例9.4】假设在一个系统中,8255A工作在方式1,A口输入,B口输出,PC4、PC5为输入,禁止B口中断,其控制字和连接电路图如9-11所示。设控制字地址为2F3H,其初始化程序如下:MOVAL,0AEH;A口输出,B口输入MOVDX,2F3H;控制寄存器地址DXOUTDX,AL;控制字送控制寄存器MOVDX,09H;A口的INTE(PC4置1)OUTDX,AL;控制字送控制寄存器MOVAL,04HH;B口的INTE(PC2置1)OUTDX,AL;控制字送控制寄存器,图9-11A口、B口、C口工作在方式1,9.38255A的应用并行接口芯片在微型计算机与外部设备的通信中是经常用到的,下面我们分析8255A与打印机及两台微机之间并行传送数据的应用实例。9.3.18255A与打印机接口打印机可以打印计算机送来的ASCII码字符,由于ASCII码字符为8位,因此,我们可以用8255A来作打印机的接口。,5.2.1PC总线PC总线也叫做PC/XT总线,是早期PC/XT微机中采用的系统总线,它支持8位数据传输和10位寻址空间,最大通信速率为5MB/s。它有62根引脚,可插入符合PC总线的各种扩展板,以扩展微机的功能。其特点是把CPU视为总线的唯一总控设备,其余外围设备均为从属设备。具有价格低、可靠性好、兼容性好和使用灵活等优点。PC总线62条引脚信号通过一个31脚分为A、B两面连接插槽,其中A面为元件面,B面为焊接面。这62条引脚信号分为地址线、数据线、控制线、状态线、辅助线与电源等5类接口信号线。,【例9.5】打印机工作时序如图9-12所示。用8255A设计打印机的接口电路和程序。,图9-12打印机工作时序,工作原理分析:数据接口将数据传送到打印机的数据端口,利用一个负脉冲启动锁存,然后由打印机处理。同时打印机送出高电平信号BUSY,表示打印机忙于打印。一旦BUSY变为低电平,表示打印结束,即可接收下一数据。可以利用8255A工作方式0实现上述打印控制。硬件连接如图9-13所示,8255A的地址线A1、A0与计算机的A1、A0连接,片选信号由74LS138译码器产生。根据连线可知8255A的A口、B口、C口及控制口的地址为:1CH、1DH、1EH、1FH。,图9-138255与打印机接口电路,接口的程序编制如下:MOVAL,81H;控制字,方式0,A、B、C口(高4位)输出;C口低4位输入OUT1FH,AL;送控制字WAITING:INAL,1EH;读C口TESTAL,01H;测试PC0是1否?JNZWAITING;是1,打印机忙,等待MOVAL,BL;是0,送数据至打印机OUT1CH,AL;MOVAL,0FH;OUT1EH,AL;置C口高4位和低4位为1MOVAL,0F0H;OUT1EH,AL;,9.3.2双机并行通信1.查询方式的双机并行通信【例9.6】假设甲乙两台微机之间并行传送1KB数据。甲机发送,乙机接收。甲机的8255A采用方式1工作,乙机的8255A采用方式0工作。两台微机的CPU与接口之间都采用查询方式交换数据。(1)接口电路的设计接口电路的连接如图9-14所示。甲机的8255A是方式1发送,乙机的8255A是方式0接收数据,另外,选用引脚PC7和PC3作为联络线。差别:甲机的8255A是方式1,其联络线是固定的,不可替换;乙机的8255A是方式0,其联络线是不固定的,可以选择。例如,可选择PC4和PC1或PC5和PC2等任意组合。,图9-14查询方式的双机通信,(2)接口程序设计接口驱动程序包括发送程序和接收程序。甲机发送的程序段如下:MOVDX,303H;8255A命令端口MOVAL,l010000B;初始化工作方式字OUTDX,ALMOVAL,0DH;置发送允许INTEA=1OUTDX,ALMOVSI,OFFSETBUFS;设置发送数据区的指针OUTCX,3FFH;发送字节数MOVDX,300H;向端口A写第1个数,产生第1个信号MOVAL,SI;送给乙机,以便获取乙机的信号OUTDX,ALINCSI;内存地址加1DECCX;传送字节数减1,LOP:MOVDX,302H;8255A状态端口(端口C)INAL,DX;查发送中断请求INTRSA1ANDAL,08H;是否PC3lJZLOP;若无中断请求则等待;若有向端口A写数MOVDX,300H;8255A端口PA地址MOVAL,SI;从内存取数OUTDX,AL;通过端口A向乙机发送第2个数据INCSI;内存地址加1DECCX;字节数减1JNZLOP;字节未完,继续MOVAH,4CH;己完,退出INT21H;返回DOSBUFSDB;定义1024个数据,乙机接收的程序段如下:MOVDX,303H;8255A命令端口MOVAL,l0011000B;初始化工作方式字OUTDX,ALMOVAL,00000111B;PC31OUTDX,ALMOVDI,OFFSETBUFR;设置接收数据区的指针MOVCX,3FFH;接收字节数L1:MOVDX,302H;8255A端口PCINAL,DX;查甲机的=0?(乙机的PC70)ANDAL,80H;查甲机是否有数据发来JNZL1;若无数据发来,则等待;若有数据,则从端口A读数MOVDX,300H;8255A端口PA地址INAL,DX;从端口A读入数据,MOVDI,AL;存入内存MOVDX,303H;产生信号,并发回给甲机MOVDX,00000110B;P3置“0”OUTDX,ALINCDI;内存地址加1DECCX;字节数减1JNZL1;字节未完,则继续MOVAX,4C00H;己完,退出INT21H;返回DOSBUFRDBl024DUP(?),2.中断方式的双机并行通信【例9.7】给定主从两个微机进行并行传送,共传送255个字节。主机的8255A采用方式2,并以中断方式传送数据。从机的8255A采用方式0,以查询方式传送数据。(1)接口电路设计接口电路中使用中断控制器8259A,利用IBMPC的中断系统将8255A的中断请求线INTR接到系统总线的IRQ2上。由于在方式2下输入中断请求和输出中断请求共用一条线,因此,需要在中断服务程序中用读取状态字的办法查询IBF和OBF状态位来决定执行输入还是输出操作。接口电路的连接如图9-15所示。主机的8255A的端口PA双向传送,既输出又输入。它的中断请求线接到8259A的IR2上。从机的8255A的端口PA和端口PB是单向传送,分别作为输出和输入。,图9-15中断方式的双机并行通信,8255A初始化及主程序:MOVDX,303H;8255A控制端口MOVAL,0C0H;方式字:端口A为2方式OUTDX,ALMOVAL,09H;置位PC4,设置INTE21,输入中断允许OUTDX,ALMOVAL,0DH;置位PC6,设置INTE11,输入中断允许OUTDX,ALMOVSI,300H;发送数据块首址MOVDI,410H;接收数据块首址MOVCX,0FFH;发送与接收字节数

温馨提示

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

评论

0/150

提交评论