第07章 并行接口_第1页
第07章 并行接口_第2页
第07章 并行接口_第3页
第07章 并行接口_第4页
第07章 并行接口_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

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

文档简介

1、1第第7 7章章 并行接口并行接口 主要内容:主要内容:1 1、并行接口的特点、并行接口的特点 2 2、可编程并行接口芯片可编程并行接口芯片8255A 3 3、8255A的的0方式及其应用方式及其应用 4 4、8255A的的1方式及其应用方式及其应用 5 5、8255A的的2方式及其应用方式及其应用重点内容:重点内容:8255A的各种工作方式及其应用的各种工作方式及其应用2第第7 7章章 并行接口并行接口 7.1 并行并行I/O接口的特点接口的特点一、并行接口的定义一、并行接口的定义 实现并行输入实现并行输入/输出的接口就是并行接口。通常,一个并行接口输出的接口就是并行接口。通常,一个并行接口

2、 可设计为输出接口,例如连接一台打印机;可设计为输出接口,例如连接一台打印机; 也可设计为输入接口,也可设计为输入接口, 例如连接键盘;例如连接键盘; 还可设计成双向通讯接口,既可作为输入接口又可还可设计成双向通讯接口,既可作为输入接口又可 作为输出接口,例如连接像磁盘驱动器这样的需要双向通路的设备。作为输出接口,例如连接像磁盘驱动器这样的需要双向通路的设备。二、并行接口的特点二、并行接口的特点 (1)以字节()以字节(8位)、位)、 字(字(16位)或双字(位)或双字(32)宽度,)宽度, 在接口与外在接口与外 设之间的多根数据线上传输数据。设之间的多根数据线上传输数据。 (2)并行数据的格

3、式无固定格式,由被连接的外设的要求决定。)并行数据的格式无固定格式,由被连接的外设的要求决定。 (3)并行数据传输过程中,一般不作差错检验和传输速率控制)并行数据传输过程中,一般不作差错检验和传输速率控制 (4)由于并行通信所采用的电缆较多,不太适合长距离传输。所以,)由于并行通信所采用的电缆较多,不太适合长距离传输。所以, 并行通信通常用在数据传输率要求较高、而传输的距离相对较并行通信通常用在数据传输率要求较高、而传输的距离相对较 短的场合。短的场合。3第第7 7章章 并行接口并行接口 三、并行接口与外设的连接三、并行接口与外设的连接 如图所示,并行接口左边是与如图所示,并行接口左边是与CP

4、U连接的总线,右边用一个连接的总线,右边用一个 通道和输入设备相连,另一个通道和输出设备相连,输入和输出通道和输入设备相连,另一个通道和输出设备相连,输入和输出 都有独立的信号交换联络控制线。在并行接口内部用控制寄存器都有独立的信号交换联络控制线。在并行接口内部用控制寄存器 来寄存来寄存CPU对它的控制命令,用状态寄存器来提供各种工作状态对它的控制命令,用状态寄存器来提供各种工作状态 供供CPU查询,此外,还有供输出和输入数据用的输出数据锁存器查询,此外,还有供输出和输入数据用的输出数据锁存器 和输入数据缓冲器。和输入数据缓冲器。 CPU控制寄存器控制寄存器输入缓冲寄存器输入缓冲寄存器输出缓冲

5、寄存器输出缓冲寄存器状态寄存器状态寄存器输输入入设设备备输输出出设设备备地址地址译码译码数据总线数据总线读出信号读出信号写入信号写入信号复位复位准备好准备好中断请求中断请求数据输入准备好数据输入准备好数据输入回答数据输入回答数据输入数据输入数据输出数据输出数据输出准备好数据输出准备好数据输出回答数据输出回答4第第7 7章章 并行接口并行接口 四、并行接口的基本工作原理四、并行接口的基本工作原理 1、数据的输入过程、数据的输入过程 当外设把数据送到数据输入线上时,通过当外设把数据送到数据输入线上时,通过“数据输入准数据输入准 备好备好”状态线通知接口取数。接口在把数据锁存到输入缓冲状态线通知接口

6、取数。接口在把数据锁存到输入缓冲 器的同时,把数据输入回答线置器的同时,把数据输入回答线置“1”,用来通知外设,接口,用来通知外设,接口 的数据输入缓冲器的数据输入缓冲器 “满满”,禁止外设再送数据。,禁止外设再送数据。 同时把内部同时把内部 状态寄存器中状态寄存器中“输入准备好输入准备好”状态位置状态位置“1”,以便,以便CPU对其进对其进 行查询或向行查询或向CPU申请中断。在申请中断。在 CPU 读取接口中的数据后,读取接口中的数据后, 接口将自动清除接口将自动清除 “输入准备好输入准备好” 状态位和状态位和“数据输入回答数据输入回答”信信 号,以便外设输入下一个数据。号,以便外设输入下

7、一个数据。5第第7 7章章 并行接口并行接口 2、数据的输出过程、数据的输出过程 当数据输出缓冲器当数据输出缓冲器“空闲空闲”时,时, 接口中接口中“输出准备好输出准备好”状态状态位位 置置“1”。 在接收到在接收到CPU的数据后,的数据后, “输出准备好输出准备好”状态位复位。状态位复位。 数据通过输出线送到外设,数据通过输出线送到外设, 同时,由同时,由“数据输出准备好数据输出准备好”信号线信号线 通知外设取数据。通知外设取数据。 当外设接收一个数据时,当外设接收一个数据时, 回送一个回送一个 “数据输数据输 出回答出回答”信号,通知接口准备下一次输出数据。信号,通知接口准备下一次输出数据

