第九章 输入输出方法及常用的接口电路

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
现,是微机应用的关键。
5
地址总线 AB
CPU
存 储 器
ቤተ መጻሕፍቲ ባይዱI/O 接 口
输 入 设 备
I/O 接 口
输 出 设 备 数据总线 DB 控制总线 CB
微型计算机的结构示意图
6
2、为什么要用接口电路?
外设是用来实现人机交互的一些机电设备。 外设处理信息的类型、速度、通信方式与CPU不匹配, 不能直接挂在总线上,必须通过接口和系统相连
第 九 章
输入/输出方法
及常用的接口电路
1
主机以外的设备称为外部设备,又称为输入/输出设备, 即I/O设备 主机与外部设备交换信息的缓冲电路称为I/O接口电路, 又称为I/O接口或简称接口
主机
接口
外部 设备
主机与外部设备之间进行输入/ 输出的方法
2
第一节 接口技术的基本概念
一、 接口的概念和功能 二、 接口电路的典型结构
27
8088CPU最小模式下, I/O端口读周期时序
T1 T2 T3 T4
CLK
IO/M
A19~A16 /S6~S3 A15~A8 AD7~AD0 ALE RD DT/R
A7 ~ A0
D7 ~ D0
DEN
GND A14 A13 A12 A11 A10 A9 A8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK GND

指令 IN OUT IN OUT
AL, 20H, AL, DX,
21H AL DX AL
机器码 E421 ; 两个字节 E620 EC ; 一个字节 EE
24
(3)可进行字节或字传送
由指令中AL或AX的类型决定
IN IN IN IN
AL, 20H AX, 20H AL, DX AX, DX
;字节传送 ;字传送 ;字节传送 ;字传送
(A L ) ← ((D X )端 口 )
(A L ) ← ((D X )端 口 ) (A H ) ← ((D X )+ 1 端 口 )
port 为数字形式的端口地址, 大小为0~255 或0~FFH
18

(1)
IN
AL,28H
若 (28H端口) = 1010 1111B 执行后 (AL) = (28H端口) = 0AFH
(2) IN AX,28H 若 (28H端口)= 1010 1111B (29H端口)= 0101 0000B 执行后 (AL) = (28H端口) = 0AFH (AH) = (29H端口) = 50H
(3) MOV DX, 300H IN AL,DX 若 (300H端口)= 69H 执行后 (AL) = (300H端口) = 69H

P
U
DB
CB

按存放信息的不同,I/O端口可分为三种类型 数据端口:用于存放CPU与外设间传送的数据信息 状态端口:用于暂存外设的状态信息 控制端口:用于存放CPU对外设或接口的控制信息,
控制外设或接口的工作方式。
9
AB
C
地址 译码 数据 缓冲 控制 电路
I/O端口1

I/O端口2
P
U
DB
CB
实现方法
CPU不查询外设工作状态, 与外设速度的匹配通过在软件上延时完成, 在程序中直接用I/O指令,完成与外设的数据传送
特点
1. 适用于外设动作时间已知,在CPU与外设进行数据传送 时,外设保证已准备好的情况。 2. 软硬件十分简单。
34
例 1 无条件输入接口
PC 总 线 D7 ~ D0 数据 线
29
IBM PC/XT 总线上I/O端口读周期
当CPU 执行 IN 指令时,进入I/O端口读周期, 从指定的端口读入数据到CPU中。 AB
C
P U
DB
地址 译码 数据 缓冲 控制 电路
I/O端口1

I/O端口2
CB
I/O端口3

