输入输出接口基本概念和输入输出接口的功能
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
START: MOV MOV MOV MOV MOV IN AND JZ MOV OUT INC LOOP RET AX, 4000H DS, AX SI, 8000H CX, 100 DX, 00FFH AL, DX AL, 01H WAIT AL, [SI] DX, AL SI GOON
GOON: WAIT:
10 a 6
3
f g b
8
e d 1
c DP 5
1 2 4 5 6 7 9 10 e d c dp b a f g
图 7-10
共阳LED数码管的示意图
(2)接口电路 这段七段LED数码管与微机系统总线有多种接口方式。 此处介绍用74LS138作为译码器进行选片,用74LS273作为 输出接口,用三态门作为按钮K的输出接口,其连接图如图 7-11所示。 在图7-11 中,要使数码管显示某数字或符号,必须用 软件来产生相应的数据。这是因为接口电路中没有硬件译 码器。例如,要显示数字3,则LED的a、b、c、d、g各段应 亮而e、f应不亮。结合图,则应向74LS273写数据4FH。为 了方便,可在内存中建立有关显示的数字(或符号)与相 对应输出数据的对应表。 下面一段程序可判断按钮的状态。当 K闭合时,显示3 , 当K断开时显示6。
~
D7
1 1 G2 A
~
74LS138 & G
G2B C B A Y0
MOV
10 K
D0
MOV
OUT
AL,4FH
DX,AL START DX,00F0H AL,7DH
+ K
JMP KOPEN: MOV MOV
Y1
1
OUT
图7-11 LED数码管及按钮的一种接口电路
DX,AL
START
JMP
74244 D0
E
BUSY
D0 D7 IOR A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15
IOW
D0
Q0
D0
~
1
~
~
D7
74LS273
~
Q7
D7 外设
&
1 1
CP
1
图7-5 查询工作方式的I/O接口
(2)多个外设查询工作方式 上面我们介绍了单个外设利用 查询方式的工作情况。当系统 中有多个外设时,查询方式工 作的流程成图如图7-6所示。 从图可以看出,CPU逐个外设进 行查询。若发现那个外设准备 就绪,就对该外设实施数据传 送。然后再对下一外设查询, 依次循环。从而可以实现,在 查询过程中,CPU不能做别的事 情,这就大大降低了CPU的效率。 而且,假如某一外设刚好在查 询过后处于就绪状态,那么它 必须等到CPU查询完所有外设, 再次查询此外设时才能发现它 处于就绪状态,而后对此外设 服务。这样就不能对外设进行 实时数据交换,这对许多实时 性要求较高的外设来说,就有 可能丢失数据。
a b c d e f g DP D0 74LS273 D0 Q0 Q1 D7 Q2 Q3 Q4 Q5 Cp Q6 Q7
1 1 1 1 1 1 1 1
+5V
START:
MOV
DX,00F1H
IN
TEST JNZ
510 8
AL,DX
AL,01H KOPEN DX,00F0H
IOW
A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 IOR
第7章 输入输出接口
【本章重点】本章重点介绍输入输出 接口的基本概念和输入输出接口的功 能;着重讨论不同外设数据传送的不 同方法及简单接口的应用。 【本章难点】掌握无条件传送和查询 传送的工作原理,难点是接口芯片的 应用。
7.1 微型计算机的输入/输出接口
7.1.1 输入/输出接口
1. I/O接口的功能 一个接口的基本功能是在系统总线和 I/O设备之间传输信号, 提供缓冲作用,以满足接口两边的时序要求。 1) 寻址功能 2) 输入输出功能 3) 联络功能 4) 速度匹配功能 5) 数据格式转换功能 6) 中断管理功能 7) 可编程功能
7.2.3简单接口举例 1.已知8D锁存器74LS374用作输出接口,与CPU总线连接图如 图7-9所示。试编制一个接口程序,使其在Q0输出端产生一个 周期和幅度均任意的方波,如图所示。
D0~D7 D0~D7 Q0
AEN
IOW
270H
CP
74LS374
图7-9方波输出接口电路
MOV MM: MOV OUT CALL MOV
D0 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 +5V
10K
1
&
1
&
IOR
【例7-1】图中外设是简单的发光二极管 .此外设的接口是用锁存器来实 现的.锁存器在打入脉冲CP上升沿将输入端D的数据锁存在它的输出Q端。 编写点亮二极管的程序。
74LS244 DO0 DI0
74LS374 D0 Q0
~
DI7
图 7-7 74LS244简单示意图
~
DO7 E1 E2
图 7-8 74LS374简单示意图
~
D7 CP
~
Q7 OE
7.2.2锁存器接口芯片 前面提到的三态门器件,可以用作固定状态的输入接 口。但是,由于它没有保持(或称锁存)数据的能力, 无法直接用它实现数据的输出接口。最简单的输出接 口芯片74LS374,它是一种带有三态输出的锁存器,其 引线图如图7.8所示。其中D0~D7为8个输入端,Q0~Q7 为8个输出端,为允许输出信号,低电平有效,CP脉冲 上升沿锁存,与8086CPU连接时,一般接ALE引脚。只 有当=0时,74LS374的输出三态门才导通。=1时, 74LS374的输出呈现高阻状态。由于74LS374是8位的带 有三态输出的锁存器,具有更大的使用灵活性,故它 既可以作为输入接口,又可以用作输出接口。 以下我们举例说明各接口的使用。
ROL
JMP
AL,1
LOP
;小循环左移1位
;循环点亮LED
2.查询方式
无条件传送对于那些慢速的或总是准备好的外设是适应的。但是,许多 外设并不总是准备好的。CPU与这类外设交换数据可以采用程序查询方式。 所谓查询方式就是微型计算机利用程序不断地询问外部设备的状态,根 据它们所处的状态来实现数据的输入输出。 为了实现这种工作方式,要求外部设备向微型计算机提供一个状态信息。 微型计算机校验外部设备所提供的状态信息,即查询外部设备,以便确定它 的下一步操作。 图7-3给出了查询工作的示意图。
①无条件传送 ②查询传送 ③中断传送 ④直接存贮器存取(DMA)方式
1.无条件传送 在微机系统中,有一些简单外设.当它们工作时,随时都准备好接收 CPU的输出数据或它们的数据随时都是准备好的,CPU什么时候读 均可以正确地读到它们的数据。也就是说外设无条件准备好向CPU 提供数据或接收CPU送来的数据。在CPU与这样的外设交换数据的 过程中,数据交换与指令的执行是同步的。因此也有人称其为同 步传送。 无条件传送方式是一种简单的输入输出方式,一般用于控制CPU与 低速接口之间的信息交换.例如,开关、温度、压力流量等(A/D) 转换器。由于这些信号变换缓慢,当需要采集这些数据时,外设 已经将数据准备就绪了,因此无需检查端口的状态,就可以立即 采集数据。由于数据保持时间相对于CPU的处理时间长得多,故输 入端可直接用输入缓冲器与CPU的数据总线相连。若外设是输出设 备,一般要求接口有锁存能力,也就是CPU送给外设的数据应该在 接口中保持一段时间,其原因是外设的速度较慢,所以要求CPU送 到接口的数据能保持到外设动作相适应的时间。
DX,270H AL,01H DX,AL DELAY AL,00H
;DX指向输出端口
;输出方波的上升沿 ;延时
OUT
CALL JMP
DX,AL
DELAY MM
;输出方波的上升沿
;延时 ;循环
2.LED数码管 (1)LED数码管分为共阳和共阴两种结构,在此只介绍一种共阳封装的LED数 码管,如图7-10所示。
取外设状态
N 外设准备就 绪 Y 传送数据
N 传送完否
Y
结束
【例7-3】如图7-5所示,现欲将48000H为首地址的顺序100个单元的 数据,利用查询方式输出到外设。外设经输入输出接口与8086的系统总 线连接。CPU通过三态接口(74LS244)可以查询外设的状态,而且当外 设状态信号=1时,可以接收CPU由锁存器(74LS273)输出的数据。=0时, 表示外设处于忙状态,不能接收数据。 程序如下:
在这种编址方式中,内存地址空间和外设地址空间是相互独立的。例如, 在8086CPU中,内存地址是连续的1M字节,从00000H~FFFFFH,而外设 的地址范围从0000H~FFFFH。它们相互独立,互不影响。
7.1.2
输入/输出的控制方式
概括起来,在微型计算机系统中,主要有如下 4种传送方式解决上述问题:
MOV MOV OUT
Fra Baidu bibliotek
AL,81H DX,0000H DX,AL ;送端口地址 ;点亮发光二极管
【例7-2】类似于例1中,让接在Q0~Q7上的二极管自上而下 轮流点亮3s,编写程序实现。 程序如下:
MOV LOP: OUT CALL AL, 01H 0000H,AL DELAY 3s ;使Q0为1,LED0先亮 ;将信息送0000H端口 ;调用3S子程序
2.外设接口的编址方式
每个接口部件都含有一组寄存器,CPU与外设进行数据传送时,各类信息在 接口中进入不同的寄存器,一般称这些寄存器为I/O端口,每个端口都 有一个端口地址。系统对各种寄存器的操作,实际上是通过寻址,对个 端口地址的选择和操作,因此外设接口(I/O端口)有两种编址方式。 (1)外设地址与内存地址统一编址 这种编址方式又称为存储器映射编址方式。在这种编址方式中,将外设接 口地址和内部存储器地址统一安排在内存的地址空间中。即把内存地址 分配给外设,由外设来占用这些地址。用于外设的这些地址,存储器不 能再使用。 (2)外设与内存独立编址
开关K看作一个简单的外设。K的状态是确定的,要么闭合,要么打开。当 计算机通过外设接口读K的状态时,一定会读到指令执行时刻K的状态. 当CPU读接口地址FFF7H时,或门输出为低电平。该电平使输入接口三态门 导通,则开关K的状态就由数据线D0读到CPU。判断读入数据D0=0时,K闭合;
D0=1时,K打开。
状态 CPU 接
数据
控制
外
口
设
图7-3查询工作方式示意图
(1)单一外设的查询工作
最简单的情况是单一外设的情 况。其采用查询方式传送数据的过程 如下所述。如果CPU要从外设接收一 个数据,则CPU首先查询外设的状态, 看外设数据是否准备好,若没有准备 好,则等待;若外设已将数据准备好, 则CPU从外设读取数据,接收数据后, CPU向外设发响应信号,表示数据已 被接收。外设收到响应信号后,即开 始下一个数据的准备工作。 若CPU需要向外设输出一个数据, 同样, CPU 首先查询外设的状态,看 其是否空闲,若正忙,则等待;若外 设准备就绪,处于空闲状态,则 CPU 向外设送出数据和输出就绪信号。就 绪信号用来通知外设; CPU 送来有效 数据。外设接收数据后,向 CPU 发出 数据已收到的状态信息。这样,一个 数据的输出过程就告结束。 开始
1号外设 准 备 就 绪? N
Y
对1号外设服 务
2号外设 准 备 就 绪?
N
Y
对2号外设服 务
3号外设 准 备 就 绪? N
Y
对3号外设服 务
n号外设 准 备 就 绪?
N
Y
对n号外设服 务
§7.2简单接口
• 7.2.1三态门接口芯片
根据前面内容的介绍,大家已经了解到主机与外设之间的连接必须通过接口芯片来 完成信息的传送,如:信息的放大、隔离以及锁存。接口芯片的类型非常繁多,在 此我们介绍几种常用的简单的接口芯片。 一个典型的三态门接口芯片(74LS244)如图7-7所示。其中,DO0~DO7为8个输 入端,IO0~IO7为8个输出端,, 是两个控制端,低电平有效,当控制端有效时, 三态门导通;当它们为高电平时,相应的三态门口呈现高阻状态。三态门只能作为 输入信号接口而不能作为输出接口,这是因为74LS244三态门本身没有对信号的保 持或锁存能力。
GOON: WAIT:
10 a 6
3
f g b
8
e d 1
c DP 5
1 2 4 5 6 7 9 10 e d c dp b a f g
图 7-10
共阳LED数码管的示意图
(2)接口电路 这段七段LED数码管与微机系统总线有多种接口方式。 此处介绍用74LS138作为译码器进行选片,用74LS273作为 输出接口,用三态门作为按钮K的输出接口,其连接图如图 7-11所示。 在图7-11 中,要使数码管显示某数字或符号,必须用 软件来产生相应的数据。这是因为接口电路中没有硬件译 码器。例如,要显示数字3,则LED的a、b、c、d、g各段应 亮而e、f应不亮。结合图,则应向74LS273写数据4FH。为 了方便,可在内存中建立有关显示的数字(或符号)与相 对应输出数据的对应表。 下面一段程序可判断按钮的状态。当 K闭合时,显示3 , 当K断开时显示6。
~
D7
1 1 G2 A
~
74LS138 & G
G2B C B A Y0
MOV
10 K
D0
MOV
OUT
AL,4FH
DX,AL START DX,00F0H AL,7DH
+ K
JMP KOPEN: MOV MOV
Y1
1
OUT
图7-11 LED数码管及按钮的一种接口电路
DX,AL
START
JMP
74244 D0
E
BUSY
D0 D7 IOR A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15
IOW
D0
Q0
D0
~
1
~
~
D7
74LS273
~
Q7
D7 外设
&
1 1
CP
1
图7-5 查询工作方式的I/O接口
(2)多个外设查询工作方式 上面我们介绍了单个外设利用 查询方式的工作情况。当系统 中有多个外设时,查询方式工 作的流程成图如图7-6所示。 从图可以看出,CPU逐个外设进 行查询。若发现那个外设准备 就绪,就对该外设实施数据传 送。然后再对下一外设查询, 依次循环。从而可以实现,在 查询过程中,CPU不能做别的事 情,这就大大降低了CPU的效率。 而且,假如某一外设刚好在查 询过后处于就绪状态,那么它 必须等到CPU查询完所有外设, 再次查询此外设时才能发现它 处于就绪状态,而后对此外设 服务。这样就不能对外设进行 实时数据交换,这对许多实时 性要求较高的外设来说,就有 可能丢失数据。
a b c d e f g DP D0 74LS273 D0 Q0 Q1 D7 Q2 Q3 Q4 Q5 Cp Q6 Q7
1 1 1 1 1 1 1 1
+5V
START:
MOV
DX,00F1H
IN
TEST JNZ
510 8
AL,DX
AL,01H KOPEN DX,00F0H
IOW
A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 IOR
第7章 输入输出接口
【本章重点】本章重点介绍输入输出 接口的基本概念和输入输出接口的功 能;着重讨论不同外设数据传送的不 同方法及简单接口的应用。 【本章难点】掌握无条件传送和查询 传送的工作原理,难点是接口芯片的 应用。
7.1 微型计算机的输入/输出接口
7.1.1 输入/输出接口
1. I/O接口的功能 一个接口的基本功能是在系统总线和 I/O设备之间传输信号, 提供缓冲作用,以满足接口两边的时序要求。 1) 寻址功能 2) 输入输出功能 3) 联络功能 4) 速度匹配功能 5) 数据格式转换功能 6) 中断管理功能 7) 可编程功能
7.2.3简单接口举例 1.已知8D锁存器74LS374用作输出接口,与CPU总线连接图如 图7-9所示。试编制一个接口程序,使其在Q0输出端产生一个 周期和幅度均任意的方波,如图所示。
D0~D7 D0~D7 Q0
AEN
IOW
270H
CP
74LS374
图7-9方波输出接口电路
MOV MM: MOV OUT CALL MOV
D0 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 +5V
10K
1
&
1
&
IOR
【例7-1】图中外设是简单的发光二极管 .此外设的接口是用锁存器来实 现的.锁存器在打入脉冲CP上升沿将输入端D的数据锁存在它的输出Q端。 编写点亮二极管的程序。
74LS244 DO0 DI0
74LS374 D0 Q0
~
DI7
图 7-7 74LS244简单示意图
~
DO7 E1 E2
图 7-8 74LS374简单示意图
~
D7 CP
~
Q7 OE
7.2.2锁存器接口芯片 前面提到的三态门器件,可以用作固定状态的输入接 口。但是,由于它没有保持(或称锁存)数据的能力, 无法直接用它实现数据的输出接口。最简单的输出接 口芯片74LS374,它是一种带有三态输出的锁存器,其 引线图如图7.8所示。其中D0~D7为8个输入端,Q0~Q7 为8个输出端,为允许输出信号,低电平有效,CP脉冲 上升沿锁存,与8086CPU连接时,一般接ALE引脚。只 有当=0时,74LS374的输出三态门才导通。=1时, 74LS374的输出呈现高阻状态。由于74LS374是8位的带 有三态输出的锁存器,具有更大的使用灵活性,故它 既可以作为输入接口,又可以用作输出接口。 以下我们举例说明各接口的使用。
ROL
JMP
AL,1
LOP
;小循环左移1位
;循环点亮LED
2.查询方式
无条件传送对于那些慢速的或总是准备好的外设是适应的。但是,许多 外设并不总是准备好的。CPU与这类外设交换数据可以采用程序查询方式。 所谓查询方式就是微型计算机利用程序不断地询问外部设备的状态,根 据它们所处的状态来实现数据的输入输出。 为了实现这种工作方式,要求外部设备向微型计算机提供一个状态信息。 微型计算机校验外部设备所提供的状态信息,即查询外部设备,以便确定它 的下一步操作。 图7-3给出了查询工作的示意图。
①无条件传送 ②查询传送 ③中断传送 ④直接存贮器存取(DMA)方式
1.无条件传送 在微机系统中,有一些简单外设.当它们工作时,随时都准备好接收 CPU的输出数据或它们的数据随时都是准备好的,CPU什么时候读 均可以正确地读到它们的数据。也就是说外设无条件准备好向CPU 提供数据或接收CPU送来的数据。在CPU与这样的外设交换数据的 过程中,数据交换与指令的执行是同步的。因此也有人称其为同 步传送。 无条件传送方式是一种简单的输入输出方式,一般用于控制CPU与 低速接口之间的信息交换.例如,开关、温度、压力流量等(A/D) 转换器。由于这些信号变换缓慢,当需要采集这些数据时,外设 已经将数据准备就绪了,因此无需检查端口的状态,就可以立即 采集数据。由于数据保持时间相对于CPU的处理时间长得多,故输 入端可直接用输入缓冲器与CPU的数据总线相连。若外设是输出设 备,一般要求接口有锁存能力,也就是CPU送给外设的数据应该在 接口中保持一段时间,其原因是外设的速度较慢,所以要求CPU送 到接口的数据能保持到外设动作相适应的时间。
DX,270H AL,01H DX,AL DELAY AL,00H
;DX指向输出端口
;输出方波的上升沿 ;延时
OUT
CALL JMP
DX,AL
DELAY MM
;输出方波的上升沿
;延时 ;循环
2.LED数码管 (1)LED数码管分为共阳和共阴两种结构,在此只介绍一种共阳封装的LED数 码管,如图7-10所示。
取外设状态
N 外设准备就 绪 Y 传送数据
N 传送完否
Y
结束
【例7-3】如图7-5所示,现欲将48000H为首地址的顺序100个单元的 数据,利用查询方式输出到外设。外设经输入输出接口与8086的系统总 线连接。CPU通过三态接口(74LS244)可以查询外设的状态,而且当外 设状态信号=1时,可以接收CPU由锁存器(74LS273)输出的数据。=0时, 表示外设处于忙状态,不能接收数据。 程序如下:
在这种编址方式中,内存地址空间和外设地址空间是相互独立的。例如, 在8086CPU中,内存地址是连续的1M字节,从00000H~FFFFFH,而外设 的地址范围从0000H~FFFFH。它们相互独立,互不影响。
7.1.2
输入/输出的控制方式
概括起来,在微型计算机系统中,主要有如下 4种传送方式解决上述问题:
MOV MOV OUT
Fra Baidu bibliotek
AL,81H DX,0000H DX,AL ;送端口地址 ;点亮发光二极管
【例7-2】类似于例1中,让接在Q0~Q7上的二极管自上而下 轮流点亮3s,编写程序实现。 程序如下:
MOV LOP: OUT CALL AL, 01H 0000H,AL DELAY 3s ;使Q0为1,LED0先亮 ;将信息送0000H端口 ;调用3S子程序
2.外设接口的编址方式
每个接口部件都含有一组寄存器,CPU与外设进行数据传送时,各类信息在 接口中进入不同的寄存器,一般称这些寄存器为I/O端口,每个端口都 有一个端口地址。系统对各种寄存器的操作,实际上是通过寻址,对个 端口地址的选择和操作,因此外设接口(I/O端口)有两种编址方式。 (1)外设地址与内存地址统一编址 这种编址方式又称为存储器映射编址方式。在这种编址方式中,将外设接 口地址和内部存储器地址统一安排在内存的地址空间中。即把内存地址 分配给外设,由外设来占用这些地址。用于外设的这些地址,存储器不 能再使用。 (2)外设与内存独立编址
开关K看作一个简单的外设。K的状态是确定的,要么闭合,要么打开。当 计算机通过外设接口读K的状态时,一定会读到指令执行时刻K的状态. 当CPU读接口地址FFF7H时,或门输出为低电平。该电平使输入接口三态门 导通,则开关K的状态就由数据线D0读到CPU。判断读入数据D0=0时,K闭合;
D0=1时,K打开。
状态 CPU 接
数据
控制
外
口
设
图7-3查询工作方式示意图
(1)单一外设的查询工作
最简单的情况是单一外设的情 况。其采用查询方式传送数据的过程 如下所述。如果CPU要从外设接收一 个数据,则CPU首先查询外设的状态, 看外设数据是否准备好,若没有准备 好,则等待;若外设已将数据准备好, 则CPU从外设读取数据,接收数据后, CPU向外设发响应信号,表示数据已 被接收。外设收到响应信号后,即开 始下一个数据的准备工作。 若CPU需要向外设输出一个数据, 同样, CPU 首先查询外设的状态,看 其是否空闲,若正忙,则等待;若外 设准备就绪,处于空闲状态,则 CPU 向外设送出数据和输出就绪信号。就 绪信号用来通知外设; CPU 送来有效 数据。外设接收数据后,向 CPU 发出 数据已收到的状态信息。这样,一个 数据的输出过程就告结束。 开始
1号外设 准 备 就 绪? N
Y
对1号外设服 务
2号外设 准 备 就 绪?
N
Y
对2号外设服 务
3号外设 准 备 就 绪? N
Y
对3号外设服 务
n号外设 准 备 就 绪?
N
Y
对n号外设服 务
§7.2简单接口
• 7.2.1三态门接口芯片
根据前面内容的介绍,大家已经了解到主机与外设之间的连接必须通过接口芯片来 完成信息的传送,如:信息的放大、隔离以及锁存。接口芯片的类型非常繁多,在 此我们介绍几种常用的简单的接口芯片。 一个典型的三态门接口芯片(74LS244)如图7-7所示。其中,DO0~DO7为8个输 入端,IO0~IO7为8个输出端,, 是两个控制端,低电平有效,当控制端有效时, 三态门导通;当它们为高电平时,相应的三态门口呈现高阻状态。三态门只能作为 输入信号接口而不能作为输出接口,这是因为74LS244三态门本身没有对信号的保 持或锁存能力。