8、。 接口将撤消接口将撤消“数数 据输出准备好据输出准备好”信号并且再一次置信号并且再一次置“输出准备好输出准备好”状态位为状态位为“1”, 以便以便CPU输出下一个数据。输出下一个数据。 6数据数据总线总线缓冲缓冲器器读写读写控制控制逻辑逻辑D7D0RDWRA0A1RESETCSA组组A端口端口(8位)位)B组组C端口端口(低(低4)B组组B端口端口(8位)位)A组组C端口端口(高(高4)I/O PA7PA0I/O PC7PC4I/O PC3PC0I/O PB7PB0A组组控制控制B组组控制控制与与CPU接口接口内部逻辑内部逻辑外设接口外设接口第第7 7章章 并行接口并行接口 7.2 可编程接

9、口芯片可编程接口芯片8255A一、一、8255A的内部结构及外部引脚的内部结构及外部引脚数据总线缓冲器数据总线缓冲器 数据的输入数据的输入与输出、控制字与输出、控制字的写入和状态信的写入和状态信息的读出。息的读出。RESET:复位信号:复位信号 当当 8255A被复位被复位时,片内各寄存器全时,片内各寄存器全部清零,部清零,A、B、C三三个端口自动设为输入个端口自动设为输入端口,一般与端口,一般与CPU的的RESET相连。相连。CS:片选信号:片选信号 与与A1、A0合起来合起来构成构成A、B、C和控制和控制口的端口地址。口的端口地址。A1、A0:端口地址:端口地址 译码译码00 端口端口A

10、01端口端口B 10 端口端口C 11控制口控制口RD / WR:读写控制:读写控制 信号信号 读写控制信号组合读写控制信号组合产生的操作产生的操作控制口控制口不能读不能读0 1 01 1总线悬浮总线悬浮(三态)(三态)1 1 0X X总线悬浮总线悬浮(三态)(三态)X X 1X X数据数据寄存器控制寄存器控制1 0 01 1CPUPC1 0 01 0CPUPB1 0 00 1CPUPA1 0 00 0PCCPU0 1 01 0PBCPU0 1 00 1PACPU0 1 00 0操作操作RD WR CSA1 A08255A与外设接口与外设接口 为为A、B、C三个三个8 位端口寄存器,位端口寄存

11、器, 对对应应 PA0PA7、 PB0PB7和和PC0PC7共共24条双向三态线。通常条双向三态线。通常A口和口和B口作为输入、口作为输入、输出端口,输出端口, C口作为口作为控制控制/状态信息端口,状态信息端口,C 口在方式控制字的口在方式控制字的控制下可分为二个控制下可分为二个 4位端口,分别与位端口,分别与A口、口、B 口配合使用。口配合使用。C 口口还可以进行位控制,还可以进行位控制,通过指令使其任何一通过指令使其任何一位置位或复位。位置位或复位。内部控制部分内部控制部分 A、B组控制组控制电路组成,根据电路组成,根据 CPU送来的控制送来的控制字用以决定两组字用以决定两组端口(端口(

12、A 组为组为 A口和口和 C 口的高口的高 4位,位,B 组为组为 B 口口和和C口的低口的低4位)位)的工作方式,也的工作方式,也可根据控制字的可根据控制字的要求对要求对 C口控位口控位进行置位或复位。进行置位或复位。7第第7 7章章 并行接口并行接口 二、二、8255A的控制字与初始化编程的控制字与初始化编程例:例:现要求现要求8255A8255A的各个端口处于如下工作方式,端口的各个端口处于如下工作方式,端口A A:方式:方式0 0, 输出;端口输出;端口B B:方式:方式0 0,输入;端口,输入;端口C C的高的高4 4位为输出,端口位为输出,端口C C 的低的低4 4位为输入。端口地

13、址位为输入。端口地址60H60H63H63H写出方式选择控制字。写出方式选择控制字。1 1、方式选择控制字、方式选择控制字PC3PC0:1 输入输入0输出输出 PB7PB0:1 输入输入0输出输出 B组方式组方式 选择:选择:0方式方式01方式方式1PC7PC4:1 输入输入0输出输出 PA7PA0:1 输入输入0输出输出 A组方式组方式 选择:选择:00方式方式001方式方式11X方式方式2 特特征征位位1D6D5D4D3D2D1D08第第7 7章章 并行接口并行接口 2、C口按位置口按位置0/置置1控制字控制字0D6D5D4D3D2D1D01:置:置10:置:置0D3 D2 D1选择选择C

14、口的口的0 0 0 0位位0 0 11位位0 1 02位位0 1 13位位1 0 04位位1 0 16位位1 1 17位位未使用未使用特征位特征位例:例:若若8255A的端口地址为的端口地址为220H223 H,现要求端口,现要求端口C的的PC7置置1, PC3置置0。写出实现上述要求的程序。写出实现上述要求的程序。注意:注意:虽然是对端口虽然是对端口C的某一位进行置的某一位进行置1或清或清0,但该控制字要写入,但该控制字要写入 控制口而不是写入端口控制口而不是写入端口C。 9第第7 7章章 并行接口并行接口 练习:练习:利用利用8255的的 PC3产生负脉冲作为打印机接口电路的产生负脉冲作为

15、打印机接口电路的 数据选通信号,端口地址为数据选通信号,端口地址为300H303H。写出实现。写出实现 上述要求的程序。上述要求的程序。mov dx , 303Hmov al , 00000110B out dx , al nop nop mov al , 00000111Bout dx , al 10第第7 7章章 并行接口并行接口 3、初始化编程的步骤、初始化编程的步骤 (1)向)向8255控制寄存器写入方式选择控制字,控制寄存器写入方式选择控制字, 从而预置端口的工作方式。从而预置端口的工作方式。 (2)当端口预置为方式)当端口预置为方式1或方式或方式2时,再向控时,再向控 制寄存器写入