30
第三节 CPU与外设间的数据传送方式
CPU与外设的工作速度不一致,
对输出指令OUT ,源操作数只能为AL, 或AX
OUT OUT 20H, AL DX, AX
OUT
DX, CX
22
(2)端口地址可由直接方式或间接方式给出
当端口号在0~FFH,即0~255时, 可在指令中直接指定端口号 例 IN AL, 21H OUT 20H, AL 当端口号>FFH,即>255时, 需把端口号放在DX寄存器中, DX是一个16位寄存器,范围在0~FFFFh之间。
8088
VCC A15 A16/S3 A17/S4 A18/S5 A19/S6 SSO MN/MX RD HOLD HLDA WR IO/M DT/R DEN ALE INTA TEST READY RESET
28
8088CPU最小模式下, I/O端口写周期时序
T1 T2 T3 T4
CLK
IO/M
OUT OUT OUT OUT
20H, AL 20H, AX DX, AL DX, AX
;字节传送 ;字传送 ;字节传送 ;字传送
(4)注意端口地址与端口内容的区别
IN AL, 21H OUT DX, AL 不等于(AL) ← 21H 不等于 (DX) ← (AL)
25
3. 输入/输出指令时序 当CPU执行IN 指令时, 进入I/O端口读周期 当CPU执行OUT指令时,进入I/O端口写周期
3
一、 接口的概念和功能
1、接口和接口技术
2、为什么要用接口电路?
4
1、接口和接口技术
接口 :
指CPU、存储器、外设之间通过总线进行连接的电路部分,
是CPU与外设进行信息交换的中转站。
接口技术 :
是研究CPU如何与外部设备进行最佳耦合与匹配,实现双方
高效、可靠地交换信息的一门技术,是软件、硬件结合的体
19
2. 输出指令OUT
格式 OUT OUT OUT OUT p o r t, A L p o r t, A X DX, AL DX, AX 执行操作 (p o r t 端 口 ) ← (A L )
(p o r t 端 口 ) ← (A L ) (p o r t+ 1 端 口 ) ← (A H )
三 态 缓冲器
输入 设备
A15 地址线 ~ A0
IOR
地址 200H 译码 0 与 0 0 非
接口电路,即硬件上保证: 只在CPU执行从200H端口输入数据时, 三态门处于工作状态,使输入设备的数据送上总线侧, 而CPU执行其它指令时, 三态门均处于高阻状态, 使输入设备的数据线与总线侧断开
35
无条件输入编程:
(2) MOV DX , 21BH OUT DX, AL 若(AL)= 1010 0110B 执行后: (21BH端口)= (AL) = 0A6H
21
输入/输出指令(IN、OUT)特点:
(1)累加器AL、AX的专用指令
对输入指令IN ,目的操作数只能为AL, 或AX
IN IN IN AL, 21H AX, DX BX, 21H
内 存 空 间
I/O端口的地址由
一个8位二进制数直接寻址 或DX寄存器间接寻址
I/O 空 间
17
1. 输入指令IN
格式 IN IN IN IN A L , p ort A X , p ort AL, DX AX, DX 执行操作 (A L ) ← (p o r t 端 口 )
(A L ) ← (p o r t 端 口 ) (A H ) ← (p o r t+ 1 端 口 )
如何使两者高效、可靠地进行数据传送,
是本节讨论的问题。
31
有以下几种传送方式:
一、 无条件传送方式
二、 条件传送方式(查询方式)
三、 中断传送方式
四、 DMA传送方式
( Direct Memory Access )
32
概述
1、无条件传送(CPU与外设同步工作):
外部控制过程各种动作时间是固定的,而且是已知的。 2、查询方式(CPU与外设不同步工作): 传送前,先查询外设状态,准备好才传送,否则CPU处于 等待状态。
C PU 接口作用 模 /数 转 换 ( A / D ) 信息类型 数字量 数 /模 转 换 ( D / A ) 三态缓冲、锁存 工作速度 通信方式 快 并行 并 /串 转 换 三态缓冲、锁存 并行
7
外设 模拟量 数字量 慢 串行
解决传送方式 串 /并 转 换
二、接口电路的典型结构
AB 地址 译码 数据 缓冲 I/O端口1
掌握 (1)在最小模式下,I/O端口的读、写周期。
(2)IBM PC/XT 总线上I/O端口的读、写周期。
26
(1)在最小模式下,I/O端口的读、写周期
与读、写存储器的过程相似,不同之处: 1.IO/M变高,CPU操作I/O端口。 2.端口的地址信号出现在A15~A0上, A19~A16全为低电平。
例 motorola的M6800系列
日立H8S单片机系列
特点:
内 存 空 间
I/O 空 间
I/O端口相当于内存的一部分, 使内存容量减小 对I/O端口的读/写与对存储器的读/写相同, 所有可对内存操作的指令对I/O端口均可使用,
指令系统中不专设I/O指令。
14
二 、8088的输入/输出指令和时序
1. 输入指令IN 2. 输出指令OUT 3. 输入/输出指令时序
15
输入/输出指令实现I/O端口与CPU之间的数据传送
AB 地址 译码 数据 缓冲 控制 电路
I/O端口1
C

