第7章 计算机的并行通信接口课件_第1页
第7章 计算机的并行通信接口课件_第2页
第7章 计算机的并行通信接口课件_第3页
第7章 计算机的并行通信接口课件_第4页
第7章 计算机的并行通信接口课件_第5页
已阅读5页,还剩129页未读 继续免费阅读

下载本文档

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

文档简介

第10章并行通信接口10.1并行通信与并行接口10.2简单并行接口10.3可编程并行接口芯片8255A10.4并行通信接口设计第10章并行通信接口10.1并行通信与并行接口110.1并行通信与并行接口并行通信就是把一个字符的各数位用几条线同时进行传输。并行通信的主要特点是信息传输速度快、信息率高这种特点是多用通信电缆而换取的,用于数据传输率要求较高、而传输距离较短的场合。10.1并行通信与并行接口并行通信就是把一个字符的各数位用2并行接口实现并行通信的接口就是并行接口。并行接口广泛应用于微机内部各部件之间以及主机与外部设备之间的信息交换。例如,打印机接口,A/D、D/A转换器接口,开关量接口,控制器接口等等。并行接口是指接口与I/O设备或控制对象一侧的并行数据线。并行接口分为:不可编程接口::工作方式和功能是完全通过逻辑电路连接来设定可编程接口:工作方式和功能都能通过软件编程的方法加以设定或改变。并行接口实现并行通信的接口就是并行接口。310.1.2并行接口的特点1、并行接口最基本的特点就是在多条数据线上以数据字节(字)为单位与I/O设备或被控对象传送信息。2、并行接口适用于近距离传送数据的场合。3、在并行接口中,一般都需要在接口与外设之间设置并行数据线的同时,至少还要设置两条握手(联络)信号线,以便进行互锁异步握手方式的通信。10.1.2并行接口的特点1、并行接口最基本的特点就是在多410.1.2并行接口的特点4、在并行接口中,数据的每个位(8位或16位)都是一起行动的,因此,当并行接口与外设交换数据时,即使是仅用到其中的一位,也是一次输入或输出8位或16位数据。5、并行传送的信息,不要求有固定的传输格式。10.1.2并行接口的特点4、在并行接口中,数据的每个位(510.1.3并行接口的基本结构与传输特性并行接口可设计为只作为输入/输出接口,也可设计为既作为输入又作为输出的接口。1、并行接口的功能一般而言,一个并行接口电路应具有如下三方面的功能:⑴实现与系统总线的连接,提供数据的输入与输出功能;10.1.3并行接口的基本结构与传输特性并行接口可设计为只6并行接口的基本结构与传输特性⑵实现与I/O设备的连接,具有与I/O设备进行应答的同步机构,保证有效地进行数据的收发;⑶具有中断请求与处理功能,使得数据的输入输出可以采用中断的方法来实现。并行接口的基本结构与传输特性⑵实现与I/O设备的连接,具有与72、并行接口的内部结构根据并行接口的功能可知,在接口电路中应该有:数据锁存器和缓冲器,以便于数据的输入输出。状态和控制命令的寄存器,以便于CPU与接口电路之间用应答的方式来交换信息,同样也便于接口电路与外设之间传送信息。接口电路中还要有译码与控制电路以及中断请求触发器、中断屏蔽触发器等,以解决CPU的驱动能力问题、时序配合问题并能实现各种控制,保证CPU能正确可靠地与外设交换信息。因此,按功能划分,接口电路可由四部分组成:数据寄存器、控制寄存器、状态寄存器和其他控制电路。2、并行接口的内部结构根据并行接口的功能可知,在接口电路中应8并行接口的内部结构并行接口电路组成(按功能划分)数据寄存器控制寄存器状态寄存器控制电路并行接口的内部结构并行接口电路组成(按功能划分)93、并行接口的外部信号并行接口电路的外部信号可分成两部分:与I/O设备相连的接口信号和与CPU相连的接口信号。与I/O设备相关联的接口电路信号有三种:⑴数据信息,用于接口电路与I/O设备进行输入或输出数据;⑵控制信息,用于接口电路向I/O设备提供控制信号;⑶状态信息,用于接口电路接收I/O设备提供的状态信号。3、并行接口的外部信号并行接口电路的外部信号可分成两部分:与103、并行接口的外部信号与CPU相关的接口电路信号有:⑴数据线信号,用于实现接口电路与CPU的数据交换;⑵地址线及地址译码信号,用于选择接口电路以及接口电路内部不同的寄存器;⑶读写控制信号,用于确定CPU当前对接口电路的操作性质是读还是写;⑷中断应答信号,用于实现中断请求和中断响应操作。3、并行接口的外部信号与CPU相关的接口电路信号有:11典型并行输入接口

典型并行输入接口12典型并行输入接口“输入控制”的作用是将外部数据写入输入寄存器,以便CPU在I/O读总线周期中读取。状态信号“输入数据准备好”反映了输入寄存器当前的状态,供CPU决定是否可以读取接口数据,同时也可以作为限制外部输入设备是否可以输入下一数据的依据。中断请求信号INTR的作用是在数据写入接口电路以后,用中断的方式通知CPU读数据。典型并行输入接口“输入控制”的作用是将外部数据写入输入寄存器13典型并行输出接口

典型并行输出接口14典型并行输出接口在输出过程中,每当CPU向输出接口输出一个数据,接口电路就建立“输出数据准备好”状态,并通过该状态的输出向外部输出设备表示可以读取数据。当外设从接口取走一个数据之后,向接口发送“输出应答”信号,以后,接口就撤消“输出准备好”状态,并以查询或中断的方式告知CPU,CPU便可输出下一个数据。典型并行输出接口在输出过程中,每当CPU向输出接口输出一个数1510.2简单并行接口简单并行接口就是用简单的门电路、触发器等连接组成的并行接口。一般采用无条件传输方式根据接口的功能简单输入并行接口简单并行输出接口双向输入/输出并行接口关键电路是三态缓冲器:74LS244关键是用数据锁存器来保存输出数据:74LS373/3748位双向缓冲驱动器74LS24510.2简单并行接口简单并行接口就是用简单的门电路、触发1610.3可编程并行接口芯片8255A所谓可编程实际上就是具有可选择性,并且是用编程的方法进行选择。例如,选择芯片中的哪一个或哪几个数据端口与外设连接;选择端口中的哪一位或哪几位作输入,哪一位或哪几位作输出;选择端口与CPU之间采用哪种方式传送数据等,均可由用户在程序中写入方式字或控制字来进行指定。因此,它们具有广泛的适应性及很高的灵活性,在微机系统中得到广泛应用。10.3可编程并行接口芯片8255A所谓可编程实际上就是1710.3.18255A的外部特性和内部结构

1、8255A的基本特性8255A是一个具有两个8位(A口和B口)和两个4位(C口高/低4位)并行I/O端口的接口芯片,8255A的PC口还具有按位置位/复位功能,为按位控制提供了强有力的支持。8255A能适应CPU与I/O接口之间的多种数据传送方式的要求。如无条件、查询方式传送和中断方式传送。8255A具有方式0、方式1和方式2三种工作方式。8255A的可编程功能很强,由内容丰富的命令字(方式字和控制字)来设置8255A,使其构成多种功能的接口电路。8255APC口的使用比较特殊,除用作一般数据口外,PC口可以按位进行控制,而且当8255A工作在方式1和方式2时,PC口的口线被分配成专用联络信号线,等等。10.3.18255A的外部特性和内部结构1、8251816151413121110987654321391718192021222324252627282930313233343536373840PA0PA1PA2PA3PA7PA5PA6PA4PC2PC1PC0PC4PC5PC6PC7PC3PB0PB1PB2PB4PB5PB3PB6PB7A0A1GND~CS~RD~WRRESETD0D2D1VCCD7D6D5D4D32、8255A的引脚信号及功能

8255A是一个单+5V电源供电、具有40个引脚的双列直插封装的器件8255A的引脚信号可分为两部分:一部分是与外设相连的,另一部分是与CPU相连接的。161514131211109876543213917181198255A的引脚信号⑴用于同外设相连的信号有:①PA7~PA0:PA口的外设数据线(双向)。②PB7~PB0:PB口的外设数据线(双向)。③PC7~PC0:PC口的外设数据线(双向)。8255A的引脚信号⑴用于同外设相连的信号有:20PC口的其他特殊用途如下所述:作数据口。PC口用作数据口时,把8位分成高4位和低4位两部分。因此,当PC口作为数据口输入/输出时,是4位是一起行动的,即使只用到其中的某一位,也要同时输入/输出4位数据。作状态口。8255A工作在方式1和方式2时,有固定的状态字,是从PC口读入的,此时PC口就是8255A的临时状态口。PC口的其他特殊用途如下所述:21作固定联络信号线。8255A的方式1和方式2是一种应答传送方式,需要应答联络信号,因此,PC口的多数口线被定义为固定的联络信号线。作按位控制用。PC口的每个口线都可以单独从输出高/低电平。此时,PC口是作为按位控制用,而不是作为数据输出用。作固定联络信号线。8255A的方式1和方式2是一种应答传送方228255A的引脚信号⑵用于同CPU连接的信号有:①D7-D0:数据线,双向,三态,连接CPU的数据总线②:CS片选信号,输入,低电平有效。③A1、A0:片内寄存器选择信号(端口选择),输入④RESET:复位信号,输入,高电平有效。⑤:读信号,输入,低电平有效。⑥:写信号,输入,低电平有效。除此以外,8255A还有二个引脚电源Vcc和地线GND8255A的引脚信号⑵用于同CPU连接的信号有:233、8255A的内部编程结构数据总线缓冲器内部控制线内部数据线D0~D7A组控制A组端口AA组端口C上部B组控制B组端口BB组端口C下部读写控制逻辑PC0~PC3PB0~PB7PC4~PC7PA0~PA7RDWRA0A1CSRESET3、8255A的内部编程结构数据内部控制线内部数据线D0~248255A的内部编程结构8255A的内部编程结构251.外设数据端口端口A:PA0~PA7A组,支持工作方式0、1、2端口B:PB0~PB7B组,支持工作方式0、1端口C:PC0~PC7仅支持工作方式0A组控制高4位PC4~PC7B组控制低4位PC0~PC3端口A:PA0~PA7常作数据端口,功能最强大端口B:PB0~PB7常作数据端口端口C:PC0~PC7可作数据、状态和控制端口分两个4位,每位可独立操作控制最灵活,最难掌握1.外设数据端口端口A:PA0~PA7端口A:PA0~P262.与处理器接口CS*A1A0I/O地址读操作RD*写操作WR*00000101001160H61H62H63H读端口A读端口B读端口C非法写端口A写端口B写端口C写控制字D0~D7数据线 A0~A1地址线RD*读信号 WR*写信号CS*片选信号 RESET复位信号2.与处理器接口CS*A1A0I/O地址读操作RD*278255A的内部组成8255A的内部由四部分组成:①数据总线缓冲器②8位输入/输出端口PA、PB、PCPA口:有一个8位的数据输入锁存器和一个8位的数据输出锁存/缓冲器;PB口:有一个8位数据输入缓冲器和一个8位数据输入输出、锁存/缓冲器;PC口:有一个8个位数据输入缓冲器和一个8位输出锁存/缓冲器。③A组和B组的控制电路④读/写控制逻辑8255A的内部组成8255A的内部由四部分组成:2810.3.28255A的编程命令8255A的编程命令包括工作方式选择控制字和PC口按位操作控制字由于这两个命令字都是送到8255A的同一个控制端口,故为了让8255A能够识别是哪个命令,采用在命令代码中设置特征位的方法来进行区分。如果写入的控制字的最高位D7=1,则该控制字为工作方式控制字;如果写入的控制字的最高位D7=0,则该控制字是PC口的按位复位/置位控制字。10.3.28255A的编程命令8255A的编程命令包29工作方式控制字1、工作方式控制字作用:指定8255A的工作方式和PA、PB、PC三个端口的输入/输出功能。工作方式控制字1、工作方式控制字30D7D6D5D4D3D2D1D0特征位必须写1A组方式00=方式001=方式11×=方式2PA0=输出1=输入PC7~40=输出1=输入B组方式0=方式01=方式1PB0=输出1=输入PC3~00=输出1=输入工作方式控制字D7D6D5D4D3D2D1D0特征位必须写1A组方式PA31例1例1:要求8255A的各端口处于如下工作方式:PA口指定为方式0输入,PC口高四位指定为输出;PB口指定为方式0输出,PC口低四位指定为输入。根据工作方式控制字的格式要求,控制字的代码应是10010001B,即91H。例1例1:要求8255A的各端口处于如下工作方式:PA口指定328255A的初始化如果将此控制字的内容写到8255A的控制寄存器,就实现了对8255A的工作方式的指定,这个过程又称为对8255A的初始化。如果8255A是PC机中使用的接口芯片,用上述工作方式控制字,其初始化程序段为:MOVDX,0063H ;8255A控制端口地址MOVAL,91H ;初始化命令字OUTDX,AL ;控制字送到控制口8255A的初始化如果将此控制字的内容写到8255A的控制寄33PC口按位置位/复位控制字2、PC口按位置位/复位控制字作用:指定PC口的某一位(即某一个引脚)输出高电平(置位)或输出低电平(复位)。8255的PC口具有位操作功能,用PC口按位置位/复位控制字,可以改变PC口某一位的取值而不影响PC口的其他位。PC口按位置位/复位控制字2、PC口按位置位/复位控制字34D7D6D5D4D3D2D1D0特征位写0未使用(写0)位

择000=PC口第0位001=PC口第1位…111=PC口第7位1=置位(高电平)0=复位(低电平)PC口按位置位/复位控制字D7D6D5D4D3D2D1D0特征位写0未使用位35例2例2:要求把PC5引脚设置成高电平输出。根据置位/复位控制字格式,其控制字应为00001011B,即0BH。将该控制字代码写入8255A的控制寄存器,就会使得从PC口的PC5引脚输出高电平,其程序段为:MOVDX,0063H ;8255A控制端口地址MOVAL,0BH ;使PC5=1的命令字OUTDX,AL ;控制字送到控制口例2例2:要求把PC5引脚设置成高电平输出。36例2如果要使该位(PC5)复位,控制字为00001010B,即0AH,用下面程序段来实现:MOVDX,0063H;8255A控制端口地址MOVAL,0AH ;使PC5=0的命令字OUTDX,AL ;控制字送到控制口例2如果要使该位(PC5)复位,控制字为00001010B37例3例3:利用在实验插件板上8255A的PC7产生负脉冲作为数据选通信号例3例3:利用在实验插件板上8255A的PC7产生负脉冲作为38例3MOVDX,0303H;插件板上8255A控制端口MOVAL,00001110B ;置PC7=0OUTDX,ALNOP ;维持低电平NOPMOVAL,00001111B ;置PC7=1OUTDX,AL 例3MOVDX,0303H;插件板上8255A控制端口39注意事项3、关于8255A两个命令的使用注意事项①工作方式选择控制字是对8255A的三个端口的工作方式及功能进行设置,所以应该放在程序的开始处进行初始化。②按位置位/复位控制字只对PC口的输出进行控制(对PC口输入不起作用),而且每次只对PC口的某一位的输出起作用,即令其输出高电平(置位)或输出低电平(复位)。使用该命令不会破坏已经建立起来的3种工作方式,而且可以在初始化程序以后的任何需要的地方使用该命令。注意事项3、关于8255A两个命令的使用注意事项40注意事项③两个命令字的最高位是特征位。当D7=1时表示是工作方式控制字;当D7=0时表示是按位置位/复位控制字。④按位置位/复位的命令代码只能写入控制端口。必须注意按位置位/复位控制字是一个命令而不是数据,它只能按照命令的定义格式来处理每一位,如果把它写入PC口,就会按照PC口的数据定义格式来处理。注意事项③两个命令字的最高位是特征位。当D7=1时表示是工作4110.3.38255A的工作方式方式0:基本输入输出方式适用于无条件传送和查询方式的接口电路方式1:选通输入输出方式适用于查询和中断方式的接口电路方式2:双向选通传送方式适用于与双向传送数据的外设适用于查询和中断方式的接口电路10.3.38255A的工作方式方式0:基本输入输出方式4210.3.38255A的工作方式1、方式0——基本输入输出方式⑴方式0的工作特点方式0是一种基本输入/输出方式。方式0常用于无条件(简单)传送,也可用于查询传送,其工作特点为:①按方式0工作,输出数据被锁存,而输入数据不是锁存的。因此,在方式0,8255A在输入操作时相当于一个三态缓冲器,在输出操作时相当于一个数据锁存器。②在方式0下,PA、PBPC口的高4位和低4位都可以独立地设置为输入口或输出口,共有16种不同的使用组态。10.3.38255A的工作方式1、方式0——基本输入438255A的方式0③在方式0下,所有端口都是单向I/O端口,每次初始化只能指定PA、PB和PC口作为输入或作为输出,不能指定这些端口同时既作为输入又作为输出。④在方式0下,未设置专用联络信号线。当需要联络信号时,可以任意指定PC口中的某一条线来完成某种联络功能,但是不具备固定的时序关系,只能根据数据传送的要求来决定输入/输出的操作过程。8255A的方式0③在方式0下,所有端口都是单向I/O端口,44方式0的适用场合⑶方式0的适用场合方式0适合于两种使用场合:一种是无条件传送,另一种是查询式传送。在无条件传送时,发送方和接收方不需要应答信号,即不需要查询处设的状态。在无条件传送时使用8255A,3个数据端口可以实现三路数据传输。查询式传送时,需要有应答信号,由于方式0不提供固定的应答信号,所以,通常用PA和PB口用作数据口,用PC口的高4位和低4位分别设置成输入和输出,用来作为控制信号的输出和状态信号的输入方式0的适用场合⑶方式0的适用场合452、方式1—选通输入输出方式方式1是一种选通输入输出方式,也称为应答I/O方式。在这种方式时,端口PA或PB可以用作数据的输入或输出,但同时规定端口PC的某些位用作控制或状态信息。2、方式1—选通输入输出方式方式1是一种选通输入输出方式,463、方式2:双向选通输入输出方式方式2是一种双向传送方式,这种方式只适合于端口A。在方式2下,外设通过8根数据线,既可以往CPU发送数据,又可以从CPU接收数据。如果一个并行外部设备既可以作为输入设备,又可以作为输出设备,并且输入/输出动作不会同时进行,那么,将这个外设和8255的端口A相连,并使它工作在方式2,就会非常合适。3、方式2:双向选通输入输出方式方式2是一种双向传送方式,478255A的键盘和扬声器控制示意8255APB1PB0驱动电路扬声器GATE2CLK2时钟信号与门8253的计数器2

PA7~PA0PB7PB6键盘扫描码键盘控制信号8255A的键盘和扬声器控制示意8255APB1驱动扬声器G488255A应用举例1电路连接如图所示。8255端口C接逻辑电平开关K0~K7(作为输入),端口A接LED显示电路L0~L7。编程从8255端口C输入数据并且从端口A输出该数据,验证结果。8255A应用举例1电路连接如图所示。8255端口C接逻辑电49可编程并行接口(8255方式0)可编程并行接口(8255方式0)50;本程序为从8255的C口输入,A口输出CODESEGMENT ASSUMECS:CODESTART:MOVDX,28BH;设8255为C口输入,A口输出 MOVAL,8BH OUTDX,ALINOUT:MOVDX,28AH;从C口输入一数据 INAL,DX MOVDX,288H;从A口输出刚才自C口 OUTDX,AL;所输入的数据;本程序为从8255的C口输入,A口输出51MOVAH,01H;判断是否有按键INT16HJZINOUT;若无,则继续自C口输入,A口输出MOVAH,4CH;否则返回DOSINT21HCODEENDS ENDSTARTMOVAH,01H;判断是5210.4.3LED数码显示器接口设计发光二极管LED是最简单的显示设备由7段LED就可以组成LED数码管LED数码管广泛用于单板微型机、微型机控制系统及数字化仪器中LED数码管可以显示内存地址和数据等10.4.3LED数码显示器接口设计发光二极管LED是最简531.LED数码管的工作原理主要部分是7段发光管顺时针分别称为a、b、c、d、e、f、g有的产品还附带有一个小数点h通过7个发光段的不同组合主要显示0~9也可显示A~F(16进制数)还可显示个别特殊字符:-、Phgfedcba1.LED数码管的工作原理主要部分是7段发光管hgfed54LED数码管的结构共阳极阳极+5Vabcdefgh阴极abcdefgh共阴极LED数码管的结构共阳极阳极+5Va阴极a共阴极552.单个LED数码管的显示(静态显示)8255APA0PA1PA2PA3PA4PA5PA6PA7驱动电路abcdefgh2.单个LED数码管的显示(静态显示)8255APA0a56数据寄存器WR300HDBabgabcdefgdpCOMLED静态显示接口数据寄存器WR300HDBabgabcdefgdpCOMLE57MOVDX,300H MOVAL,06H OUTDX,AL数据寄存器WR300HDBabcdefgdpCOMabgfedc010000106H执行如下程序,数码管显示“1”

:MOVDX,300H 数据寄存器WR300HDBabcd58若希望显示数字“5”,则应执行如下程序:MOVDX,300H ;300H为数据寄存器的口地址MOVAL,6DH ;6DH为“5”的显示代码OUTDX,AL若希望显示数字“5”,则应执行如下程序:59七段数码管显示举例将8255的端口A的PA0~PA6分别与七段数码管的段码驱动输入端a~g相连,数码管的阴极公共端接地。要求编程从键盘输入一位十进制数字(0~9),并且在七段数码管上显示出来。七段数码管显示举例将8255的端口A的PA0~PA6分别与七60PA4PA5PA6PA7CSPA0PA1PA2PA3288H~ABCDEFG8255A七段数码管静态显示PA4PA5PA6PA7CSPA0PA1PA2PA3288H61;本程序为从键盘输入数据(0-9)控制LED数码管发光DATASEGMENT;定义0-9的字形码LEDDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;定义提示信息MSGDB0DH,0AH,'INPUTANUM(0-9):','$'DATAENDSCODESEGMENT ASSUMECS:CODE,DS:DATASTART:MOVAX,DATA

MOVDS,AX;本程序为从键盘输入数据(0-9)控制LED数码管发光62

MOVDX,28BH;使8255的A口为输出方式 MOVAX,80H OUTDX,ALSSS:MOVDX,OFFSETMSG;显示提示信息 MOVAH,09H INT21H MOVAH,01;从键盘接收字符 INT21H CMPAL,'0';是否小于0 JLEXIT;若是则退出 CMPAL,'9';是否大于9 JGEXIT;若是则退出MOVDX,28BH;使8255的A口为输出方式63 SUBAL,30H;将所得字符的ASCII码减30H MOVBX,OFFSETLED;bx为数码表的起始地址 XLAT;求出相应的字形码MOVDX,288H;从8255的A口输出 OUTDX,AL MOVAH,01H;判断是否有按键INT16HJZSSS;若无按键,则继续显示EXIT:MOVAH,4CH;若有按键,则返回DOS INT21HCODEENDS ENDSTART SUBAL,30H;将所得字符的ASCII码减30643、LED动态显示接口接口电路中共有二个数据输出寄存器与共阴极数码管相连。一个寄存器(口地址60H)的输出连到每个数码管的a~g端,用于控制数码管显示的字形,通常称为字形口;另一个寄存器(口地址61H)的输出分别连接两个数码管的COM端,用于控制不同的数码管被选中并点亮显示字形,通常称为字位口。要想每位同时显示不同的字符,就必须采用扫描方法轮流点亮各位数码管,即在某一瞬间只使某一位显示字符。3、LED动态显示接口接口电路中共有二个数据输出寄存器与共阴65abcdefgdp数据寄存器WR60HDB数据寄存器WR61Habcdefgdp06HFEHFFH5BHFDHabcdefgdp数据寄存器WR60HDB数据寄存器WR6166在这两位数码管上显示数字“21”,实现动态显示“21”的程序段如下:DISP:MOVAL,06H ;数字“1”的字型码OUT60H,AL MOVAL,0FEHOUT61H,AL ;选中第一位数码管CALLDELAY1MS ;延时1msMOVAL,0FFH ;关第一位数码管OUT61H,ALMOVAL,5BH ;数字“2”的显示代码值OUT60H,AL在这两位数码管上显示数字“21”,实现动态显示“21”的程序67MOVAL,0FDH OUT61H,AL ;选中第二位七段数码管CALLDELAY1MS ;延时1msMOVAL,0FFH ;关第二位数码管

OUT61H,ALJMPDISP ;继续扫描显示对于延时的时间,一般在几个毫秒之间,因人眼的视觉暂留时间为100ms,所以每位显示的间隔也不要超过20ms,从而造成视觉暂留效果,给人看上去每个数码管总是在亮。MOVAL,0FDH 对于延时的时间,一般在几个毫秒之间68第10章并行通信接口10.1并行通信与并行接口10.2简单并行接口10.3可编程并行接口芯片8255A10.4并行通信接口设计第10章并行通信接口10.1并行通信与并行接口6910.1并行通信与并行接口并行通信就是把一个字符的各数位用几条线同时进行传输。并行通信的主要特点是信息传输速度快、信息率高这种特点是多用通信电缆而换取的,用于数据传输率要求较高、而传输距离较短的场合。10.1并行通信与并行接口并行通信就是把一个字符的各数位用70并行接口实现并行通信的接口就是并行接口。并行接口广泛应用于微机内部各部件之间以及主机与外部设备之间的信息交换。例如,打印机接口,A/D、D/A转换器接口,开关量接口,控制器接口等等。并行接口是指接口与I/O设备或控制对象一侧的并行数据线。并行接口分为:不可编程接口::工作方式和功能是完全通过逻辑电路连接来设定可编程接口:工作方式和功能都能通过软件编程的方法加以设定或改变。并行接口实现并行通信的接口就是并行接口。7110.1.2并行接口的特点1、并行接口最基本的特点就是在多条数据线上以数据字节(字)为单位与I/O设备或被控对象传送信息。2、并行接口适用于近距离传送数据的场合。3、在并行接口中,一般都需要在接口与外设之间设置并行数据线的同时,至少还要设置两条握手(联络)信号线,以便进行互锁异步握手方式的通信。10.1.2并行接口的特点1、并行接口最基本的特点就是在多7210.1.2并行接口的特点4、在并行接口中,数据的每个位(8位或16位)都是一起行动的,因此,当并行接口与外设交换数据时,即使是仅用到其中的一位,也是一次输入或输出8位或16位数据。5、并行传送的信息,不要求有固定的传输格式。10.1.2并行接口的特点4、在并行接口中,数据的每个位(7310.1.3并行接口的基本结构与传输特性并行接口可设计为只作为输入/输出接口,也可设计为既作为输入又作为输出的接口。1、并行接口的功能一般而言,一个并行接口电路应具有如下三方面的功能:⑴实现与系统总线的连接,提供数据的输入与输出功能;10.1.3并行接口的基本结构与传输特性并行接口可设计为只74并行接口的基本结构与传输特性⑵实现与I/O设备的连接,具有与I/O设备进行应答的同步机构,保证有效地进行数据的收发;⑶具有中断请求与处理功能,使得数据的输入输出可以采用中断的方法来实现。并行接口的基本结构与传输特性⑵实现与I/O设备的连接,具有与752、并行接口的内部结构根据并行接口的功能可知,在接口电路中应该有:数据锁存器和缓冲器,以便于数据的输入输出。状态和控制命令的寄存器,以便于CPU与接口电路之间用应答的方式来交换信息,同样也便于接口电路与外设之间传送信息。接口电路中还要有译码与控制电路以及中断请求触发器、中断屏蔽触发器等,以解决CPU的驱动能力问题、时序配合问题并能实现各种控制,保证CPU能正确可靠地与外设交换信息。因此,按功能划分,接口电路可由四部分组成:数据寄存器、控制寄存器、状态寄存器和其他控制电路。2、并行接口的内部结构根据并行接口的功能可知,在接口电路中应76并行接口的内部结构并行接口电路组成(按功能划分)数据寄存器控制寄存器状态寄存器控制电路并行接口的内部结构并行接口电路组成(按功能划分)773、并行接口的外部信号并行接口电路的外部信号可分成两部分:与I/O设备相连的接口信号和与CPU相连的接口信号。与I/O设备相关联的接口电路信号有三种:⑴数据信息,用于接口电路与I/O设备进行输入或输出数据;⑵控制信息,用于接口电路向I/O设备提供控制信号;⑶状态信息,用于接口电路接收I/O设备提供的状态信号。3、并行接口的外部信号并行接口电路的外部信号可分成两部分:与783、并行接口的外部信号与CPU相关的接口电路信号有:⑴数据线信号,用于实现接口电路与CPU的数据交换;⑵地址线及地址译码信号,用于选择接口电路以及接口电路内部不同的寄存器;⑶读写控制信号,用于确定CPU当前对接口电路的操作性质是读还是写;⑷中断应答信号,用于实现中断请求和中断响应操作。3、并行接口的外部信号与CPU相关的接口电路信号有:79典型并行输入接口

典型并行输入接口80典型并行输入接口“输入控制”的作用是将外部数据写入输入寄存器,以便CPU在I/O读总线周期中读取。状态信号“输入数据准备好”反映了输入寄存器当前的状态,供CPU决定是否可以读取接口数据,同时也可以作为限制外部输入设备是否可以输入下一数据的依据。中断请求信号INTR的作用是在数据写入接口电路以后,用中断的方式通知CPU读数据。典型并行输入接口“输入控制”的作用是将外部数据写入输入寄存器81典型并行输出接口

典型并行输出接口82典型并行输出接口在输出过程中,每当CPU向输出接口输出一个数据,接口电路就建立“输出数据准备好”状态,并通过该状态的输出向外部输出设备表示可以读取数据。当外设从接口取走一个数据之后,向接口发送“输出应答”信号,以后,接口就撤消“输出准备好”状态,并以查询或中断的方式告知CPU,CPU便可输出下一个数据。典型并行输出接口在输出过程中,每当CPU向输出接口输出一个数8310.2简单并行接口简单并行接口就是用简单的门电路、触发器等连接组成的并行接口。一般采用无条件传输方式根据接口的功能简单输入并行接口简单并行输出接口双向输入/输出并行接口关键电路是三态缓冲器:74LS244关键是用数据锁存器来保存输出数据:74LS373/3748位双向缓冲驱动器74LS24510.2简单并行接口简单并行接口就是用简单的门电路、触发8410.3可编程并行接口芯片8255A所谓可编程实际上就是具有可选择性,并且是用编程的方法进行选择。例如,选择芯片中的哪一个或哪几个数据端口与外设连接;选择端口中的哪一位或哪几位作输入,哪一位或哪几位作输出;选择端口与CPU之间采用哪种方式传送数据等,均可由用户在程序中写入方式字或控制字来进行指定。因此,它们具有广泛的适应性及很高的灵活性,在微机系统中得到广泛应用。10.3可编程并行接口芯片8255A所谓可编程实际上就是8510.3.18255A的外部特性和内部结构

1、8255A的基本特性8255A是一个具有两个8位(A口和B口)和两个4位(C口高/低4位)并行I/O端口的接口芯片,8255A的PC口还具有按位置位/复位功能,为按位控制提供了强有力的支持。8255A能适应CPU与I/O接口之间的多种数据传送方式的要求。如无条件、查询方式传送和中断方式传送。8255A具有方式0、方式1和方式2三种工作方式。8255A的可编程功能很强,由内容丰富的命令字(方式字和控制字)来设置8255A,使其构成多种功能的接口电路。8255APC口的使用比较特殊,除用作一般数据口外,PC口可以按位进行控制,而且当8255A工作在方式1和方式2时,PC口的口线被分配成专用联络信号线,等等。10.3.18255A的外部特性和内部结构1、8258616151413121110987654321391718192021222324252627282930313233343536373840PA0PA1PA2PA3PA7PA5PA6PA4PC2PC1PC0PC4PC5PC6PC7PC3PB0PB1PB2PB4PB5PB3PB6PB7A0A1GND~CS~RD~WRRESETD0D2D1VCCD7D6D5D4D32、8255A的引脚信号及功能

8255A是一个单+5V电源供电、具有40个引脚的双列直插封装的器件8255A的引脚信号可分为两部分:一部分是与外设相连的,另一部分是与CPU相连接的。161514131211109876543213917181878255A的引脚信号⑴用于同外设相连的信号有:①PA7~PA0:PA口的外设数据线(双向)。②PB7~PB0:PB口的外设数据线(双向)。③PC7~PC0:PC口的外设数据线(双向)。8255A的引脚信号⑴用于同外设相连的信号有:88PC口的其他特殊用途如下所述:作数据口。PC口用作数据口时,把8位分成高4位和低4位两部分。因此,当PC口作为数据口输入/输出时,是4位是一起行动的,即使只用到其中的某一位,也要同时输入/输出4位数据。作状态口。8255A工作在方式1和方式2时,有固定的状态字,是从PC口读入的,此时PC口就是8255A的临时状态口。PC口的其他特殊用途如下所述:89作固定联络信号线。8255A的方式1和方式2是一种应答传送方式,需要应答联络信号,因此,PC口的多数口线被定义为固定的联络信号线。作按位控制用。PC口的每个口线都可以单独从输出高/低电平。此时,PC口是作为按位控制用,而不是作为数据输出用。作固定联络信号线。8255A的方式1和方式2是一种应答传送方908255A的引脚信号⑵用于同CPU连接的信号有:①D7-D0:数据线,双向,三态,连接CPU的数据总线②:CS片选信号,输入,低电平有效。③A1、A0:片内寄存器选择信号(端口选择),输入④RESET:复位信号,输入,高电平有效。⑤:读信号,输入,低电平有效。⑥:写信号,输入,低电平有效。除此以外,8255A还有二个引脚电源Vcc和地线GND8255A的引脚信号⑵用于同CPU连接的信号有:913、8255A的内部编程结构数据总线缓冲器内部控制线内部数据线D0~D7A组控制A组端口AA组端口C上部B组控制B组端口BB组端口C下部读写控制逻辑PC0~PC3PB0~PB7PC4~PC7PA0~PA7RDWRA0A1CSRESET3、8255A的内部编程结构数据内部控制线内部数据线D0~928255A的内部编程结构8255A的内部编程结构931.外设数据端口端口A:PA0~PA7A组,支持工作方式0、1、2端口B:PB0~PB7B组,支持工作方式0、1端口C:PC0~PC7仅支持工作方式0A组控制高4位PC4~PC7B组控制低4位PC0~PC3端口A:PA0~PA7常作数据端口,功能最强大端口B:PB0~PB7常作数据端口端口C:PC0~PC7可作数据、状态和控制端口分两个4位,每位可独立操作控制最灵活,最难掌握1.外设数据端口端口A:PA0~PA7端口A:PA0~P942.与处理器接口CS*A1A0I/O地址读操作RD*写操作WR*00000101001160H61H62H63H读端口A读端口B读端口C非法写端口A写端口B写端口C写控制字D0~D7数据线 A0~A1地址线RD*读信号 WR*写信号CS*片选信号 RESET复位信号2.与处理器接口CS*A1A0I/O地址读操作RD*958255A的内部组成8255A的内部由四部分组成:①数据总线缓冲器②8位输入/输出端口PA、PB、PCPA口:有一个8位的数据输入锁存器和一个8位的数据输出锁存/缓冲器;PB口:有一个8位数据输入缓冲器和一个8位数据输入输出、锁存/缓冲器;PC口:有一个8个位数据输入缓冲器和一个8位输出锁存/缓冲器。③A组和B组的控制电路④读/写控制逻辑8255A的内部组成8255A的内部由四部分组成:9610.3.28255A的编程命令8255A的编程命令包括工作方式选择控制字和PC口按位操作控制字由于这两个命令字都是送到8255A的同一个控制端口,故为了让8255A能够识别是哪个命令,采用在命令代码中设置特征位的方法来进行区分。如果写入的控制字的最高位D7=1,则该控制字为工作方式控制字;如果写入的控制字的最高位D7=0,则该控制字是PC口的按位复位/置位控制字。10.3.28255A的编程命令8255A的编程命令包97工作方式控制字1、工作方式控制字作用:指定8255A的工作方式和PA、PB、PC三个端口的输入/输出功能。工作方式控制字1、工作方式控制字98D7D6D5D4D3D2D1D0特征位必须写1A组方式00=方式001=方式11×=方式2PA0=输出1=输入PC7~40=输出1=输入B组方式0=方式01=方式1PB0=输出1=输入PC3~00=输出1=输入工作方式控制字D7D6D5D4D3D2D1D0特征位必须写1A组方式PA99例1例1:要求8255A的各端口处于如下工作方式:PA口指定为方式0输入,PC口高四位指定为输出;PB口指定为方式0输出,PC口低四位指定为输入。根据工作方式控制字的格式要求,控制字的代码应是10010001B,即91H。例1例1:要求8255A的各端口处于如下工作方式:PA口指定1008255A的初始化如果将此控制字的内容写到8255A的控制寄存器,就实现了对8255A的工作方式的指定,这个过程又称为对8255A的初始化。如果8255A是PC机中使用的接口芯片,用上述工作方式控制字,其初始化程序段为:MOVDX,0063H ;8255A控制端口地址MOVAL,91H ;初始化命令字OUTDX,AL ;控制字送到控制口8255A的初始化如果将此控制字的内容写到8255A的控制寄101PC口按位置位/复位控制字2、PC口按位置位/复位控制字作用:指定PC口的某一位(即某一个引脚)输出高电平(置位)或输出低电平(复位)。8255的PC口具有位操作功能,用PC口按位置位/复位控制字,可以改变PC口某一位的取值而不影响PC口的其他位。PC口按位置位/复位控制字2、PC口按位置位/复位控制字102D7D6D5D4D3D2D1D0特征位写0未使用(写0)位

择000=PC口第0位001=PC口第1位…111=PC口第7位1=置位(高电平)0=复位(低电平)PC口按位置位/复位控制字D7D6D5D4D3D2D1D0特征位写0未使用位103例2例2:要求把PC5引脚设置成高电平输出。根据置位/复位控制字格式,其控制字应为00001011B,即0BH。将该控制字代码写入8255A的控制寄存器,就会使得从PC口的PC5引脚输出高电平,其程序段为:MOVDX,0063H ;8255A控制端口地址MOVAL,0BH ;使PC5=1的命令字OUTDX,AL ;控制字送到控制口例2例2:要求把PC5引脚设置成高电平输出。104例2如果要使该位(PC5)复位,控制字为00001010B,即0AH,用下面程序段来实现:MOVDX,0063H;8255A控制端口地址MOVAL,0AH ;使PC5=0的命令字OUTDX,AL ;控制字送到控制口例2如果要使该位(PC5)复位,控制字为00001010B105例3例3:利用在实验插件板上8255A的PC7产生负脉冲作为数据选通信号例3例3:利用在实验插件板上8255A的PC7产生负脉冲作为106例3MOVDX,0303H;插件板上8255A控制端口MOVAL,00001110B ;置PC7=0OUTDX,ALNOP ;维持低电平NOPMOVAL,00001111B ;置PC7=1OUTDX,AL 例3MOVDX,0303H;插件板上8255A控制端口107注意事项3、关于8255A两个命令的使用注意事项①工作方式选择控制字是对8255A的三个端口的工作方式及功能进行设置,所以应该放在程序的开始处进行初始化。②按位置位/复位控制字只对PC口的输出进行控制(对PC口输入不起作用),而且每次只对PC口的某一位的输出起作用,即令其输出高电平(置位)或输出低电平(复位)。使用该命令不会破坏已经建立起来的3种工作方式,而且可以在初始化程序以后的任何需要的地方使用该命令。注意事项3、关于8255A两个命令的使用注意事项108注意事项③两个命令字的最高位是特征位。当D7=1时表示是工作方式控制字;当D7=0时表示是按位置位/复位控制字。④按位置位/复位的命令代码只能写入控制端口。必须注意按位置位/复位控制字是一个命令而不是数据,它只能按照命令的定义格式来处理每一位,如果把它写入PC口,就会按照PC口的数据定义格式来处理。注意事项③两个命令字的最高位是特征位。当D7=1时表示是工作10910.3.38255A的工作方式方式0:基本输入输出方式适用于无条件传送和查询方式的接口电路方式1:选通输入输出方式适用于查询和中断方式的接口电路方式2:双向选通传送方式适用于与双向传送数据的外设适用于查询和中断方式的接口电路10.3.38255A的工作方式方式0:基本输入输出方式11010.3.38255A的工作方式1、方式0——基本输入输出方式⑴方式0的工作特点方式0是一种基本输入/输出方式。方式0常用于无条件(简单)传送,也可用于查询传送,其工作特点为:①按方式0工作,输出数据被锁存,而输入数据不是锁存的。因此,在方式0,8255A在输入操作时相当于一个三态缓冲器,在输出操作时相当于一个数据锁存器。②在方式0下,PA、PBPC口的高4位和低4位都可以独立地设置为输入口或输出口,共有16种不同的使用组态。10.3.38255A的工作方式1、方式0——基本输入1118255A的方式0③在方式0下,所有端口都是单向I/O端口,每次初始化只能指定PA、PB和PC口作为输入或作为输出,不能指定这些端口同时既作为输入又作为输出。④在方式0下,未设置专用联络信号线。当需要联络信号时,可以任意指定PC口中的某一条线来完成某种联络功能,但是不具备固定的时序关系,只能根据数据传送的要求来决定输入/输出的操作过程。8255A的方式0③在方式0下,所有端口都是单向I/O端口,112方式0的适用场合⑶方式0的适用场合方式0适合于两种使用场合:一种是无条件传送,另一种是查询式传送。在无条件传送时,发送方和接收方不需要应答信号,即不需要查询处设的状态。在无条件传送时使用8255A,3个数据端口可以实现三路数据传输。查询式传送时,需要有应答信号,由于方式0不提供固定的应答信号,所以,通常用PA和PB口用作数据口,用PC口的高4位和低4位分别设置成输入和输出,用来作为控制信号的输出和状态信号的输入方式0的适用场合⑶方式0的适用场合1132、方式1—选通输入输出方式方式1是一种选通输入输出方式,也称为应答I/O方式。在这种方式时,端口PA或PB可以用作数据的输入或输出,但同时规定端口PC的某些位用作控制或状态信息。2、方式1—选通输入输出方式方式1是一种选通输入输出方式,1143、方式2:双向选通输入输出方式方式2是一种双向传送方式,这种方式只适合于端口A。在方式2下,外设通过8根数据线,既可以往CPU发送数据,又可以从CPU接收数据。如果一个并行外部设备既可以作为输入设备,又可以作为输出设备,并且输入/输出动作不会同时进行,那么,将这个外设和8255的端口A相连,并使它工作在方式2,就会非常合适。3、方式2:双向选通输入输出方式方式2是一种双向传送方式,1158255A的键盘和扬声器控制示意8255APB1PB0驱动电路扬声器GATE2CLK2时钟信号与门8253的计数器2

PA7~PA0PB7PB6键盘扫描码键盘控制信号8255A的键盘和扬声器控制示意8255APB1驱动扬声器G1168255A应用举例1电路连接如图所示。8255端口C接逻辑电平开关K0~K7(作为输入),端口A接LED显示电路L0~L7。编程从8255端口C输入数据并且从端口A输出该数据,验证结果。8255A应用举例1电路连接如图所示。8255端口C接逻辑电117可编程并行接口(8255方式0)可编程并行接口(8255方式0)118;本程序为从8255的C口输入,A口输出CODESEGMENT ASSUMECS:CODESTART:MOVDX,28BH;设8255为C口输入,A口输出 MOVAL,8BH OUTDX,ALINOUT:MOVDX,28AH;从C口输入一数据 INAL,DX MOVDX,288H;从A口输出刚才自C口 OUTDX,AL;所输入的数据;本程序为从8255的C口输入,A口输出119MOVAH,01H;判断是否有按键INT16HJZINOUT;若无,则继续自C口输入,A口输出MOVAH,4CH;否则返回DOSINT21HCODEENDS ENDSTARTMOVAH,01H;判断是12010.4.3LED数码显示器接口设计发光二极管LED是最简单的显示设备由7段LED就可以组成LED数码管LED数码管广泛用于单板微型机、微型机控制系统及数字化仪器中LED数码管可以显示内存地址和数据等10.4.3LED数码显示器接口设计发光二极管LED是最简1211.LED数码管的工作原理主要部分是7段发光管顺时针分别称为a、b、c、d、e、f、g有的产品还附带有一个小数点h通过7个发光段的不同组合主要显示0~9也可显示A~F(16进制数)还可显示个别特殊字符:-、Phgfedcba1.LED数码管的工作原理主要部分是7段发光管hgfed122LED数码管的结构共阳极阳极+5Vabcdefgh阴极abcdefgh共阴极LED数码管的结构共阳极阳极+5Va阴极a共阴极1232.单个LED数码管的显示(静态显示)8255APA0PA1PA2PA3PA4PA5PA6PA7驱动电路abcdefgh2.单个LED数码管的显示(静态显示)8255A

温馨提示

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

评论

0/150

提交评论