16、制寄存器写入C口置口置0/置置1控制字,使相控制字,使相 应端口的中断允许触发器置应端口的中断允许触发器置0 或置或置1,从,从 而禁止或允许端口提出中断。确定而禁止或允许端口提出中断。确定8255A 以查询方式还是中断方式交换信息。以查询方式还是中断方式交换信息。11第第7 7章章 并行接口并行接口 练习:练习:8255端口地址(端口地址(200H203),),8255A的的A口指定口指定 为方式为方式1,输入,输入,C口上半部分定为输出;口上半部分定为输出;B口指口指 定为定为0方式,方式, 输出,输出,C 口下半部分定为输入。口下半部分定为输入。 写写 初始化程序。初始化程序。mov d

17、x , 203Hmov al , 10110001B out dx , al 12第第7 7章章 并行接口并行接口 练习:练习:写出使口写出使口A的的PA2和和PA5同时复位和同时同时复位和同时 置位的初始化程序。置位的初始化程序。mov dx , 200 Hin al , dxand al , 11011011Bout dx , almov dx , 200Hin al , dxmov ah , alor al , 00100100Bout dx , al13第第7 7章章 并行接口并行接口 工作工作方式方式方式方式0(基本输入(基本输入/输出):输出):A口、口、B口、口、C口。口。方式方

18、式1(选通型输入(选通型输入/输出):输出):A口、口、B口口方式方式2(双向数据传送):(双向数据传送):A口口C口配合口配合A口口B口工作,为口工作,为它们的它们的I/O提提供联络信号供联络信号7.3 并行接口芯片并行接口芯片8255A的工作方式的工作方式14第第7 7章章 并行接口并行接口 一、方式一、方式0及其应用(基本的输入及其应用(基本的输入 / 输出)输出) 1、特点、特点 (1)0方式是一种基本输入方式是一种基本输入/输出工作方式。输出工作方式。 通常不用联络通常不用联络 信号或不使用固定的联络信号,信号或不使用固定的联络信号, 因此,所谓基本因此,所谓基本 I/O 方式是指查

19、询方式传送,也包括无条件传送。输出锁方式是指查询方式传送,也包括无条件传送。输出锁 存,输入有三态缓冲能力而无锁存功能。存,输入有三态缓冲能力而无锁存功能。 (2)在)在 0 方式下,彼此独立的两个方式下,彼此独立的两个8位和两个位和两个4位并行口,位并行口, 共共 24 根根I/O线全部由用户支配,都能被指定作为输入线全部由用户支配,都能被指定作为输入 或者作为输出用,共有或者作为输出用,共有16种不同的使用组态。要特别种不同的使用组态。要特别 强调的是,在强调的是,在0方式下,方式下, 只能把只能把C口的高口的高4位为一组或位为一组或 低低4位为一组同时输入或输出,不能再把位为一组同时输入

20、或输出,不能再把4位中一部分位中一部分 作输入另一部分作输出,即作输入另一部分作输出,即4位一起使用。位一起使用。15第第7 7章章 并行接口并行接口 一、方式一、方式0及其应用(基本的输入及其应用(基本的输入 / 输出)输出) 1、特点、特点 (3)在)在 0 方式下不设置专用联络信号线,需要联络时,可方式下不设置专用联络信号线,需要联络时,可 由用户任意指定由用户任意指定 C 口中的哪根线完成某种联络功能,口中的哪根线完成某种联络功能, 这与后面要讨论的在这与后面要讨论的在1方式、方式、2方式下设置固定的专用方式下设置固定的专用 联络信号线不同。由于无固定的专用联络信号,因此联络信号线不同

21、。由于无固定的专用联络信号,因此 也就在端口与也就在端口与 I/O 设备之间无固定的时序关系,由用设备之间无固定的时序关系,由用 户根据数据传送的要求决定输入户根据数据传送的要求决定输入/输出的操作过程。输出的操作过程。0 方式也没有设置固定的状态字。方式也没有设置固定的状态字。 (4)是单向)是单向 I/O, 一次初始化只能指定端口(一次初始化只能指定端口(PA、PB 和和 PC )作输入或作输出,)作输入或作输出, 不能指定端口同时既作输入不能指定端口同时既作输入 又作输出。又作输出。162、使用场合、使用场合 (1)同步传送时,发送方和接收方的动作由一个时序信号)同步传送时,发送方和接收

