版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第七章 输入输出接口芯片 主要内容主要内容 7.1 7.1 并行与串行通信并行与串行通信 7.2 7.2 可编程并行接口可编程并行接口8255A8255A 7.1并行与串行通信并行与串行通信 CPUCPU与外设之间的信息传送都是通过接口电路来进行与外设之间的信息传送都是通过接口电路来进行 的。的。 计算机与外部设备、计算机与计算机之间交换信息计算机与外部设备、计算机与计算机之间交换信息 称之为计算机通信称之为计算机通信, ,计算机通信可分为两大类:计算机通信可分为两大类: 并行通信:并行通信:8 8位或位或1616位或位或3232位数据同时传输,位数据同时传输, 速度快,速度快, 信息率高,成
2、本高信息率高,成本高 串行通信:串行通信:一位一位数据传送一位一位数据传送( (在一条线上顺序传送在一条线上顺序传送) ), 成本低成本低 实现并行通信的接口就是并行接口。实现并行通信的接口就是并行接口。 并行接口的特点并行接口的特点 并行接口最基本的特点是在多根据数据线上以数据并行接口最基本的特点是在多根据数据线上以数据 字节(字)为单位与字节(字)为单位与I/OI/O设备或被控对象传送信息。设备或被控对象传送信息。 如如: : 打印机接口,打印机接口,A/DA/D、D/AD/A转换器接口,转换器接口,IEEE-488IEEE-488 接口,开关量接口,控制设备接口等。接口,开关量接口,控制
3、设备接口等。 在并行接口中,除了少数据场合之外,一般都要求在并行接口中,除了少数据场合之外,一般都要求 在接口与外设之间设置并行数据线的同时,在接口与外设之间设置并行数据线的同时,至少还至少还 要设置两根握手(联线)信号线要设置两根握手(联线)信号线,以便进行互锁异以便进行互锁异 步握手方式(即查询方式)的通信步握手方式(即查询方式)的通信。 在并行接口中,在并行接口中,8 8位或位或1616位是一起行动的,因此,位是一起行动的,因此, 当采用并行接口与外设交换数据时,即使是只用当采用并行接口与外设交换数据时,即使是只用 到其中的一位,也是一次输入到其中的一位,也是一次输入/ /输出输出8 8
4、位或位或1616位。位。 并行传送信息,不要求固定的格式,这与串行传并行传送信息,不要求固定的格式,这与串行传 送的数据格式的要求不同。送的数据格式的要求不同。 CPU 控制寄存器 输入缓冲寄存器 输出缓冲寄存器 状态寄存器 地址 译码 输 入 设 备 输 出 设 备 数据输入准备好 数据输入回答 数据输入 数据输出 数据输出准备好 数据输出回答 片选 A0 A1 数据总线 读出信号 写入信号 复位 输入准备好 中断请求 并行接口连接外设的示意图并行接口连接外设的示意图 对于各种型号的对于各种型号的CPUCPU都有与其配套的并行接口都有与其配套的并行接口 芯片。如芯片。如IntelIntel公
5、司公司8255A8255A(PPIPPI),),ZilogZilog公司公司Z-Z- 80PIO80PIO,MC6820MC6820(PIOPIO)等,它们的功能虽有差异,)等,它们的功能虽有差异, 但工作原理基本相同。但工作原理基本相同。 用于并行通信,可以输入,可以输出,可以控用于并行通信,可以输入,可以输出,可以控 制其工作方式,即可以编程(对其进行设置,可以制其工作方式,即可以编程(对其进行设置,可以 改变),使用方便改变),使用方便。 7.2 7.2 可编程并行接口可编程并行接口8255A8255A 数据数据 总线总线 缓冲器缓冲器 内部控制线内部控制线 内部数据线内部数据线 D0D
6、7 A组组 控制控制 A组组 端口端口A A组组 端口端口C 上部上部 B组组 控制控制 B组组 端口端口B B组组 端口端口C 下部下部 读写读写 控制控制 逻辑逻辑 PC0PC3 PB0PB7 PC4PC7 PA0PA7 RD WR A0 A1 CS RESET 1 1三个数据端口三个数据端口A A,B B,C C 这三个端口均可看作是这三个端口均可看作是I/OI/O口,但它们口,但它们 的结构和功能也稍有不同。的结构和功能也稍有不同。 A A口:是一个独立的口:是一个独立的8 8位位I/OI/O口,它的内部有口,它的内部有 对数据输入对数据输入/ /输出的锁存功能。输出的锁存功能。 B
7、B口:也是一个独立的口:也是一个独立的8 8位位I/OI/O口,仅对输出口,仅对输出 数据的锁存功能。数据的锁存功能。 C C口:可以看作是一个独立的口:可以看作是一个独立的8 8位位I/OI/O口;也口;也 可以看作是两个独立的可以看作是两个独立的4 4位位I/OI/O口。也是仅口。也是仅 对输出数据进行锁存。对输出数据进行锁存。 C C口的作用与口的作用与8255A8255A的工作方式有关,它除了的工作方式有关,它除了 作数据口以外,还有其他用途,故作数据口以外,还有其他用途,故C C口的使用比较口的使用比较 特殊,单独介绍如下:特殊,单独介绍如下: a.a.作数据口。作数据口。 b.b.
8、作状态口。作状态口。 c.c.作专用(固定)联络(握手)信号线。作专用(固定)联络(握手)信号线。 d.d.作按位控制用。作按位控制用。 2 2A A组和组和B B组的控制电路组的控制电路 这是两组根据这是两组根据CPUCPU命令控制命令控制8255A8255A工作方式工作方式 的电路,这些控制电路内部设有控制寄存的电路,这些控制电路内部设有控制寄存 器,可以根据器,可以根据CPUCPU送来的编程命令来控制送来的编程命令来控制 8255A8255A的工作方式,也可以根据编程命令来的工作方式,也可以根据编程命令来 对对C C口的指定位进行置口的指定位进行置/ /复位的操作。复位的操作。 A A组
9、控制电路用来控制组控制电路用来控制A A口及口及C C口的高口的高4 4位;位; B B组控制电路用来控制组控制电路用来控制B B口及口及C C口的低口的低4 4位。位。 3 3读读/ /写控制逻辑写控制逻辑 读读/ /写控制逻辑电路负责管理写控制逻辑电路负责管理8255A8255A的数据的数据 传输过程。它接收片选信号及系统读信号、传输过程。它接收片选信号及系统读信号、 写信号、复位信号写信号、复位信号RESETRESET,还有来自系统地,还有来自系统地 址总线的口地址选择信号址总线的口地址选择信号A0A0和和A1A1。 4 4数据总线缓冲器数据总线缓冲器 8 8位的双向的三态缓冲器。作为位
10、的双向的三态缓冲器。作为8255A8255A与系与系 统总线连接的界面,输入统总线连接的界面,输入/ /输出的数据,输出的数据, CPUCPU的编程命令以及外设通过的编程命令以及外设通过8255A8255A传送的传送的 工作状态等信息,都是通过它来传输的。工作状态等信息,都是通过它来传输的。 二、8255A8255A的芯片引脚信号的芯片引脚信号 引脚信号可以分为两组:一组是引脚信号可以分为两组:一组是面向面向CPUCPU的的 信号,一组是信号,一组是面向外设面向外设的信号。的信号。 1 1面向外设的引脚信号及功能面向外设的引脚信号及功能 PA0-PA7 PA0-PA7:A A组数据信号,用来连
11、接外设;组数据信号,用来连接外设; PB0-PB7 PB0-PB7:B B组数据信号,用来连接外设;组数据信号,用来连接外设; PC0-PC7 PC0-PC7:C C组数据信号,用来连接外设或者组数据信号,用来连接外设或者 作为控制信号。作为控制信号。 2 2面向面向CPUCPU的引脚信号及功能的引脚信号及功能 D0-D7D0-D7:8 8位,双向,三态数据线,用来与系统数位,双向,三态数据线,用来与系统数 据总线相连。为了连线方便一般总是与低据总线相连。为了连线方便一般总是与低8 8位相连,位相连, 对应的偶地址,这是就要考虑地址线的连接;对应的偶地址,这是就要考虑地址线的连接; RESET
12、RESET:复位信号(对:复位信号(对8255A8255A的复位),高电平有的复位),高电平有 效,输入,用来清除效,输入,用来清除8255A8255A的内部寄存器,并置的内部寄存器,并置A A 口,口,B B口,口,C C口均为输入方式;口均为输入方式; CSCS:片选,输入,用来决定芯片是否被选中;:片选,输入,用来决定芯片是否被选中; RDRD:读信号,输入,控制:读信号,输入,控制8255A8255A将数据或状态信息将数据或状态信息 送给送给CPUCPU; WRWR:写信号,输入,控制:写信号,输入,控制CPUCPU将数据或控制信息送将数据或控制信息送 到到8255A8255A; A1
13、A1,A0A0:内部口地址的选择,输入。这两个引脚:内部口地址的选择,输入。这两个引脚 上的信号组合决定对上的信号组合决定对8255A8255A内部的哪一个口或寄存内部的哪一个口或寄存 器进行操作。器进行操作。8255A8255A内部共有内部共有4 4个端口:个端口:A A口,口,B B口,口, C C口和控制口,两个引脚的信号组合选中端口见下口和控制口,两个引脚的信号组合选中端口见下 表。表。 前面提到前面提到8 8位数据线接位数据线接CPUCPU的低的低8 8位,因此,位,因此,CPUCPU, A0A00 0,A1A1接接8255A8255A的的A0A0,A2A2接接8255A8255A的
14、的A1A1。与片。与片 选结合得到端口地址选结合得到端口地址。(偶地址)(偶地址) CSCS,RDRD,WRWR,A1A1,A0A0这几个信号的组合决定了这几个信号的组合决定了 8255A8255A的所有具体操作,的所有具体操作, 见下表:见下表: 注注:对控制口的写有两种情况,根据:对控制口的写有两种情况,根据D7D7判断。判断。 1 1为控制字,为控制字, 0 0为为C C口的置口的置0 0置置1 1。 CS A1A0RDWR读操作读操作内容内容 00001PA口口数据总线(数据总线( CPU)数据数据 00101PB口口数据总线(数据总线( CPU)数据数据 01001PC口口数据总线(
15、数据总线( CPU)数据数据 写操作写操作 00010PA口口 数据总线(数据总线( CPU)数据数据 00110PB口口数据总线(数据总线( CPU)数据数据 01010PC口口数据总线(数据总线( CPU)数据数据 01110控制寄存器控制寄存器数据总线数据总线控制字控制字 无操作情况无操作情况 1总线悬浮(高阻态)总线悬浮(高阻态) 011总线悬浮(高阻态)总线悬浮(高阻态) 01101控制口不能读(程序错误)控制口不能读(程序错误) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 40 39 38 37 36 35 34 33 32
16、 31 30 29 28 27 26 25 24 23 22 21 PA4 PA5 PA6 PA7 PB6 PB5 PB4 PB3 PB7 D1 D2 D3 D4 D0 D5 D6 D7 VCC RESET WR RD CS PA3 PA2 PA1 PA0 GND A1 A0 PC7 PC6 PC4 PC0 PC1 PC2 PC5 PB0 PB1 PB2 PC3 8255A 三三 8255A8255A的控制字和编程的控制字和编程 对对8255A8255A的控制字涉及到的控制字涉及到两个内容两个内容: 方式选择控制字,设置各端口的方式选择控制字,设置各端口的工作方工作方 式式等信息,等信息, 端
17、口端口C C置置1 1、置、置0 0控制字,使控制字,使C C口的指定位口的指定位 置位置位/ /复位复位的功能。的功能。 注:均注:均写入控制端口写入控制端口 方式选择控制方式选择控制 字的标志位字的标志位 说明说明: 1 1、8255A8255A有三种基本工作方式有三种基本工作方式 方式方式0 0:基本输入输出方式基本输入输出方式 适用于无条件传送和查询方式的接口电路适用于无条件传送和查询方式的接口电路 方式方式1 1:选通输入输出方式选通输入输出方式 适用于查询和中断方式的接口电路适用于查询和中断方式的接口电路 方式方式2 2:双向选通传送方式双向选通传送方式 适用于与双向传送数据的外设
18、适用于与双向传送数据的外设 适用于查询和中断方式的接口电路适用于查询和中断方式的接口电路 2 2、D7D7标识位,标识位,1 1为方式选择控制字的标识,由为方式选择控制字的标识,由 数据线往控制口写入控制字。因此方式选择控制数据线往控制口写入控制字。因此方式选择控制 字的第字的第7 7位总是位总是1 1。0 C0 C口的置口的置0 0置置1 1命令,数据线命令,数据线 上的数据作为上的数据作为c c口的置位命令,写控制口。口的置位命令,写控制口。 3 3、A A口与口与C C口的高口的高4 4位,归位,归A A组;组; B B口与口与C C口的低口的低4 4位,归位,归B B组;组; 但同一组
19、的不但同一组的不 同端口可以分别工作在输入或输出方式。同端口可以分别工作在输入或输出方式。 4 4、只有、只有A A口可以工作在方式口可以工作在方式2 2,C C口一般用来配合口一般用来配合A A B B的工作。的工作。 例例1 1: 要求要求: A A端口:方式端口:方式1 1输入输入 C C端口上半部:输出,端口上半部:输出,C C口下半部:输入口下半部:输入 B B端口:方式端口:方式0 0输出输出 方式控制字:方式控制字:10110001B10110001B或或B1HB1H 若将此命令代码写到若将此命令代码写到8255A8255A的命令寄存器,的命令寄存器, 即实现了对即实现了对825
20、5A8255A工作方式及端口功能的指定,工作方式及端口功能的指定, 或者说完成了对或者说完成了对8255A8255A的初始化。的初始化。 假设假设8255A8255A控制口地址控制口地址0FFFEH0FFFEH。 初始化的程序段为初始化的程序段为: MOV DXMOV DX,0FFFEH 0FFFEH ;控制口地址;控制口地址 MOV ALMOV AL,0B1H 0B1H ;初始化命令;初始化命令 OUT DXOUT DX,AL AL ;送到控制口;送到控制口 例例2 2 某系统要求使用某系统要求使用8255A8255A的的A A口方式口方式0 0输入,输入, B B口方式口方式0 0输出,输
21、出,C C口高口高4 4位方式位方式0 0输出,输出,C C口口 低低4 4位方式位方式0 0输入。输入。 控制字为:控制字为: 10010001B 10010001B 即即91H91H 初始化程序为:初始化程序为: MOV ALMOV AL, 91H91H OUT CTRL_PORT OUT CTRL_PORT,ALAL 例例3 3 某系统要求使用某系统要求使用8255A8255A的的A A口方式口方式0 0输输 出,出,B B口方式口方式0 0输入,输入,C C口输入。口输入。 控制字为:控制字为: 10001011B 10001011B 或或 8BH 8BH 初始化程序初始化程序 MOV
22、 ALMOV AL,8BH8BH MOV DX MOV DX,CTRL_PORTCTRL_PORT OUT DX OUT DX,ALAL 例例4 4 (1 1)芯片地址)芯片地址 J1J1的控制口地址的控制口地址 00E6H00E6H J2J2的控制口地址的控制口地址 00EEH00EEH (2 2)芯片的初始化编程)芯片的初始化编程 J1 J1 端口端口A A:方式:方式0 0,输出,输出 端口端口B B:方式:方式0 0,输入,输入 端口端口C C高高4 4位位 输出,低输出,低4 4位输入位输入 10000011B(83H)10000011B(83H) J2 J2 端口端口A A:方式:
23、方式0 0,输入,输入 端口端口B B:方式:方式1 1,输出,输出 端口端口C C高高4 4位位 输出,低输出,低4 4位任意,位任意,0 0 10010100B10010100B(94H94H) 接芯片分组译 码输出 C B A G G A5 A4 A3 A8 Y4 Y5 CS RD WR A1 A0 D7 D0 RESET PA7.-PA0 PB7.-PB0 PC7.-PC0 CS RD WR A1 A0 D7 D0 RESET PA7.-PA0 PB7.-PB0 PC7.-PC0 IOR IOW A2 A1 MOV AL, 83H; MOV DX, 00E6H OUT DX, AL M
24、OV AL, 94H MOV DX, 00EEH OUT DX, AL 位控制字写入控制端口位控制字写入控制端口 特别便于置位复位内部中断允许触发器特别便于置位复位内部中断允许触发器INTE C口置口置1置置0标标 志位志位 例例2 2:若要把:若要把C C口的口的PCPC2 2引脚置成高电平输出,则引脚置成高电平输出,则 命令字应该为命令字应该为00000101B00000101B或或05H05H。 将该命令的代码写入将该命令的代码写入8255A8255A的控制寄存器,的控制寄存器, 就会使得从就会使得从PCPC口的口的PCPC2 2引脚输出高电平,其程引脚输出高电平,其程 序段为:序段为:
25、 MOV DXMOV DX,0FFFEH 0FFFEH ;8255A8255A命令口地址命令口地址 MOV ALMOV AL,05H 05H ;使;使PCPC2 2=1=1的命令字的命令字 OUT DXOUT DX,AL AL ;送到命令口;送到命令口 如果要使引脚如果要使引脚PC2PC2输出低电位,则程序段为:输出低电位,则程序段为: MOV DXMOV DX,0FFFEH 0FFFEH ;8255A8255A命令口地址命令口地址 MOV ALMOV AL,04H 04H ;使;使PCPC2 2=0=0的命令字的命令字 OUT DXOUT DX,AL AL ;送到命令口;送到命令口 利用利用
26、C C口的按位控制特性还可以产生、口的按位控制特性还可以产生、 负脉冲或方波输出,对外设进行控制。负脉冲或方波输出,对外设进行控制。 例例3 3:利用:利用8255A8255A的的PCPC7 7产生负脉冲,作打印产生负脉冲,作打印 机接口电路的数据选通信号,写出命令字机接口电路的数据选通信号,写出命令字 及其程序段:及其程序段: MOV DXMOV DX,0FFFEH 0FFFEH ;8255A8255A命令口命令口 MOV ALMOV AL,0000111000001110B B ;置;置PCPC7 7=0=0 OUT DX OUT DX,ALAL NOP NOP ;维持低电平;维持低电平
27、NOP NOP MOV AL MOV AL,0000111100001111B B ;置;置PCPC7 7=1=1 OUT DX OUT DX,ALAL C C端口置端口置1 1置置0 0控制字说明控制字说明 1 1 必须写入控制口必须写入控制口 2 D02 D0位决定是置位决定是置1 1还是置还是置0 0 3 D33 D3,D2D2,D1D1决定哪一位决定哪一位 4 D64 D6,D5D5,D4D4无关无关 5 D75 D7标志位必须为标志位必须为0 0 方式命令是对方式命令是对8255A8255A的的3 3个端口的工作个端口的工作 方式及功能进行指定,即进行初始化,方式及功能进行指定,即进
28、行初始化, 初始工作要在使用初始工作要在使用8255A8255A之前做。之前做。 按位置位按位置位/ /复位命令只是对复位命令只是对PCPC口的输出口的输出 进行控制,使用它时不破坏已经建立的进行控制,使用它时不破坏已经建立的3 3 种工作方式,而是对它们实现动态控制种工作方式,而是对它们实现动态控制 的一种支持。它可放在初始化程序以后的一种支持。它可放在初始化程序以后 的任何地方。的任何地方。 3.3.关于两个命令的讨论关于两个命令的讨论 两个命令的最高位(两个命令的最高位(D7D7)都分配作了特征)都分配作了特征 位,之所以要设置特征位,是为了识别两位,之所以要设置特征位,是为了识别两 个
29、不同的命令。个不同的命令。 按位置位按位置位/ /复位的命令代码只能写入命令复位的命令代码只能写入命令 口。口。 初始化编程初始化编程 初始化编程后:初始化编程后: 当数据端口作为输入接口时,执行输入当数据端口作为输入接口时,执行输入 ININ指令将从输入设备得到外设数据指令将从输入设备得到外设数据 当数据端口作为输出接口时,执行输出当数据端口作为输出接口时,执行输出 OUTOUT指令将把指令将把CPUCPU的数据送给输出设备的数据送给输出设备 8255A8255A具有锁存输出数据的能力具有锁存输出数据的能力 对输出方式的端口同样可以输入对输出方式的端口同样可以输入 不是读取外设数据不是读取外
30、设数据 读取的是上次读取的是上次CPUCPU给外设的数据给外设的数据 利用利用8255A8255A的输出锁存能力,可实现按位输的输出锁存能力,可实现按位输 出控制出控制 对输出端口对输出端口B B的的PBPB7 7位置位的程序段:位置位的程序段: mov dx,0fffah mov dx,0fffah ;B B端口假设为端口假设为FFFAHFFFAH in al,dxin al,dx ;读出;读出B B端口原输出内容端口原输出内容 or al,80hor al,80h ;使;使PBPB7 71 1 out dx,alout dx,al ;输出新的内容;输出新的内容 C C端口被分成端口被分成两
31、个两个 4 4位端口位端口,两个端,两个端 口只能以口只能以方式方式0 0工工 作,可分别选择作,可分别选择 输入或输出输入或输出 n在控制上,在控制上,C C端口上半部和端口上半部和A A端口编为端口编为A A 组,组,C C端口下半部和端口下半部和B B端口编为端口编为B B组组 当当A A和和B B端口工作端口工作 在方式在方式1 1或方式或方式2 2 时,时,C C端口的部分端口的部分 或全部引脚将被或全部引脚将被 征用征用 n其余引脚仍可设定工作在方式其余引脚仍可设定工作在方式0 0 对端口对端口C C的数据输出有的数据输出有两种两种办法办法 通过端口通过端口C C的的I/OI/O地
32、址地址:向:向C C端口直接写入端口直接写入 字节数据。这一数据被写进字节数据。这一数据被写进C C端口的输出锁端口的输出锁 存器,并从输出引脚输出,但对设置为输存器,并从输出引脚输出,但对设置为输 入的引脚无效入的引脚无效 通过控制端口:通过控制端口:向向C C端口写入位控字,使端口写入位控字,使C C 端口的某个引脚输出端口的某个引脚输出1 1或或0 0,或置位复位内,或置位复位内 部的中断允许触发器部的中断允许触发器 例:编程使例:编程使PA7PA7位输出高位输出高/ /低电平低电平 使使PA7PA7输出高电平输出高电平. . MOV DXMOV DX,200H 200H ;PAPA数据
33、口地址数据口地址 IN ALIN AL,DX DX ;读入;读入A A口原输出内容口原输出内容 MOV AHMOV AH,AL AL ;保存原输出内容;保存原输出内容 OR ALOR AL,80H 80H ;使;使PA7=1PA7=1 OUT DX OUT DX,AL AL ;输出;输出PA7PA7 MOV AL MOV AL,AH AH ;恢复原输出内容;恢复原输出内容 OUT DXOUT DX,ALAL 使使PAPA7 7输出低电平输出低电平 MOV DXMOV DX,200H 200H ; A A口地址口地址 IN ALIN AL,DX DX ;读入端口原输出值;读入端口原输出值 MOV
34、 AHMOV AH,AL AL ;保存原输出值;保存原输出值 AND ALAND AL,7FH 7FH ;使;使PAPA7 7=0=0 OUT DXOUT DX,AL AL ;输出;输出PAPA7 7 MOV ALMOV AL,AH AH ;恢复原输出内容;恢复原输出内容 OUT DXOUT DX,AL AL 四、四、8255A8255A的工作方式的工作方式 方式方式0:基本输入输出方式基本输入输出方式 方式方式1:选通输入输出方式选通输入输出方式 方式方式2:双向选通传送方式双向选通传送方式 8255A8255A的工作方式与端口有关,的工作方式与端口有关,PAPA口有三口有三 种方式(种方式
35、(0 0方式、方式、1 1方式、方式、2 2方式),方式),PBPB口口 和和PCPC口只有两种方式(口只有两种方式(0 0方式、方式、1 1方式方式) )。 1 1、方式、方式0 0 方式方式0 0是一种基本输入是一种基本输入/ /输出工作方式。通常不用输出工作方式。通常不用 联络信号,或不使用固定的联络信号。联络信号,或不使用固定的联络信号。 在在0 0方式下,彼此独立的两个方式下,彼此独立的两个8 8位和两个位和两个4 4位并行口,位并行口, 都能被指定作为输入或者输出用,共有都能被指定作为输入或者输出用,共有1616种不同种不同 的使用状态。的使用状态。 在在0 0方式下不设置专用联络
36、信号线,需要联络时,方式下不设置专用联络信号线,需要联络时, 可由用户任意指定可由用户任意指定C C口中的哪口中的哪 根线完成某种联络根线完成某种联络 功能,这与后面要讨论的在功能,这与后面要讨论的在1 1方式、方式、2 2方式下设置方式下设置 固定的专用联络信号线不同。固定的专用联络信号线不同。 是单向是单向I/OI/O,一次初始化只能指定端口(,一次初始化只能指定端口(PAPA、PBPB和和 PCPC)作输入或输出,不能指定端口同时既作输入)作输入或输出,不能指定端口同时既作输入 又作输出。又作输出。 适用于无条件传送和查询方式的接口电路适用于无条件传送和查询方式的接口电路 data da
37、ta输入端口输入端口 D0D7 RD CS,A1,A0 请体会这里请体会这里8255A8255A的数据缓冲作用的数据缓冲作用 WR data data输出端口输出端口 D0D7 CS,A1,A0 8255A8255A对对CPUCPU通过它输出给外设的数据进行锁存通过它输出给外设的数据进行锁存 2 2、方式、方式1 1 1 1方式是一种选通输入方式是一种选通输入/ /输出方式或叫应答方式,输出方式或叫应答方式, 因此,需设置专用的联络信号线或应答信号线,因此,需设置专用的联络信号线或应答信号线, 以便对以便对I/OI/O设备和设备和CPUCPU两侧两侧 进行联络。这种方式通进行联络。这种方式通
38、常用于查询(条件)传送或中断传送。常用于查询(条件)传送或中断传送。 PAPA和和PBPB为数据口,而为数据口,而PCPC口的大部分引脚分配作口的大部分引脚分配作 专用(固定)的联络信号的专用(固定)的联络信号的C C口引脚,用户不能再口引脚,用户不能再 指定作其他作用。指定作其他作用。 各联络信号线之间有固定的时序关系,传送数据各联络信号线之间有固定的时序关系,传送数据 时,要严格按照时序进行。时,要严格按照时序进行。 输入输入/ /输出操作过程中,产生固定的状态字,这些输出操作过程中,产生固定的状态字,这些 状态信息可作为查询或中断请求之用。状态字从状态信息可作为查询或中断请求之用。状态字
39、从 PCPC口读取。口读取。 单向传送。一次初始化只能设置在一个方向上传单向传送。一次初始化只能设置在一个方向上传 送,不能同时作两个方向的传送送,不能同时作两个方向的传送 适用于查询和中断方式的接口电路适用于查询和中断方式的接口电路 数据选通信号 表示外设已经准备好数据 输入缓冲器满信号 表示A口已经接收数据 中断请求信号 请求CPU接收数据 PC4 PC5 PC3 PA7PA0 INTEA IBFA INTRA STBA 中断允许触发器 PC2 PC1 PC0 PB7PB0 INTEB IBFB INTRB STBB 数据选通信号 表示外设已经准备好数据 输入缓冲器满信号 表示A口已经接收
40、数据 中断请求信号 请求CPU接收数据 中断允许触发器 方式方式1 1需借用端口需借用端口C C用做联络信号用做联络信号 同时还具有中断请求和屏蔽功能同时还具有中断请求和屏蔽功能 方式方式1 1输入联络信号输入联络信号 STBSTB* *选通信号,低电平有效选通信号,低电平有效 由外设提供的输入信号,当其有效时,将输由外设提供的输入信号,当其有效时,将输 入设备送来的数据锁存至入设备送来的数据锁存至8255A8255A的输入锁存器的输入锁存器 IBFIBF输入缓冲器满信号,高电平有效输入缓冲器满信号,高电平有效 8255A8255A输出的联络信号。当其有效时,表示数输出的联络信号。当其有效时,
41、表示数 据已锁存在输入锁存器据已锁存在输入锁存器, ,读信号的上升沿使其读信号的上升沿使其 复位。复位。 INTRINTR中断请求信号,高电平有效中断请求信号,高电平有效 8255A8255A输出的信号,可用于向输出的信号,可用于向CPUCPU提出中断请提出中断请 求,要求求,要求CPUCPU读取外设数据。读的下降沿使其读取外设数据。读的下降沿使其 复位。复位。 data INTR IBF data 输入端口输入端口 D0D7 STB RD STBSTB* *和和IBFIBF是外设和是外设和8255A8255A间的一对应答联络信号,间的一对应答联络信号, 为的是可靠地输入数据为的是可靠地输入数
42、据 方式方式1 1中断控制中断控制 8255A8255A的中断由中断允许触发器的中断由中断允许触发器INTEINTE控制控制 置位允许中断,复位禁止中断置位允许中断,复位禁止中断 对对INTEINTE的操作通过写入端口的操作通过写入端口C C的对应位实现,的对应位实现, INTEINTE触发器对应端口触发器对应端口C C的位是作应答联络信号的的位是作应答联络信号的 输入信号的哪一位,只要对那一位置位输入信号的哪一位,只要对那一位置位/ /复位就复位就 可以控制可以控制INTEINTE触发器触发器 选通输入方式下选通输入方式下 端口端口A A的的INTEAINTEA对应对应PC4PC4 端口端口
43、B B的的INTEBINTEB对应对应PC2PC2 外设响应信号 表示外设已经接收到数据 输出缓冲器满信号 表示CPU已经输出了数据 中断请求信号 请求CPU再次输出数据 PC6 PC7 PC3 PA7PA0 INTEA OBFA INTRA ACKA 中断允许触发器 PC2 PC1 PC0 PB7PB0 INTEB OBFB INTRB ACKB 外设响应信号 表示外设已经接收到数据 输出缓冲器满信号 表示CPU已经输出了数据 中断请求信号 请求CPU再次输出数据 中断允许触发器 方式方式1 1输出引脚:输出引脚:B B端口端口 方式方式1 1输出联络信号输出联络信号 OBFOBF* *输出
44、缓冲器满信号,低有效输出缓冲器满信号,低有效 8255A8255A输出给外设的一个控制信号,当其有效时,表示输出给外设的一个控制信号,当其有效时,表示 CPUCPU已把数据输出给指定的端口,外设可以取走已把数据输出给指定的端口,外设可以取走 ACKACK* *响应信号,低有效响应信号,低有效 外设的响应信号,指示外设的响应信号,指示8255A8255A的端口数据已由外设接受的端口数据已由外设接受 INTRINTR中断请求信号,高有效中断请求信号,高有效 当输出设备已接受数据后,当输出设备已接受数据后,8255A8255A输出此信号向输出此信号向CPUCPU提出提出 中断请求,要求中断请求,要求
45、CPUCPU继续提供数据继续提供数据 端口端口A A的的INTEAINTEA对应对应PCPC6 6 端口端口B B的的INTEBINTEB对应对应PCPC2 2 INTR data data 输出端口输出端口 D0D7 WR OBF ACK OBFOBF* *和和ACKACK* *是外设和是外设和8255A8255A间的一对应答联络信号,间的一对应答联络信号, 为的是可靠地输出数据为的是可靠地输出数据 方式方式1 1输出时序输出时序 3 3、方式、方式2 2 PAPA口为双向选通输入口为双向选通输入/ /输出或叫双向应答式输入输出或叫双向应答式输入/ /输出。输出。 一次初始化可指定一次初始化
46、可指定PAPA口既作输入口又作输出口。口既作输入口又作输出口。 设置专用的联络信号线和中断请求号信线,因此,设置专用的联络信号线和中断请求号信线,因此,2 2 方式下可采用中断方式和查询方式与方式下可采用中断方式和查询方式与CPUCPU交换数据。交换数据。 各联络线的定义及其时序关系和壮态基本上是在各联络线的定义及其时序关系和壮态基本上是在1 1方方 式下输入和输出两种操作的组合。式下输入和输出两种操作的组合。 适用于与双向传送数据的外设适用于与双向传送数据的外设 适用于查询和中断方式的接口电路适用于查询和中断方式的接口电路 方式方式2 2是一种双向选通输是一种双向选通输 入输出方式,它把入输
47、出方式,它把A A口作口作 为双向输入为双向输入/ /输出口,把输出口,把 C C口的口的5 5根线(根线(PCPC3 3PCPC7 7) 作为专用应答线,所以,作为专用应答线,所以, 8255A8255A只有只有A A口才有口才有2 2方式。方式。 其引脚定义如图所示。其引脚定义如图所示。 PC3 PC7 PA70 PC6 PC4 PC5 PC20 1 00000 ;000001 100B 00B JNZ LJNZ L ;为;为1 1,忙,则等待;不忙,则向,忙,则等待;不忙,则向 A A口送数口送数 MOV DXMOV DX,00D0H00D0H ;PAPA口地址口地址 MOV ALMOV
48、 AL,SISI ;从内存取数;从内存取数 OUT DXOUT DX,ALAL ;送数据到;送数据到A A口口 L: MOV DXMOV DX,00D6H00D6H ;8255A8255A命令口命令口 MOV ALMOV AL,00001110B00001110B ;置;置STB-STB-信号为低(信号为低(PCPC7 7=0=0) OUT DXOUT DX,ALAL NOPNOP ;负脉冲宽度(延时);负脉冲宽度(延时) NOPNOP MOV ALMOV AL,00001111B00001111B ;置;置STB-STB-为高(为高(PCPC7 7=1=1) OUT DXOUT DX,ALA
49、L INC SIINC SI ;内存地址加;内存地址加1 1 DEC CXDEC CX ;字符数减;字符数减1 1 JNZ LJNZ L ;未完,继续;未完,继续 CODE ENDSCODE ENDS END STARTEND START 例例5 5、用、用8255A8255A的的PA0PA0PA2PA2扩展三位按键,扩展三位按键, PB0PB0PB2PB2驱动三个发光二极管,要求实现驱动三个发光二极管,要求实现 如下功能:如下功能:K1K1按下灯全亮,按下灯全亮,K2K2按下灯全灭,按下灯全灭, K3K3按下灯闪烁,优先顺序按下灯闪烁,优先顺序K1K2K3K1K2K3. . K3 K2 K1
50、 PA0 PA1 PA2 PB0 PB1 PB2 +5V 8255A 8086 CPU 设设8255A端口地址端口地址 0340H0346H MOV AL, 91H; 10010001,A口方式口方式0输入,输入,B口方式口方式0输出输出 MOV DX, 0346H OUT DX, AL; 写控制字写控制字 MOV DX, 0340H IN AL, DX; 读读A口内容口内容 NOT AL AND AL,07H;保留;保留PA0PA2 ROR AL,1 JC DLL; K11,调灯亮,调灯亮 ROR AL,1 JC DMM; K21,调灯灭,调灯灭 ROR AL,1 JC DSS; K31,调
51、灯闪烁,调灯闪烁 RET MOV DX, 0342H MOV AL, 00H OUT DX, AL; RET DLL: MOV DX, 0342H MOV AL, 07H OUT DX, AL; RET MOV DX, 0342H MOV AL, 07H OUT DX, AL CALL DO5S; 调用延时调用延时5秒秒 MOV AL, 00H OUT DX, AL CALL DO5S; 调用延时调用延时5秒秒 RET DMM: DMM: 例六例六 在甲乙两台微机之间并行传送在甲乙两台微机之间并行传送1K1K字节数字节数 据。甲机发送,据。甲机发送, 乙机接收。甲机一侧的乙机接收。甲机一侧的
52、8255A8255A采用采用1 1方式工作,乙机一侧的方式工作,乙机一侧的8255A8255A采采 用用0 0方式工作。两机的方式工作。两机的CPUCPU与接口之间都采用与接口之间都采用 查询方式交换数据。查询方式交换数据。 分析分析 双机均采用可编程并行接口芯片双机均采用可编程并行接口芯片8255A8255A构构 成接口电路,只是成接口电路,只是8255A8255A的工作方式不同。的工作方式不同。 此时,双方的此时,双方的8255A8255A把对方视为把对方视为I/OI/O设备。设备。 设计设计 (1 1)硬件连接)硬件连接 根据上述要求,接口电路的连接如图所示。根据上述要求,接口电路的连接如图所示。 (2 2)软件编程)软
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年麻精药品培训考核试题(含答案)
- 2026 年教师节感恩教育主题学习课件
- 研究生请假条模板
- 2026年广东茂名市中考模拟考试一模数学试题附答案
- 保健科易错试题与答案揭秘
- 微生物农药生产工风险识别水平考核试卷含答案
- 橡胶栽培工安全宣贯测试考核试卷含答案
- 木屋架工岗前设备性能考核试卷含答案
- 野生植物监测工安全风险能力考核试卷含答案
- 天然香料制备工成果测试考核试卷含答案
- 2026年浙江经贸职业技术学院高职单招笔试英语试题库含答案解析3套试卷
- 青海2026年省考公务员《行政职业能力测验》考试真题(完整版)
- 2026语文新教材 2026年秋期新教材统编版六年级上册语文教材分析解读 教学课件
- 《中华人民共和国生态环境法典》应知应会测试题100道
- 2025年重庆市从“五方面人员”中选拔乡镇领导班子成员考试历年参考题库含答案详解
- 诸暨水务集团招聘试卷
- 岗位hes责任制度
- 2026第二届全国红旗杯班组长大赛考试备考核心试题库500题
- 医疗器械公司介绍
- 2026湖南奥林匹克物理竞赛试题及答案
- 医疗器械有效期确认流程及报告模板
评论
0/150
提交评论