《第08章并行接口ppt课件.pptx》由会员分享,可在线阅读,更多相关《第08章并行接口ppt课件.pptx(96页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第8章 并行接口并行接口汇编语言与微机接口2 并行通信接口并行通信接口8255A LED数码管及其接口数码管及其接口第第8 8章章 并行接口并行接口38.1.1 接口的功能接口的功能8.1.2 接口与系统的连接接口与系统的连接8.1.3 并行通信并行通信8.1.4 并行接口并行接口4 8.1 8.1 接口技术概述接口技术概述一、接口的功能一、接口的功能寻址功能寻址功能控制数据的输入输出控制数据的输入输出数据转换的功能数据转换的功能联络功能联络功能中断管理功能中断管理功能复位功能复位功能可编程功能可编程功能错误检测功能错误检测功能5二、接口与系统的连接二、接口与系统的连接2 2、与外设相连部分的
2、接口结构、与外设相连部分的接口结构1 1、与系统总线相连部分的接口结构、与系统总线相连部分的接口结构 8.1 8.1 接口技术概述(续)接口技术概述(续)数据线数据线DB:通常连有:通常连有总线收发器。总线收发器。用来增加数据总用来增加数据总线的驱动能力。线的驱动能力。控制线控制线CB:连有:连有联络信号产生电路联络信号产生电路,能将,能将CPU的控的控制信号转换为接口能接收的信号。制信号转换为接口能接收的信号。地址线地址线AB: 连有连有地址译码器地址译码器。通常将高位地址进行译。通常将高位地址进行译码产生片选信号,而将低位地址进行片内端口的寻址。码产生片选信号,而将低位地址进行片内端口的寻
3、址。601010110 D0D1D2D3D4D5D6D7目目的的D0D1D2D3D4D5D6D7源源并行通信并行通信适于适于短距离短距离、高速高速通信通信将数据的各位将数据的各位同时同时在在多根并行传输线上多根并行传输线上进行传输。进行传输。数据的各位同时由源到达目的地数据的各位同时由源到达目的地 快快多根数据线多根数据线 不适用于远程数据传送不适用于远程数据传送 三、并行通信三、并行通信7n以计算机的字长为传输单位。通常是以计算机的字长为传输单位。通常是8 8位、位、1616位或位或3232位,一次传送一个字长的数据位,一次传送一个字长的数据parallel prll8n适合于外部设备与微机
4、之间进行适合于外部设备与微机之间进行近距离近距离、大量和快速大量和快速的信息交换。的信息交换。例如:微机与并行接口打印机、磁盘驱动器例如:微机与并行接口打印机、磁盘驱动器n微机系统中最基本的信息交换方法微机系统中最基本的信息交换方法例如:系统板上各部件之间,接口电路板例如:系统板上各部件之间,接口电路板上各部件之间上各部件之间9并行通信与串行通信并行通信与串行通信状态控制D0D1D2D3D4D5D6D7D0D1D2D3D4D5D6D7计算机外设或计算机并行通信并行通信 数据各数据各bit同时传送同时传送串行通信串行通信 数据按数据按bit,依次传送依次传送TXDTXDRXDRXD计算机外设或计
5、算机通信:通信:CPU与外部的信息交换与外部的信息交换10n含义:实现并行通信的接口称为并行通信接口含义:实现并行通信的接口称为并行通信接口。四、并行接口四、并行接口数据输入准备好数据输入准备好数据输入回答数据输入回答数据输入数据输入数据输出数据输出数据输出准备好数据输出准备好数据输出回答数据输出回答数据总线数据总线 读信号读信号 写信号写信号复位信号复位信号 准备好准备好中断请求中断请求地址地址地址地址译码译码CPU输输入入设设备备输输出出设设备备 控制寄存器控制寄存器 状态寄存器状态寄存器输入缓冲寄存器输入缓冲寄存器输出缓冲寄存器输出缓冲寄存器内部端口选择内部端口选择片选片选典型的并行接口
6、示意图典型的并行接口示意图11n基本的并口电路三态缓冲器和锁存器,如:三态缓冲器和锁存器,如:74LS244 、74LS245、74LS373和和74LS573等。等。特点:不可编程,一旦设计好,其功能不能改变,通用性和:不可编程,一旦设计好,其功能不能改变,通用性和灵活性差。灵活性差。n可编程并行接口可编程并行接口芯片:如可编程并行接口芯片:如 Intel 的的8255A。特点:可根据需要,通过软件编程来设定其工作方式和:可根据需要,通过软件编程来设定其工作方式和功能。功能。并口:用于在CPU和外设间传输数据。作用:缓冲缓冲与锁存锁存。 12 8.2 8.2 并行通信接口并行通信接口8255
7、A8255A8.2.1 8255A的内部结构的内部结构8.2.2 8255A的外部引脚的外部引脚8.2.3 8255A的控制字的控制字8.2.4 8255A的工作方式的工作方式8.2.5 端口端口C的功能和状态总结的功能和状态总结13 8255A的内部结构的内部结构1 1、 数据端口数据端口ABC2 2、 A A组控制和组控制和B B组控制组控制3 3、 读读/ /写控制逻辑电路写控制逻辑电路 4 4、 数据总线缓冲器数据总线缓冲器 1482558255内部结构图内部结构图D7D01582558255内部结构图内部结构图D7D016l端口端口A:内含一个:内含一个8位的输入、输出锁存器位的输入
8、、输出锁存器/缓冲器,缓冲器,用作输入或输出时,其数据均可得到锁存。用作输入或输出时,其数据均可得到锁存。l端口端口B:内含一个:内含一个8位的输出锁存器位的输出锁存器/缓冲器和一个缓冲器和一个8位位的输入缓冲器(的输入缓冲器(输入无锁存)。)。l端口端口C:内含一个:内含一个8位的输出锁存器位的输出锁存器/缓冲器和一个缓冲器和一个8位位的输入缓冲器(的输入缓冲器(输入无锁存)。)。可作为一个独立的可作为一个独立的8位端口,也可分成两个位端口,也可分成两个4位端口。位端口。可用作可用作数据输入/输出端口,也可作为控制,也可作为控制/状态端口(状态端口(联络信号),配合),配合A、B端口一起工作
9、。端口一起工作。具有具有按位置位/复位功能。功能。一、一、8255A8255A的内部结构的内部结构:17端口端口位数位数输入输入输出输出PA8锁存器锁存器/缓冲器缓冲器锁存器锁存器/缓冲器缓冲器PB8缓冲器缓冲器锁存器锁存器/缓冲器缓冲器PC8缓冲器缓冲器锁存器锁存器/缓冲器缓冲器三个端口结构比较三个端口结构比较18 8255A可通过软件编程来分别设定每个端口可通过软件编程来分别设定每个端口的输入的输入/输出及其工作方式。输出及其工作方式。PA口有口有3种工作方式:工作方式:Mode0、1、2PB口有口有2种工作方式:工作方式:Mode0、1PC口可设置为:口可设置为: Mode0、位控、位控
10、Parallel prll 三个端口三个端口工作方式工作方式比较比较1982558255内部结构图内部结构图数据数据总线总线缓冲器缓冲器内部控制线内部控制线内部数据线内部数据线D0D7A组组控制控制(A组)组)端口端口A(A组)组)端口端口C上部上部B组组控制控制(B组)组)端口端口B(B组)组)端口端口C下部下部读写读写控制控制逻辑逻辑PC0PC3PB0PB7PC4PC7PA0PA7RDWRA0A1CSRESET20: B组控制电路:控制组控制电路:控制PB和和PC的低的低4 4位位 的工作方式和读写操作的工作方式和读写操作 A组控制电路:控制组控制电路:控制PA和和PC的高的高4位位 的工
11、作方式和读写操作的工作方式和读写操作21: 通过控制线与通过控制线与CPUCPU相连,负责对相连,负责对82558255的数的数据传送过程进行控制。据传送过程进行控制。 (8 8位双向)位双向) 82558255内部的数据线通过它与内部的数据线通过它与CPUCPU的系统数的系统数据总线相连。据总线相连。22 8.2.2 8255A8255A的外部引脚的外部引脚1、 与外设相连的引脚与外设相连的引脚2、 与与CPU相连的引脚相连的引脚23 8.2.2 8255A的外部引脚的外部引脚24n与外设相连的引脚lPA7 PA0、PB7 PB0、 PC7 PC0:l三组数据线均可为输入或输出。三组数据线均
12、可为输入或输出。l直接与外设相连,输入输出由工作方式决定直接与外设相连,输入输出由工作方式决定。与外设相连的引脚与外设相连的引脚25n与CPU相连的引脚lD7 D0:双向数据线,用于:双向数据线,用于CPU与与8255A间传送数据、状态和控制信息间传送数据、状态和控制信息。lA1A0:用于选择端口地址。:用于选择端口地址。A1A0 = 00:选择端口:选择端口AA1A0 = 01:选择端口:选择端口BA1A0 = 10:选择端口:选择端口CA1A0 = 11:选择控制端口:选择控制端口相连的引脚相连的引脚26nCS、RD、WR:片选、读信号、写信号。均为低电:片选、读信号、写信号。均为低电平有
13、效。平有效。nRESET:复位信号,高有效。:复位信号,高有效。RESET=1时:时:清除所有内部寄存器的内容。清除所有内部寄存器的内容。将将A、B、C三个端口均设置为三个端口均设置为方式0,输入。三个端口对外。三个端口对外的信号线均为高阻态的信号线均为高阻态。27A1、 A0 地址线地址线 作为端口选择信号。作为端口选择信号。A1 A00 0 PA0 1 PB1 0 PC1 1 控制端口注意:将8255的地址线与CPU的地址总线连接时 8255的A1 地址总线的A2 8255的A0 地址总线的A1 而地址总线的A0总是置为0A1 、 A0 的连接28CSRDWRA1A0端口操作端口操作地址地
14、址01000数据总线数据总线 PA60H01001数据总线数据总线 PB61H01010数据总线数据总线 PC62H01011数据总线数据总线 CW63H00100数据总线数据总线 PA60H00101数据总线数据总线 PB61H00110数据总线数据总线 PC62H00111非法状态非法状态011数据总线为高阻态数据总线为高阻态 1数据总线为高阻态数据总线为高阻态8255A的端口分配及读写功能的端口分配及读写功能29 8255A的控制字的控制字1、 方式选择控制字方式选择控制字2、 端口端口C按位置按位置1 /置置0 控制字控制字30三、三、8255A8255A的控制字的控制字n控制字有两类
15、控制字有两类:1. 方式选择控制字方式选择控制字 决定了决定了82558255的三个端口的工作方式和输的三个端口的工作方式和输入入/ /输出方式。输出方式。2. 端口端口C按位置按位置1 /置置0 控制字控制字 可以对端口可以对端口C C的任何一位置的任何一位置1 1或清或清0 0。 控制字写入控制端口(控制字写入控制端口(A1A011)311D6D5D4D3D2D1D0 方式选择控制字方式选择控制字PA方式选择方式选择00 方式方式 001 方式方式 11方式方式 2特征位特征位端口端口A1:输入:输入0:输出:输出C口高口高4位位1:输入:输入0:输出:输出PB方式方式0 方式方式01 方
16、式方式1端口端口B1:输入:输入0:输出:输出C口低口低4位位1:输入:输入0:输出:输出A组B组32方式选择控制字:示例方式选择控制字:示例MODEI/OPA方式方式0输出输出PB方式方式0输入输入PC7-4输出输出PC3-0输入输入【例例8-1】设设8255并行并行 接口工作如右表,接口工作如右表, 试写出方式字命令。试写出方式字命令。MOVAL, 10000011BOUT 63H,AL ;控制端口33方式选择控制字:示例方式选择控制字:示例【例例8-2】要求:要求:nPA口:方式口:方式1,输入,输入nPB口:方式口:方式0,输出,输出nPC口口: 高高4位,输出。位,输出。C口低口低4
17、位,输入。位,输入。n方式控制字:方式控制字:10110001Bn初始化的程序段初始化的程序段(假设控制端口为假设控制端口为21F3H21F3H ): MOV DX ,21F3H MOV AL , 0B1H OUT DX , AL340D6D5D4D3D2D1D0特征位特征位不使用不使用1:置位:置位0:复位:复位端口端口C按位置按位置1 /置置0 控制字控制字注意:尽管该控制字针对注意:尽管该控制字针对C口进行操作,但必须写口进行操作,但必须写入入控制端口控制端口,而不是写入,而不是写入C口对应的地址。口对应的地址。35端口端口C按位置按位置1 /置置0 控制字控制字n端口端口C置置1/置置
18、0控制字要控制字要写入写入控制端口控制端口,而,而不是写入不是写入C端口端口n只对端口只对端口C的的输出输出进行控制输出进行控制输出1或或0,对输,对输入无作用入无作用n一次只能对端口一次只能对端口C的某一位(的某一位(PCi)进行控)进行控制输出制输出1或或0n该控制字不会破坏已经建立的工作方式,该控制字不会破坏已经建立的工作方式,而是对它们的支撑。而是对它们的支撑。36 【例例8-3】要求要求:在在8255的的PC7输出一个窄脉冲输出一个窄脉冲 程序段:程序段: MOV DX,0FFH;设控制寄存器地址为设控制寄存器地址为0FFH MOV AL,0000 1110B; PC7=0 OUT
19、DX,AL; 写入控制端口写入控制端口 MOV AL,0000 1111B; PC7=1 OUT DX,AL MOV AL,0000 1110B; PC7=0 OUT DX,AL端口端口C的按位置的按位置1/置置0控制字:示例控制字:示例37 8255A8255A的工作方式的工作方式1、 方式方式0:基本输入输出方式基本输入输出方式2、 方式方式1:选通输入输出方式选通输入输出方式3、 方式方式2:双向传送方式双向传送方式38方式方式0 0:基本输入输出方式:基本输入输出方式n方式方式0 0不使用固定的联络信号。不使用固定的联络信号。nA A口和口和B B口可定义为方式口可定义为方式0 0的输
20、入或输出口。的输入或输出口。nC C口分成两个部分(高四位和低四位)。口分成两个部分(高四位和低四位)。C C口的两个部分也可分别定义为输入或输出。口的两个部分也可分别定义为输入或输出。特点:特点:39方式方式0 0:基本输入输出方式:基本输入输出方式n方式方式0 0下的各端口输入或输出有下的各端口输入或输出有2 24 4=16=16种不种不同的组合。同的组合。n在方式在方式0 0,所有端口输出均有锁存。输入只,所有端口输出均有锁存。输入只有缓冲无锁存。有缓冲无锁存。特点:特点:方式方式0的使用场合:的使用场合:n适用于适用于无条件传送无条件传送和和查询方式查询方式的接的接口电路口电路40【8
21、-5】用用8个开关控制个开关控制8个发光二极管灯。个发光二极管灯。方式方式0应用实例应用实例1n初始化编程:设置方式控制字初始化编程:设置方式控制字n控制控制端口端口地址:地址:A1A011n工作过程中:通过数据端口对外设数据工作过程中:通过数据端口对外设数据进行读写进行读写n数据读写利用端口数据读写利用端口A、B和和C的的端口端口地址,地址,A1A0依次等于依次等于0000、0101、10418255与显示块、开关键的连接 +5V方式方式0 0应用实例应用实例1 1.OOO .+5VLEDPA0PA1PA2PA7PB0PB1PB7.DISPSW8255A系统总线系统总线.42接线图说明接线图
22、说明开关开关PA输入输入ONH1OFFL0LED灯灯 PB输出输出亮亮H1灭灭L043 设分配给设分配给8255的端口地址为的端口地址为320H326H则对应的端口为:则对应的端口为:端口地址说明端口地址说明端口端口PAPBPCCW端口地址端口地址320H322H324H326H44初始化及应用程序片段:初始化及应用程序片段: 设分配给设分配给8255的端口地址为的端口地址为320H326HMOV DX,326H;控制口地址;控制口地址326HMOV AL,10010000B;A口:方式口:方式0,输入,输入 B口:方式口:方式0,输出,输出;OUT DX,AL; 初始化工作方式初始化工作方式
23、MOV DX,320H ; DX=320HDX=320H,PAPA口口IN AL,DX ;读入开关状态;读入开关状态NOT AL ;各位取反各位取反,闭合时为闭合时为0,点亮点亮LED应为应为1MOV DX,322H ;DXDX322H322H,PBPB口口OUT DX,AL 45【例例8-6】 如图电路,若要求如图电路,若要求8个发光二极管个发光二极管L0 L7 依次点亮,请问:点亮,请问:8255A的的A端口应工作在什么方式下?端口应工作在什么方式下?给出初始化程序段。给出初始化程序段。编制程序实现题目要求。编制程序实现题目要求。46解题分析:A端口应工作在方式端口应工作在方式0,输出,输
24、出。初始化程序段:初始化程序段:题目实现。题目实现。MOV DX,183H ;控制端口MOV AL,80H ;方式字(80H 8FH)OUT DX,AL MOV DX,180HSTART : MOV AL, 0FEH L1: OUT DX, AL ROL AL, 1 ;逻辑左移 JNC START JMP L147方式方式1 1:选通输入输出方式:选通输入输出方式n方式方式1 1规定了固定用于应答联络的信号线。规定了固定用于应答联络的信号线。nA A口借用口借用C C口的一些信号线用作控制和状态口的一些信号线用作控制和状态线,形成线,形成A A组。组。nB B口借用口借用C C口的一些信号线用
25、作控制和状态口的一些信号线用作控制和状态线,形成线,形成B B组。组。特点:特点:48方式方式1 1:选通输入输出方式:选通输入输出方式n在方式在方式1 1下,下,A A口和口和B B口的输入输出均带有锁存。口的输入输出均带有锁存。 n未使用的未使用的C C口某些位还可单独定义为口某些位还可单独定义为I/OI/O口用。口用。特点:特点:方式方式1的使用场合:的使用场合:n适用于适用于查询方式查询方式和和中断方式中断方式的接口的接口电路电路49图图8-3 当数据输入时,当数据输入时,C口的引脚定义口的引脚定义A口B口 方式方式1输入联络信号输入联络信号50 方式方式1输入联络信号输入联络信号n
26、(Strobe)选通信号,低有效。外设选通信号,低有效。外设8255n当其有效时,将输入设备送来的数据锁存至当其有效时,将输入设备送来的数据锁存至8255A的输入锁存器。的输入锁存器。STBSTB 提示:参考查询传送51 方式方式1输入联络信号输入联络信号 当PA或PB工作在方式1输入时,都分别需要PC来提供这三个控制联络信号。并且对应C中固定的数位。52 端口端口A方式方式1输入时:输入时:数据选通信号数据选通信号表示外设已经准备好数据表示外设已经准备好数据输入缓冲器满信号输入缓冲器满信号表示表示A口已经接收数据口已经接收数据中断请求信号中断请求信号请求请求CPU接收数据接收数据PC4PC5
27、PC3PA7PA0INTEAIBFAINTRASTBA中断允许触发器中断允许触发器53 端口端口B方式方式1输入时:输入时:PC2PC1PC0PB7PB0INTEBIBFBINTRBSTBB数据选通信号数据选通信号表示外设已经准备好数据表示外设已经准备好数据输入缓冲器满信号输入缓冲器满信号表示表示A口已经接收数据口已经接收数据中断请求信号中断请求信号请求请求CPU接收数据接收数据中断允许触发器中断允许触发器 怎样控制方式怎样控制方式1 1输入时的输入时的INTEINTE中断允许触发器中断允许触发器的状态?的状态?54 方式方式1 1输入时输入时INTEINTE的控制的控制nINTEINTE没有
28、外部引出端,它是利用没有外部引出端,它是利用端口端口C C按位置按位置1 10 0控制字控制字来来使其置使其置1 1或清或清0 0的。的。nINTEINTEA A由由PC4PC4控制控制:当使:当使PC4PC4置置1 1时,控制时,控制INTEINTEA A1 1,口,口A A处于中断允许。处于中断允许。即即PC3PC3发出的发出的INTRINTRA A可以送给可以送给CPUCPU。nINTEINTEB B由由PC2PC2控制控制:当使:当使PC2PC2置置1 1时,控制时,控制INTEINTEB B1 1,口,口B B处于中断允许。处于中断允许。即即PC0PC0发出的发出的INTRINTRB
29、 B可以送给可以送给CPUCPU。n需要指出的是,在方式需要指出的是,在方式1 1输入时,输入时,PC4PC4和和PC2PC2的置的置1/01/0分别用于分别用于控制控制INTEINTEA A和和INTEINTEB B,这是,这是8255A8255A的内部操作,这一操作对的内部操作,这一操作对PC4PC4和和PC2PC2引脚用于引脚用于STBSTBA A 和和STBSTBB B 没有任何影响。没有任何影响。55 方式方式1 1输入时输入时INTEINTE的控制(续)的控制(续)INTEA-PC4INTEB-PC2PC口口按位置按位置1 /置置0实现。实现。56方式方式1 1输入时的控制字和控制
30、信号输入时的控制字和控制信号57 方式方式1输出联络信号输出联络信号图图8-5 当数据输出时,当数据输出时,C口的引脚信号定义口的引脚信号定义58 方式方式1输出联络信号输出联络信号O OB BF FACKACKn INTR (Interrupt Request)中断请求信号,高有效。中断请求信号,高有效。n当输出设备已接受数据后,当输出设备已接受数据后,8255输出此信号向输出此信号向CPU提出中断请求,提出中断请求,要求要求CPU输出数据。输出数据。59外设响应信号外设响应信号表示外设已经接收到数据表示外设已经接收到数据输出缓冲器满信号输出缓冲器满信号表示表示CPU已经输出了数据已经输出了
31、数据中断请求信号中断请求信号请求请求CPU再次输出数据再次输出数据PC6PC7PC3PA7PA0INTEAOBFAINTRAACKA中断允许触发器中断允许触发器 端口端口A方式方式1输出时:输出时:端口端口A A的的INTEINTEA A对应对应PCPC6 660PC2PC1PC0PB7PB0INTEBOBFBINTRBACKB外设响应信号外设响应信号表示外设已经接收到数据表示外设已经接收到数据输出缓冲器满信号输出缓冲器满信号表示表示CPU已经输出了数据已经输出了数据中断请求信号中断请求信号请求请求CPU再次输出数据再次输出数据中断允许触发器中断允许触发器端口端口B B的的INTEINTEB
32、B对应对应PCPC2 2 端口端口B方式方式1输出时:输出时:61【例例8-8】从端口从端口A输入输入100次开关状态并在端口次开关状态并在端口B上上显示。显示。选通输入选通输入62解题分析:端口端口A:方式1输入;端口;端口B;方式0输出。按下脉冲开关,产生按下脉冲开关,产生STB选通信号。端口选通信号。端口A将开将开关状态锁存,同时关状态锁存,同时PC3端产生中断请求信号,端产生中断请求信号,连连至至8259A的的IR0端端。CPU响应后,获得中断类型号,执行中断服务程响应后,获得中断类型号,执行中断服务程序。在中断服务程序中,读取序。在中断服务程序中,读取PA口的开关状态,口的开关状态,
33、送到端口送到端口B进行显示。进行显示。主程序判断中断次数,若达到主程序判断中断次数,若达到100次,则屏蔽中次,则屏蔽中断,整个程序结束。断,整个程序结束。63主程序设计:主程序设计:Start:CLI; 关中断MOV AL, 10110000B ; 设置8255A的工作方式工作方式控制字OUT 63H, ALMOV AL, 00001001H ; PC4置置1, 允许A端口中断 OUT 63H, ALMOV AL, 00011011B; 设置ICW1: 单片, 电平触发, ICW4OUT 20H, ALMOV AL, 08H; 设置ICW2: 中断类型号OUT 21H, AL MOV AL,
34、 00000001B; 设置ICW4: EOI, 普通全嵌套OUT 21H, AL64 PUSHDSMOVAX,0 ;中断向量表段地址 MOVDS,AX MOVAX,OFFSET IS8255 ;设置中断向量 MOV 0020H,AX MOVAX,SEG IS8255 MOV0022H,AXPOPDS IN AL,21H ;读8259A屏蔽字 AND AL,0FEH ;允许IR0中断 OUT 21H,AL MOV BX,100 ;设置计数初值 STI ROTT:CMPBX,0;监测是否达到100次 JNZROTT;未达到,则等待中断65 IN AL,21H;恢复屏蔽字,禁止IR0中断 OR A
35、L,01H OUT21H,AL MOV AX,4C00H;返回DOS系统 INT21H66 中断服务程序:中断服务程序:IS8255 PROC PUSHAX IN AL,60H;读取端口A的开关量 OUT 61H,AL;输出给端口B显示 DEC BX ;计数值减1 MOV AL,20H;发中断结束命令 OUT 20H,AL POPAX IRET;中断返回IS8255 ENDP67方式1的状态字68方式1的状态字提供状态提供状态标志位。中断方式时,。中断方式时,CPU可通过状态字可通过状态字中的中的 INTRA 和和 INTRB 位来确定到底是位来确定到底是A口还是口还是B口口产生了中断。产生了
36、中断。状态字通过状态字通过读C口获得。注意:从获得。注意:从C口读出的状态字口读出的状态字与与C口外部引脚的状态无关。口外部引脚的状态无关。69方式方式2 2:双向传送方式:双向传送方式n方式方式2 2是端口是端口A A独有的工作方式。独有的工作方式。n外设既能在外设既能在A A口的口的8 8条引线上发送数据,又条引线上发送数据,又能接收数据。能接收数据。n方式方式2 2将方式将方式1 1的选通输入和输出功能组合的选通输入和输出功能组合成一个双向数据端口,可以发送数据和接成一个双向数据端口,可以发送数据和接收数据。收数据。n需要利用端口需要利用端口C C的的5 5个信号线,其作用与方个信号线,
37、其作用与方式式1 1相同。相同。70方式方式2 2:双向传送方式:双向传送方式方式方式2的使用场合:的使用场合:n适用于双向传送数据,且输入和输出不适用于双向传送数据,且输入和输出不同时发生的外设,同时发生的外设,n适用于适用于查询查询和和中断方式中断方式的接口电路的接口电路71方式方式2的联络信号的联络信号72 方式方式2的联络信号的联络信号n 选通信号,低有效,外设选通信号,低有效,外设8255n当其有效时,将输入设备送来的数据锁存至当其有效时,将输入设备送来的数据锁存至端口端口A的输入锁存器。的输入锁存器。STBSTBn IBF 输入缓冲器满信号,高有效,输入缓冲器满信号,高有效,825
38、5外设外设n有效时表示数据已送入到输入锁存器中。防止外设送来新的数据。有效时表示数据已送入到输入锁存器中。防止外设送来新的数据。 n 输出缓冲器满信号,低有效,输出缓冲器满信号,低有效, 8255外设外设n当当其有效时,表示其有效时,表示CPUCPU已把数据输出给端口已把数据输出给端口A A,外设可以取走。,外设可以取走。 OBFOBFn 响应信号,低有效,外设响应信号,低有效,外设8255n当其有效低时,表示端口当其有效低时,表示端口A的数据已由外设取走。的数据已由外设取走。ACKACK73nINTRA中断请求信号,高有效,中断请求信号,高有效,8255CPU 有效时,表示有效时,表示825
39、5向向CPU发中断请求信号,要求完成一发中断请求信号,要求完成一次输入或输出。次输入或输出。 方式方式2的的A口输入和输出各自作为一个中断源,两个中断口输入和输出各自作为一个中断源,两个中断请求信号在请求信号在8255A内部相或,只产生一个中断请求通过该内部相或,只产生一个中断请求通过该信号发给信号发给CPU。74方式方式2的联络信号的联络信号请求输入的中断请求输入的中断和和请请求输出的中断求输出的中断通过通过或或门门输出输出INTRA信号信号INTE21,允许,允许A口在输入数据就绪时口在输入数据就绪时向向CPU发出中断,让发出中断,让CPU将数据取走;将数据取走; INTE20,则屏蔽了输
40、出中断请求。,则屏蔽了输出中断请求。 INTE2由由PC4设置。设置。INTE11,允许,允许A口在输出缓冲器变口在输出缓冲器变空(数据已被外设取走)时向空(数据已被外设取走)时向 CPU发发出中断,让出中断,让CPU输出一个新的数据;输出一个新的数据;INTE10,则屏蔽了输出中断请求。,则屏蔽了输出中断请求。 INTE1由由PC6设置设置。75方式2的状态字是方式是方式1下输入和输出状态位的组合。下输入和输出状态位的组合。76方式2的状态字提供状态提供状态标志位。中断方式时,中断方式时,CPU可通过状态字中的可通过状态字中的 INTRA 和和 INTRB 位来确定到底是位来确定到底是A口还
41、是口还是B口产生了中断。若口产生了中断。若是是A口,是由口,是由IBFA还是由还是由OBFA产生的。产生的。状态字通过状态字通过读C口获得。注意:从获得。注意:从C口读出的状态字口读出的状态字与与C口外部引脚的状态无关。口外部引脚的状态无关。77方式方式2 2的控制字和控制信号的控制字和控制信号方式方式2 2和其他方式的组合和其他方式的组合78 8.2.5 端口端口C C的功能和状态总结的功能和状态总结基本输入输出方式基本输入输出方式79端口端口C C的功能和状态总结的功能和状态总结1、从设置和控制的角度,从设置和控制的角度,C口被分为两个口被分为两个4位端口,位端口,这两个端口只能以方式这两
42、个端口只能以方式0工作,可以分别为输入工作,可以分别为输入或输出。或输出。2、当口当口A、B工作在方式工作在方式2、方式、方式1时,时,C的部分或的部分或全部引脚被规定来配合全部引脚被规定来配合A、B。其余引脚仍可设。其余引脚仍可设定为方式定为方式0的输入或输出。的输入或输出。803、将数据写入口将数据写入口C时,可以采用:时,可以采用:n通过通过C口地址向其写入口地址向其写入1字节的数据,数据被字节的数据,数据被写入写入C的输出锁存器,并从输出引脚输出,对的输出锁存器,并从输出引脚输出,对设置为输入的引脚无效。设置为输入的引脚无效。n利用利用“C口的置口的置1/0控制字控制字”,使,使C口的
43、某个口的某个输出引脚输出输出引脚输出1或或0。4、当口当口A、B工作在方式工作在方式2、方式、方式1时,口时,口C根据不根据不同的方式,产生或接收控制同的方式,产生或接收控制/状态信号。通过读状态信号。通过读取口取口C的内容,可以知道外设的状态,这为查询的内容,可以知道外设的状态,这为查询方式传送数据提供了条件。方式传送数据提供了条件。818255A工作于方式工作于方式0的例子的例子8255A工作于方式工作于方式1的例子的例子82【例例8-9】 并行打印机接口设计举例CPU向打印机发数前先查询其状态:向打印机发数前先查询其状态:Busy=1表表示忙,示忙,Busy=0表示闲,这时可向打印机发送
44、字表示闲,这时可向打印机发送字符,同时向打印机发符,同时向打印机发STB选通信号(负脉冲)。选通信号(负脉冲)。设设8255A的控制端口地址为的控制端口地址为303H。83 MOV DX,303H;控制端口控制端口,设置工作方式 MOV AL,10000001B ;A口输出, C高位输出, 低位输入 OUT DX,AL MOV AL,00001101B ;使 PC6 = 1 OUT DX,ALL: MOV DX,302H IN AL,DX;读PC口,查BUSY=0? AND AL,04H JNZ L;PC2=1,打印机忙,等待 MOV DX,300H MOV AL,Chx OUT DX,AL;
45、Chx中的字符送入A口 MOV DX,303H MOV AL,00001100B ;置PC6=0,使STB=0 OUT DX,AL INC AL;置PC6=1,使STB=1 OUT DX,AL 84单稳PC3PC7PC6INTRA【8-10】利用8255A实现打印机接口,打印BL中的数据。假设8255A的地址范围是60H63H。8586 MOV AL,10100000B ;PA口方式1输出 OUT 63H,AL MOV AL,00001101B ;使 PC6 = 1,INTEA置1 OUT 63H,AL PUSH DS MOV AH,25H MOV AL,08H;中断类型号 LEA DX, P
46、RINTER MOV BX, SEG PRINTER MOV DS, BX INT 21H ;设置中断向量 POP DS 87 MOV AL, 00011011B ; 设置ICW1: 单片, 电平触发, ICW4 OUT 20H, AL MOV AL, 08H ; 设置ICW2: 中断类型号 OUT 21H, AL MOV AL, 00000001B ; 设置ICW4: EOI, 普通全嵌套 OUT 21H, AL IN AL,21H ;读8259A屏蔽字 AND AL,11110111B ;允许IR3中断 OUT 21H,AL STI . . . 88 PRINTER PROC FAR PU
47、SH AX MOV AL, BL OUT 60H,AL POP AX STI IRET PRINTER ENDP 89 1 1、PCPC机;为系统提供综合接口,均采用方式机;为系统提供综合接口,均采用方式0 0工作。工作。 PAPA口用于读取键盘按键的扫描码口用于读取键盘按键的扫描码 PBPB口用于控制,包括扫描码的串并转换和扬声器的发声口用于控制,包括扫描码的串并转换和扬声器的发声 控制控制 PCPC口连接系统配置开关,以便口连接系统配置开关,以便CPUCPU读取系统配置情况读取系统配置情况 (跳线)(跳线)2 2、386386以后:将以后:将82558255集成到外围总线接口芯片中。集成到
48、外围总线接口芯片中。 微机中8255A的应用908.4.1 接口的功能接口的功能8.4.2 接口与系统的连接接口与系统的连接8.4.3 并行通信并行通信8.4.4 并行接口并行接口LED数码管及其接口数码管及其接口91本节复习题本节复习题本章作业本章作业921、下图是为外设设计的译码器,地址高、下图是为外设设计的译码器,地址高5位位A9A5参加译码,参加译码,8255接在译码器的输出端接在译码器的输出端Y3,请指出请指出8255的口地址范围是多少?的口地址范围是多少? G174LS138CBA+5VA9A8A7A6A5Y1Y2Y3Y4Y5825593本章作业本章作业n2、共阴极、共阴极LED显
49、示器通过显示器通过8255A将将LED显示器与显示器与8086CPU相连。若选片信号为相连。若选片信号为A9A2=11111100译码产生。问译码产生。问PA口、口、PB口、口、PC口和控制口的地址口和控制口的地址分别是多少?分别是多少?PA口和口和PB口分别工作在什么方式?口分别工作在什么方式? 3、主机通过、主机通过8255A与打印机相连,如图,说明与打印机相连,如图,说明PA和和PC口工作在什么方式?是输入还是输出?设口工作在什么方式?是输入还是输出?设8255A控制口地址为控制口地址为303H,写出初始化程序?简,写出初始化程序?简述当主机需要打印一个数据时打印机接收主机传送述当主机需
50、要打印一个数据时打印机接收主机传送数据的过程。数据的过程。94本章作业本章作业CPUPA0-78255打印机打印机DATA0-7STBPC7PC2BUSY地地地地n4、由8255的A口输出控制8只发光二极管,由PC口的PC2PC0接入3位DIP开关的设置,根据开关设置值,点亮相应数码管。n如:PC2 PC0 输入为110,则点亮第6支发光管(PA6控制)n拨码开关为ON时表示信息195本章作业本章作业96本章作业本章作业+5V+5VPA0PA1PA2PA3PA4PA5PA6PA7PC0PC1PC2D7D0A2A1RESETPIO(607FH)RESETA0A1825510K*4300*8D7D