22、方的动作由一个时序信号 来管理,双方互相知道对方的动作,不需应答信号,来管理,双方互相知道对方的动作,不需应答信号, CPU不需要查询外设的状态。在同步传送方式下使用不需要查询外设的状态。在同步传送方式下使用 8255A时,时,3个数据端口可实现三路数据传输。个数据端口可实现三路数据传输。 (2)查询方式传输时,需要有应答信号。)查询方式传输时,需要有应答信号。 这时一般将这时一般将 A、 B口作为数据端口,口作为数据端口,C口的口的4个数位规定为输出口,用个数位规定为输出口,用 来输出一些控制信号,来输出一些控制信号,C 口的另外口的另外 4 个数位规定为输个数位规定为输 入口,用来读入外设

23、的状态。即用入口,用来读入外设的状态。即用 C 口来配合口来配合A口和口和 B口的输入输出操作。口的输入输出操作。第第7 7章章 并行接口并行接口 17第第7 7章章 并行接口并行接口 例例1:设设8255A端口端口A工作在方式工作在方式0下,通过下,通过A口输出口输出 数据控制数据控制8个指示灯轮流点亮。个指示灯轮流点亮。 电路连接如图电路连接如图 所示。(地址为所示。(地址为04A0H04A6H)CPU80868255AD0D7INTRD0D7PC3PA0PA7.Vcc18第第7 7章章 并行接口并行接口 MOV DX,04A6H ;控制口地址送;控制口地址送DX MOV AL,80H ;

24、写工作方式控制字;写工作方式控制字 OUT DX,AL MOV DX,04A0H ;A端口地址送端口地址送DX MOV AL,0FEH ;低电平灯亮;低电平灯亮 AA1 OUT DX,AL ;输出数据;输出数据 CALL DELAY ;延时;延时 ROL AL,1 ;轮流点亮;轮流点亮 JMP AA1 注意:注意:执行此段程序时要注意延时子程序的延时时间,执行此段程序时要注意延时子程序的延时时间, 若延时时间不够,指示灯会全亮或全灭。若延时时间不够,指示灯会全亮或全灭。19第第7 7章章 并行接口并行接口 例例2 2:开关输入与开关输入与LEDLED显示与显示与ISAISA总线的接口电路如图所

25、示。总线的接口电路如图所示。 8255A8255A端口端口A A编程为方式编程为方式0 0,端口,端口A A向向7 7段段LEDLED显示器提供显示器提供 段码,端口段码,端口C C作为开关数据输入。作为开关数据输入。 本例中,接口的功本例中,接口的功 能是:能是: 将将4 4位开关输入的二进制数转换成对应的位开关输入的二进制数转换成对应的1616进进 制数,并在制数,并在7 7段段LEDLED上显示。上显示。abcdefgpabcdefgp+5Vabcdefgp(a)共阳极)共阳极LED(b)共阴极)共阴极LED(c)LED字形字形20第第7 7章章 并行接口并行接口 PA0PA1PA2PA

26、3PA4PA5PA6PA7PC3PC2PC1PC01RESETA0A1WRRDCS8255Aabcdefgp+5V段驱动器段驱动器abcdefgp1ABCG2AG2BG1DBRESET DRVA0A1IOWIORA2A3A4AENA9A5A6A7A8Y074LS138+5VK来自来自ISA总线总线21第第7 7章章 并行接口并行接口 DATA SEGMENT ;定义;定义7段码表段码表SEGTAB DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 7FH,67H,77H,7CH,39H,5EH,79H,71HDATA ENDSCODE SEGMENTASSUME CS

27、:CODE,DS:DATASTART: MOV AX, DATA MOV DS,AX MOV AL,10000001B ;8255A控制字控制字 MOV DX,203H OUT DX,AL MOV BX,OFFSET SEGTAB22第第7 7章章 并行接口并行接口 MOV DX,202H ;输入开关状态;输入开关状态 IN AL,DX MOV AH,0 AND AL,0FH ;屏蔽高;屏蔽高4位位 ADD BX,AX ;获取输入数字对应的;获取输入数字对应的7段码地址段码地址 MOV AL,BX;取;取7段码段码 MOV DX,200H ;向端口;向端口A输出输出7段码段码 OUT DX,A

28、L MOV AX,4C00H ;返回;返回DOS操作系统操作系统 INT 21H CODE ENDS END START23第第7 7章章 并行接口并行接口 例:例:如下图所示如下图所示8255A作为并行打印机的接口,作为并行打印机的接口,CPU采用查询方式采用查询方式 把存放在把存放在Buf缓冲区的缓冲区的256个字符(个字符(ASCII)送去打印。)送去打印。CPUPA7PA0PC7PC2GND291(STB)11 BUSYGND8255A打印机插座打印机插座打印机与打印机与CPU间传送数据的过程:间传送数据的过程:(1)BUSY=1等待;等待;BUSY=0 CPU送数据至数据线送数据至数

29、据线(2)当)当CPU发发STB数据选通信号,数据至打印机数据选通信号,数据至打印机(3)打印机收到数据,发)打印机收到数据,发“忙忙”信号,打印机正处理数据。信号,打印机正处理数据。 当数据处理完,打印机撤消当数据处理完,打印机撤消“忙忙”信号,直至信号,直至busy=024第第7 7章章 并行接口并行接口 code segmentassume cs : code, ds : codeorg 100hstart: mov ax , code mov ds , ax mov dx , 303h mov al , 10000001b ( ) mov al , 00001111b out dx ,