I/O端口2
P
U
DB
CB
I/O端口3

16
8088CPU采用I/O端口与存储器分别独立编址
可寻址220= 1M个内存单元 内存范围00000 ~FFFFFh 内存单元的地址有5种寻址 可寻址216= 64 K个I/O端口 I/O端口范围0000 ~ FFFFH
((D X )端 口 ) ← (A L )
((D X )端 口 ) ← (A L )
((D X )+ 1 端 口 ) ← (A H )
port 为数字形式的端口地址, 大小为0~255 或0~FFH
20

(1) OUT 21H, AL 若(AL)= 1100 1100B 执行后: (21H端口) = 0CCH
3、中断方式:
外设与CPU处于并行工作,一旦外设准备好,外设向CPU 发中断申请,条件具备,CPU暂停原程序执行,响应中断,外 设与CPU串行工作。 4、DMA方式(高速I/O及成组交换数据): CPU不干预,由硬件实现存储器与外设之间交换数据,称 直接存取存储器。 33
一、无条件传送方式 (同步传送方式)
从端口200H读入100个字节到内存缓冲区buffer中。 、、、 MOV AX, SEG buffer MOV DS, AX ;取缓冲区 ;延时子程 LEA DI, buffer ;首地址 delay PROC MOV CX, 100 ;传送个数 PUSH MOV DX, 200H ;端口地址 next: ;延时等待 MOV IN AL, DX ;读入数据 cc: LOOP CALL delay POP MOV [DI], AL ;送缓冲区 RET INC DI ;修改指针 delay ENDP LOOP next 、、、
C P
DB

I/O端口2
U
CB
控制 电路
I/O端口3

从编程角度看,接口内部主要包括一个或多个 CPU可以进行读/写操作的寄存器,又称为I/O端口。 各I/O端口由端口地址区分。
8
AB
C
地址 译码 数据 缓冲 控制 电路
1001 0101 (状态端口) 0110 1010 (数据端口) 1100 0110 (控制端口)
例 Intel的80X86系列、Z80系列
特点:
端口与存储器分别独立编址 端口不占用内存空间 设有专门的 I/O指令对端口进行读写, 对内存操作的指令不能用于I/O端口
内 存 空 间

MOV IN
[ 10H ], AL 对内存操作 10H, AL 对端口操作
I/O 空 间
13
2、端口与存储器统一编址 (存储器映射方式)
例 IN
IN
AL, 218H AL, DX
×

OUT 219H, AL
×
MOV DX, 218H
MOV DX, 219H
OUT DX, AL
23
当端口号在0~FFH,即0~255时,
可在指令中直接指定端口号,称长格式指令 当端口号>FFH,即>255时,
需把端口号放在DX寄存器中,称短格式指令
原因是使用直接端口方式的指令机器码相对长
I/O端口3

CPU对外设输入/输出的控制,是通过对接口电路中各I/O 端口的读/写操作完成。
10
第二节 I/O端口的编址和译码
一、I/O端口的编址方式
二、8088的输入/输出指令和时序
三、I/O端口的译码
11
一、I/O端口的编址方式
1、端口与存储器分别独立编址
2、端口与存储器统一编址
12
1、端口与存储器分别独立编址 (I/O映射方式)
A19~A16 /S6~S3 A15~A8 AD7~AD0 ALE WR DT/R DEN
A7 ~ A0 D7 ~ D0
GND A14 A13 A12 A11 A10 A9 A8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK GND
8088
VCC A15 A16/S3 A17/S4 A18/S5 A19/S6 SSO MN/MX RD HOLD HLDA WR IO/M DT/R DEN ALE INTA TEST READY RESET
相关文档
最新文档