30、 al mov si , offset buf mov cx , ( )L: mov dx , 302h in al , dx and al , ( ) jnz L mov dx , ( )mov al , siout dx , al mov dx , 303hmov al , 00001110bout dx , alnop nopmov al , 00001111bout dx , alinc sidec cxjnz Lmov ax , 4c00hint 21hbuf db 256个子个子ASCII字符字符code endsend startout dx , al25604h 300h25第

31、第7 7章章 并行接口并行接口 练习练习1、8255A有多少条有多少条I/O信号线?分别是什么?信号线?分别是什么?2、8255A使用了多少个端口?分别是什么端口?使用了多少个端口?分别是什么端口? 各有何功能?各有何功能?3、当把、当把82H装入装入8255A的控制寄存器后,其端口的控制寄存器后,其端口 A、B、C的工作和的工作和 I/O配置是什么?配置是什么?4、如果、如果8255A的端口的端口A、B和和C设置为方式设置为方式0,且,且 端口端口A和和B用于输入而端口用于输入而端口C用于输出,用于输出,8255 的端口地址为的端口地址为1000H1003H,编写一个装入,编写一个装入 该控

32、制字的指令序列?该控制字的指令序列?5、简述、简述8255A方式方式0的特点及应用场合。的特点及应用场合。26第第7 7章章 并行接口并行接口 二、方式二、方式1及其应用(选通型的输入及其应用(选通型的输入/输出方式)输出方式) A口、口、B口用方式口用方式1输入输入/输出传输时,输出传输时, 要利用端要利用端 口口C提供的选通信号,而这些选通信号与端口提供的选通信号,而这些选通信号与端口C的各的各 位之间有着固定的对应关系。位之间有着固定的对应关系。 1、特点、特点 (1)任何一个端口可作为输入口,也可作为输出)任何一个端口可作为输入口,也可作为输出 口,各端口间无必然关系。口,各端口间无必

33、然关系。 (2)各个端口的输入或输出有)各个端口的输入或输出有16种不同的组合,种不同的组合, 可适用多种不同场合。可适用多种不同场合。 (3)如果)如果A、B口都工作在方式口都工作在方式1,则端口,则端口C有有6位位 被规定为配合方式被规定为配合方式1工作的信号,剩下的工作的信号,剩下的2位位 仍可作为输入或输出。仍可作为输入或输出。27PC2PC1PC0PB7PB0INTEBRDSTBBIBFBINTRB第第7 7章章 并行接口并行接口 2 2、方式、方式1 1时输入端口对应的控制信号时输入端口对应的控制信号1011 1/0 X X XD7 D6 D5 D4 D3 D2 D1A组工作于方式

34、组工作于方式1输入的控制字输入的控制字D0PC4PC5PC3PC7、PC6PA7PA0INTEARDSTBAIBFAINTRAI/O1X X X X11XD7 D6 D5 D4 D3 D2 D1B组工作于方式组工作于方式1输入的控制字输入的控制字D01011 1/0 11XD7 D6 D5 D4 D3 D2 D1A、B组都工作于方式组都工作于方式1输入的控制字输入的控制字D0STB(Storbe):选通信号输入端,它是由外设送往选通信号输入端,它是由外设送往 8255A 的,当的,当 STB有效时,有效时,8255A接收外设送来的一个接收外设送来的一个8位数据,位数据, 从而使从而使8255A

35、的输入缓冲器中得到一个新的数据。的输入缓冲器中得到一个新的数据。 IBF(Input Buffer Full):缓冲区满信号,它是缓冲区满信号,它是8255A 输出的状态信输出的状态信 号。表示当前已有一个新的数据在输入缓号。表示当前已有一个新的数据在输入缓 冲器中,该信号由冲器中,该信号由STB置位,置位,RD复位。复位。INTR(Intrrupt Request):中断请求信号,它是当中断请求信号,它是当STB和和IBF均为高均为高 电平时,电平时,8255 向向CPU发出的,发出的,CPU 响响 应读取输入缓冲器的数据,由应读取输入缓冲器的数据,由RD复位。复位。INTE(Intrrup

36、t Enable):中断允许信号,它是一个控制中断允许或中断允许信号,它是一个控制中断允许或 中断屏蔽的信号。中断屏蔽的信号。 INTE 无外部引脚,由无外部引脚,由 软件通过对软件通过对C口口PC4或或PC2置置1开、置开、置0禁。禁。28第第7 7章章 并行接口并行接口 STBIBFINTRRD从外设来的从外设来的 输入数据输入数据29第第7 7章章 并行接口并行接口 OBF(Out Buffer Full):缓冲区满信号,它是缓冲区满信号,它是8255A输出的状态信输出的状态信 号。通知外设取走数据的信号,该信号由号。通知外设取走数据的信号,该信号由 WR置位,置位,ACK使其复位。使其

37、复位。3 3、方式、方式1 1时输出端口对应的控制信号时输出端口对应的控制信号1010 1/0 X X XD7 D6 D5 D4 D3 D2 D1A组工作于方式组工作于方式1输出的控制字输出的控制字D01X X X X10XD7 D6 D5 D4 D3 D2 D1B组工作于方式组工作于方式1输出的控制字输出的控制字D01010 1/0 10XD7 D6 D5 D4 D3 D2 D1A、B组都工作于方式组都工作于方式1输出的控制字输出的控制字D0ACK(Acknowledge):外设响应信号,表示外设响应信号,表示CPU通过通过8255A输出的输出的 数据已经送到外设。数据已经送到外设。INTR

38、(Intrrupt Request):中断请求信号,它是当中断请求信号,它是当ACK和和OBF均为均为 高电平时,高电平时,8255向向CPU发出的,发出的, 以使以使 CPU再次输出数据,由再次输出数据,由WR复位。复位。INTE(Intrrupt Enable):中断允许信号,它是一个控制中断允许或中断允许信号,它是一个控制中断允许或 中断屏蔽的信号。中断屏蔽的信号。 INTE 无外部引脚,由无外部引脚,由 软件通过对软件通过对C口口PC6或或PC2置置1开、置开、置0禁。禁。PC1PC2PC0PB7PB0INTEBWROBFBACKBINTRBPC7PC6PC3PC4、PC5PA7PA0

39、INTEAWROBFAACKAINTRAI/O30第第7 7章章 并行接口并行接口 输出输出WROBFINTRACK31第第7 7章章 并行接口并行接口 4、方式、方式1的使用场合的使用场合 选定方式选定方式 1, 在规定一个端口的输入输出方式的在规定一个端口的输入输出方式的 同时,就自动规定了有关的联络、控制信号和中断请同时,就自动规定了有关的联络、控制信号和中断请 求信号。求信号。 如果外设能向如果外设能向8255A提供输入数据选通信号提供输入数据选通信号 或输出数据接收应答信号,或输出数据接收应答信号, 就可采用方式就可采用方式 1,方便又,方便又 有效地传送数据。具体地来说,方式有效地

40、传送数据。具体地来说,方式1有二种用法:有二种用法: (1)中断方式:)中断方式:将将 INTE 置为置为1,A组和组和B组可以使用组可以使用 各自的各自的INTR信号申请中断。信号申请中断。 (2)查询方式:)查询方式:CPU 通过读通过读 C 端口,可以查询端口,可以查询IBF、 OBF信号的当前状态,决定是否立即信号的当前状态,决定是否立即 进行数据传输。进行数据传输。32第第7 7章章 并行接口并行接口 例:例:打印机是经常使用的外设,打印机是经常使用的外设, 除少数情况都使用并行接口。除少数情况都使用并行接口。 它有它有 8位数据线位数据线DATA1DATA8, 数据选通信号数据选通

41、信号STROBE,应答信,应答信 号号ACK和忙信号和忙信号BUSY, 8255A工作在方式工作在方式1,ACK与与PC6(端(端 口口A的的ACKA)相连,而)相连,而 STROBE 由由 PC4 通过软件方式产生,通过软件方式产生, PC3(INTRA)产生的中断请求送入)产生的中断请求送入PC的的IRQ7引脚。设引脚。设8255A 端口地址为端口地址为 200H203H,8255A传送传送N个字符给打印机。个字符给打印机。 PA0PA78255APC4DATA0DATA7STROBEACKPC6PC3打印机打印机ACKAINTRPC IRQ733第第7 7章章 并行接口并行接口 DATA

42、 SEGMENTBUF DB N DUP(?)INT0F_SEG DW ? ;存;存0FH号中断向量的段地址号中断向量的段地址INT0F_OFF DW ? ;存;存0FH号中断向量的偏移地址号中断向量的偏移地址N EQU 100 ;打印字节数;打印字节数DATA ENDSSTACK SEGMENT PARA STACKSTACK DW 100 DUP(?)STACK ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA, SS:STACKSTART: MOV AX,DATA;初始化数据段;初始化数据段 MOV DS,AX CLI MOVAX,350FH;取;取0F号中

43、断向量号中断向量 INT21H MOVINT0F_SEG,ES34第第7 7章章 并行接口并行接口 MOVINT0F_OFF,BXPUSH DSMOVAX,SEG PRINT_INT ;设置新中断向量;设置新中断向量MOVDS,AXMOVDX,OFFSET PRINT_INTMOVAX,250FHINT21HPOPDSINAL,21HANDAL,7FHOUT21H,AL ;允许;允许PCIRQ7中断中断MOVDX,203HMOVAL,10100000B ;A口方式口方式1输出,输出,PC4为输出为输出OUTDX,ALMOVAL,00001101B ;置;置PC6=1,允许,允许8255A 中断

44、中断OUTDX,ALMOVDX,203H ;8255A控制端口地址控制端口地址 35第第7 7章章 并行接口并行接口 MOVAL,00001001B ;8255A PC4输出高电平输出高电平OUTDX,ALSTI ;开中断;开中断MOVBX,OFFSET BUF ;缓冲区首地址;缓冲区首地址MOVCL,N ;传送长度;传送长度MOVAL,BX ;取数据;取数据INCBXMOVDX,200HOUTDX,AL ;向;向8255A输出第一个字节输出第一个字节 DECCLMOVDX,203HMOVAL,00001000B ;输出;输出PC4低电平低电平OUTDX,ALNOP ;延时;延时NOPMOVA

45、L,000010001B ;输出;输出PC4高电平(产生高电平(产生STROBE信号)信号)OUTDX,AL36第第7 7章章 并行接口并行接口 HERE:CMP CL,0 JNZ HERE CLI PUSH DS MOV AX,INT0F_SEG ;恢复类型;恢复类型0FH原中断向量原中断向量 MOV DS,AX MOV DX,INT0F_OFF MOV AX,250FH INT 21H POP DS IN AL,21H ;禁止;禁止IRQ7中断中断 OR AL,80H OUT 21H,AL MOV AH,4CH ;返回;返回DOS INT 21H37第第7 7章章 并行接口并行接口 ;*中

46、断服务程序中断服务程序 * PRINT_INTPROC NEAR PUSH DX PUSH AX MOV DX,200H MOV AL,BX OUT DX,AL ;8255A端口端口A输出下一个字节输出下一个字节 INC BX ;修改地址;修改地址 DEC CL ;字节计数;字节计数 MOV AL,00001000B ;产生;产生STROBE信号信号 MOV DX,203H OUT DX,AL NOP NOP MOV AL,00001001B OUT DX,AL38第第7 7章章 并行接口并行接口 MOV AL,20H ;结束中断;结束中断 OUT 20H,AL POP AX POP DX I

47、RETPRINT_INT ENDPCODEENDS END START 39第第7 7章章 并行接口并行接口 设设8255A和相应的实验电路,如上图所示。要求先预置开关和相应的实验电路,如上图所示。要求先预置开关K2K0为一组状态,为一组状态,然后按下自复按钮然后按下自复按钮K产生一个负脉冲信号,输入到产生一个负脉冲信号,输入到PC4。用发光二极管。用发光二极管LEDi 亮,亮,显示显示K2K0的状态。主机键盘有按任意键按下时结束演示。查询方式:当的状态。主机键盘有按任意键按下时结束演示。查询方式:当PC4收到负脉冲之后,收到负脉冲之后,K2K0的状态信息被存入的状态信息被存入A口数据寄存器,

48、口数据寄存器,8255A使使IBFA(PC5)=1。程序查询。程序查询PC5,当,当PC5=1时执行时执行A口输入指令。给程序写明注释。口输入指令。给程序写明注释。D7D0RESETD7D0+5VRDWRIORIOWA1A0A0A1CS地址译码器地址译码器218H21FHPB6PB7PB0.PA2PA1PA0+5VK2K1K0PC4单脉冲发生器单脉冲发生器+5VLED6LED7LED0.PC5IBFA40第第7 7章章 并行接口并行接口 data segmentmesg db 8255A ready, 0dh , 0ah , $tab db 1 1 1 1 1 1 1 0 b db 1 1 1

49、 1 1 1 0 1 b db 1 1 1 1 1 0 1 1 b db 1 1 1 1 0 1 1 1 b db 1 1 1 0 1 1 1 1 b db 1 1 0 1 1 1 1 1 b db 1 0 1 1 1 1 1 1 b db 0 1 1 1 1 1 1 1 bdata endscode segment assume cs : code , ds : databeg: mov ax , data mov ds , ax call i8255A mov ah , 9 mov dx , offset mesg int 21h scan: mov ah , 1 int 16h jnz

50、return mov dx , 21ah in al , dx test al , 00100000b jz scan mov dx , 218h in al , dx and al , 07h mov bx , offset tab xlat tab mov dx , 219h out dx , al jmp scan return: mov ah, 4ch int 21h 41第第7 7章章 并行接口并行接口 i8255a proc mov dx , 21bh mov al , 1 01 1 0 0 0 0 b out dx , al mov al , 08h out dx , al mo

51、v dx , 219h mov al , 0ffh out dx , al reti8255a endp 42第第7 7章章 并行接口并行接口 设系统机外扩了一片设系统机外扩了一片8255A和相应的实验电路,如上图所示。要求和相应的实验电路,如上图所示。要求从从8255端口端口A逻辑开关逻辑开关K7K0作为输入,端口作为输入,端口B接发光二极管接发光二极管LEDi编程当主机键盘无按键按下时从编程当主机键盘无按键按下时从8255端口端口A输入数据并从端口输入数据并从端口B输输出,验证结果。开关闭合为出,验证结果。开关闭合为0,断开为,断开为1;输出;输出PBi=0,LEDi亮。亮。当主机键盘有键

52、按下时结束演示。完成程序并写明注释。当主机键盘有键按下时结束演示。完成程序并写明注释。CS地址译码器地址译码器218H21FHPB6PB7PB0.PA2PA1PA0+5VK7K1K0+5VLED6LED7LED0.43第第7 7章章 并行接口并行接口 code segment assume ( )start: mov dx , 21bh mov al , ( ) out dx , alinput: mov dx , ( ) in ( ) , dx mov dx , ( ) out dx , ( ) mov ah , 1 int 16h jz ( ) mov ah, ( ) int 21hcod

53、e ( ) end ( )44第第7 7章章 并行接口并行接口 三三 、方式、方式 2(双向传输方式)(双向传输方式) 只适合于端口只适合于端口A,在方式,在方式2下,下, 外设可以在外设可以在 8 位数据线上,位数据线上, 既往既往 CPU发送数据,发送数据, 又从又从CPU接收数接收数 据。据。 当当A口工作于方式口工作于方式2时,时, C端端 口自动提供相应的控制信号。口自动提供相应的控制信号。 1、方式、方式2工作时的控制信号工作时的控制信号11XXX 1/0 1/0 1/0D7D6D5D4D3D2D1A组工作于方式组工作于方式2的控制字的控制字D0PC3PC7PC6PC4PC5PC2

54、PC0PA7PA0INTE1INTRAOBFAACKASTBAIBFAINTE245第第7 7章章 并行接口并行接口 2、方式、方式2的使用场合的使用场合 方式方式2是一种双向工作方式,如果一个外设是一种双向工作方式,如果一个外设 既是输入设备,既是输入设备, 又是输出设备,又是输出设备, 并且输入和输并且输入和输 出是分时进行的,出是分时进行的, 那么将此设备与那么将此设备与8255A的的A口口 相连,并使相连,并使A口工作在方式口工作在方式2就非常方便。例如,就非常方便。例如, 磁盘就是一种这样的双向外设。磁盘就是一种这样的双向外设。 CPU 既能对磁既能对磁 盘读,盘读, 又能对磁盘写,

55、又能对磁盘写, 并且读和写在时间上是并且读和写在时间上是 不重合的。不重合的。 所以,所以, 可以将磁盘驱动器的数据线可以将磁盘驱动器的数据线 和和8255A的的A口相连,再使口相连,再使 PC3PC7 与磁盘控与磁盘控 制器的控制线和状态线相连,制器的控制线和状态线相连, 就可以进行双向就可以进行双向 的数据传输。的数据传输。46第第7 7章章 并行接口并行接口 例:例:使用两台使用两台CPU系统,传送系统,传送 100 个数据,个数据, 一台为主机一台为主机CPU,其相应的,其相应的 接口称为主侧,另一台为从机接口称为主侧,另一台为从机CPU,其相应的接口称为从侧。,其相应的接口称为从侧。

56、 主机主机 CPU以中断方式输入输出数据,主侧以中断方式输入输出数据,主侧8255A工作在方式工作在方式2,从机,从机CPU 采用查询式输入输出数据。从侧采用查询式输入输出数据。从侧8255A工作在方式工作在方式 0(两侧(两侧 8255A地地 址都是址都是04A0H04A6H)。分析:分析:(1) 输入数据时,由从侧输入数据时,由从侧8255A发给主侧发给主侧8255A的控制信号的控制信号 STB 有效时,打开主侧有效时,打开主侧8255A输入锁存器,当数据被锁存后,主输入锁存器,当数据被锁存后,主 侧侧8255A输出信号输出信号IBF才有效。才有效。 (2) 输出数据时,主机输出数据时,主

57、机CPU把数据输入给主侧把数据输入给主侧8255A输出锁存器,输出锁存器, 发出发出OBF信号,通知从侧信号,通知从侧8255A,从侧,从侧8255A发回发回ACK信号,信号, 用来启动三态输出缓冲器输出数据。用来启动三态输出缓冲器输出数据。47第第7 7章章 并行接口并行接口 D0D7RDWRINTA1A2A3A98086CPUPA0PA7RDWRINTAA1A0PC7PC6PC4PC5PA0PA7PB0PB7PC0PC4PC5PC1A1A0A1A2A3A98086CPUD0D7RDWRRDWRCSCS译码器译码器译码器译码器.8255A8255AOBFACKSTBIBF48第第7 7章章

58、并行接口并行接口 ;主程序;主程序 MOV BL,64H ;输入;输入100个数计数器个数计数器 MOV CL,64H ;输出;输出100个数计数器个数计数器 MOV SI,0100H ;输出数据所在内存单元首址送;输出数据所在内存单元首址送SI MOV DI,0200H ;输入数据存放内存单元首址送;输入数据存放内存单元首址送DI MOV DX,04A6H ;8255A控制口地址送控制口地址送DX MOV AL,0C0H ;工作方式;工作方式2控制字写入控制字写入A口口 MOV DX,AL MOV AL,09H ;PC41,允许输入中断,允许输入中断 MOV DX,AL MOV AL,0DH

59、 ;PC61,允许输出中断,允许输出中断 STI ;开中断;开中断AA5: CMP BL,00H JNZ AA549第第7 7章章 并行接口并行接口 CMP CL,00H JNZ AA5 CLI ;关中断;关中断 HALT ;中断服务程序;中断服务程序INT: MOVDX,04A4H ;8255状态口地址(状态口地址(C口)送口)送DX IN AL,DX ;采集;采集8255状态口的状态值状态口的状态值 MOV AH,AL ;保存状态;保存状态 AND AL,20H ;判断输入缓冲器是否满;判断输入缓冲器是否满(PC) JZ AA1 ;IBF0,无数据,转走,无数据,转走 MOV DX,04A

60、0H ;A口地址送口地址送DX IN AL,DX ;输入缓冲器满;输入缓冲器满IBF=1,取数据,取数据 MOV DI,AL ;保存数据;保存数据 50第第7 7章章 并行接口并行接口 INC DI ;修改地址指针;修改地址指针 DEC BL JMP AA2 AA1: MOV AL,AH AND AL,80H ;判断输出缓冲器是否满;判断输出缓冲器是否满 JZ AA2 ;OBF0,满,有数据,转向,满,有数据,转向AA2 MOV DX,04A0H ;A口地址送入口地址送入DX MOV AL,SI ;OBF=1输入缓冲器空,取数据输入缓冲器空,取数据 OUT DX,AL ;输出数据;输出数据 I

温馨提示

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

评论

0/150

提交评论