第五讲(1)数字量输入输出-基本输入输出
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
例:一个输出设备的简单接口电路
IO总线 D7 数据线 输出 例:LED指示灯 ~ 锁存器 设备 D0 288H A15 地址线 图中译码电路的作用: 地址 ~ 只当A15~A0上出现288H时, 译码 A0 0 与 0 (即0000 0010 1000 1000B) 输出0,其他输出1。 0 IOW 非 该电路在CPU执行指令 参见P291图5.12 MOV AL, 81H MOV DX, 288H OUT DX, AL CPU内AL中的数据81H送至输出设备
MOV DX, 288H IN AL, DX
输入设备接口电路,即硬件上保证: 只在CPU执行从288H端口输入数据时,三态门处于工作状态,使输 入设备的数据送上总线侧,而CPU执行其它指令时,三态门均处于 高阻状态,使输入设备的数据线与总线侧断开。 思考:其他的指令为什么不可以? 例:IN AL, 50H; MOV AL, [0288H]
读、写控制逻辑电路1
WR 74LS32
IOW
74LS04 IO/M
MEMW
MEMR
RD
IOR
读、写控制逻辑电路2
WR IOW
MEMW IO/M
MEMR
RD
IOR
PC总线:I/O端口读周期时序
T1 CLK A15~A0 ALE D7 ~ D0 IOR T2 T3 Tw T4
GND RESET
+5V IRQ2 -5V DRQ2 -12V +12V GND
锁存控制
输出接口的锁存、缓冲环节
内 部 数 据 总 线
D Q C D Q C D Q C
外 部 数 据 引 脚
锁存控制
读数据
接口电路的典型结构
AB 地址 译码 数据 缓冲 控制 电路
I/O
端口1
C
P U
DB
外
I/O 端口2
CB
I/O 端口3
设
从编程角度看,接口内部主要包括CPU可以进行读/ 写操作的临时寄存器,又称I/O端口(Port)。 各I/O端口由端口地址区分(80X86 64K) ----编址方式
20H 端口1 0 21H 端口2 1 F0 8259
OUT 43H,AL
1011E MOV AL,90 10120 OUT 43H,AL 存储器
CPU系统 /MEMR 10120 90
总线
A9A8A7A6A5 1 0 0 0 1 0 A0 A1 A0
43 /IOW
/IOW /Y0 /Y1 /Y2 /Y3 /Y4 /G2B /Y5 /G2A /Y6 G1 /Y7 A B C A0 /CS 40H 41H 42H 43H
例:一个输出设备的简单接口电路
IO总线 D7 数据线 输出 例:LED指示灯 ~ 锁存器 设备 D0 288H A15 地址线 地址 OUT指令时序 ~ T1 T2 T3 Tw T4 译码 A0 0 与 0 CLK 0 IOW 非
A15~A0 D7~D0
0000 0010 1000 1000
执行: MOV AL, 81H MOV DX, 288H OUT DX, AL
输出 例:LED指示灯 设备
MOV DX, 288H OUT DX, AL
问题:对本电路
MOV DX,288H IN AL,DX
结果如何?
I/O端口的译码
译码电路的作用 译码电路的构成(与存储器译码相似) 设计译码电路的方法 片内译码和片选译码
Leabharlann Baidu
I/O译码电路的作用
将CPU执行IN/OUT指令发出的信号,“翻译”成欲操作 端口的选通信号,此信号常作为接口内三态门或锁存器 的控制信号,接通或断开接口数据线与系统的连接。
I/O端口单独编址
优点: I/O端口的地址空间独立 控制和地址译码电路相对简单 专门的I/O指令使程序清晰易读 缺点: I/O指令没有存储器指令丰富
FFFF 0
FFFFF
内存 空间 I/O 空间
80x86采用I/O端口独立编址
I/O端口与存储器统一编址
优点: 不需要专门的I/O指令 I/O数据存取与存储器数 据存取一样灵活 缺点: I/O端口要占去部分存储 器地址空间 程序不易阅读(不易分 清访问内存还是访问外 设)
1
1
A1 A0 1 1 /CS 端口1 00 端口2 01 端口3 10 端口4 11 8253
/AEN
20H 端口1 0 21H 端口2 1 8259
例:一个输入设备的简单接口电路
IO总线
D7 ~ D0
A15 ~ A0 AB
DB
三 态 缓冲器
开关 状态
地址 284H P290图5.11 译码 74LS244G1/G2 0 与 0 0 IOR 非 图中译码电路的作用: 该电路在CPU执行指令 只当A15~A0上出现284H时, MOV DX, 284H (即0000 0010 1000 0100B) IN AL, DX 输出0,其他输出1。 将输入设备的数据读入 CPU内AL中
IN/OUT 与存储器读写的差异?
8088CPU最小模式下, I/O端口读周期时序
T1 T2 T3 T4
CLK
IO/M A19~A1 6 /S6~S3 A15~A8
AD7~AD0 ALE
RD 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
输入接口的缓冲环节
内 部 数 据 总 线
缓冲器
外 部 数 据 引 脚
选通
输入接口的锁存、缓冲环节
D C
Q 内 部 数 据 总 线
Q D C 缓冲器 锁存器 Q D C
外 部 数 据 引 脚
选通
锁存控制
输出接口的锁存环节
内 部 数 据 总 线
D Q C
D Q C D Q C
外 部 数 据 引 脚
MEMW MEMR IOW IOR DACK3 DRQ3 DACK1 DRQ1 DACK0 CLOCK IRQ7 IRQ6 IRQ5 IRQ4 IRQ3 DACK2 T/C ALE +5V OSC GND
I/O CH CK D7 D6 D5 D4 D3 D2 D1 D0 I/O CH RDY AEN A19 A18 A17 A16 A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
(状态端口)
外
(数据端口) (控制端口)
DB
CB
设
数据端口:用于存放CPU与外设间传送的数据信息 状态端口:用于暂存外设的状态信息 控制端口:用于存放CPU对外设或接口的控制信息,控制 外设或接口的工作方式。
CPU对外设输入/输出的控制
C
P U
AB 地址 译码 数据 缓冲 控制 电路 I/O端口1
IBM PC/XT总线插槽引脚信号
PC总线:I/O端口写周期时序
T1 CLK A15~A0 ALE D7 ~ D0 IOW T2 T3 Tw T4
GND RESET
+5V IRQ2 -5V DRQ2 -12V +12V GND
MEMW MEMR IOW IOR DACK3 DRQ3 DACK1 DRQ1 DACK0 CLOCK IRQ7 IRQ6 IRQ5 IRQ4 IRQ3 DACK2 T/C ALE +5V OSC GND
IOW
例:一个输出设备的简单接口电路
D7 数据线 P ~ 锁存器 C D0 288H 总 A15 地址线 地址 线 ~ 译码 A0 0 与 0 0 非 IOW
输出设备接口电路,即硬件上保证: 只在CPU执行从288H端口输出数据时, 锁存器处于触发状态,其输出随输入变 化,而CPU执行其它指令时,锁存器均 处于锁存状态, 其输出不随输入变化, 思考:其他的指令为什么不可以? 例:OUT 50H,AL; MOV [0288H],AL
CPU
I/O接口 电路
I/O设备
I/O信号的形式
开关量信号 数字量信号 脉冲量信号 模拟量信号
接口的作用
对输入输出数据进行缓冲和锁存 输出接口有锁存环节;输入接口有缓冲环节 实际的电路常见: 输出锁存缓冲环节、输入锁存缓冲环节 对信号的形式和数据的格式进行变换 微机直接处理:数字量、开关量、脉冲量 对I/O端口进行寻址 与CPU和I/O设备进行联络
例:一个输入设备的简单接口电路
D7 ~ D0 数据线
D0 D7 三 态 缓冲器 开关 输入
K1 : K8
I O 总 线
A15 地址线 ~ A0
IOR 执行: MOV DX, 284H IN AL, DX
地址 284H 译码 IN指令时序 0 与 0 T1 T2 T3 Tw T4 0 CLK 非
A15~A0
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
8088CPU最小模式下, I/O端口写周期时序
T1
CLK T2
T3
T4
IO/M A19~A16 /S6~S3 A15~A8 AD7~AD0 ALE WR DT/R DEN
FFFFF
存 储 器 空 间 00000
内存 部分
I/O 部分
8088的输入/输出指令和时序
1. 输入指令IN
IN IN IN IN AL, port AL, DX AX,port AX,DX ;(Port)(AL), (Port+1)(AH)
2. 输出指令OUT
OUT port,AL OUT DX,AL OUT port, AX OUT DX,AX
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
外
I/O端口2 I/O端口3
DB
CB
设
CPU对外设输入/输出的控制,通过对接口电路中各I/O端口 的读/写操作完成。 端口选择地址编号
I/O端口的编址
接口电路占用的I/O端口有两类编排形式 I/O端口单独编址 I/O地址空间独立于存储地址空间 如8086/8088 I/O端口与存储器统一编址 它们共享一个地址空间 如M6800
0000 0010 1000 0100
问题: P290图5.11 K2,K5,K8 闭合时DB=?, (AL)=?
D7~ D0
IOR
01101101B=6DH
例:一个输入设备的简单接口电路
D7 ~ D0 数据线
三 态 缓冲器 输入 设备
I O 总 线
A15 地址线 ~ A0 IOR
地址 288H 译码 0 与 0 0 非
端口的基本特性: 是构成I/O接口的基本单元 有自己的端口地址(端口号) 可供外部设备或CPU读/写 有宽度 端口内容是外部设备的信息反映
I/O接口的基本功能
信号形式变换 电平转换和放大 锁存及缓冲 I/O定向 并-串转换
I/O端口按功能分为三种类型
AB
C P U
地址 译码 数据 缓冲 控制 电路
第五章 数字量输入输出
本章内容 简单I/O接口 并行输入输出接口 中断控制系统 计数定时接口 串行输入输出接口 直接存储器存取DMA 系统总线及接口
简单I/O接口
什么是I/O接口(电路)? I/O接口是位于系统与外设间、用来协助完成数据 传送和控制任务的逻辑电路 PC机系统板的可编程接口芯片、I/O总线槽的电 路板(适配器)都是接口电路
I/O CH CK D7 D6 D5 D4 D3 D2 D1 D0 I/O CH RDY AEN A19 A18 A17 A16 A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
IBM PC/XT总线插槽引脚信号
IN AL ,21H
10110 10112 IN AL,21H 存储器 /MEMR 10112 21
A9A8A7A6A5 /IOR 0 0 0 0 1 1 A0
CPU系统
/IOR
A1 A0 0 1
/AEN
/Y0 /Y1 /Y2 /Y3 /Y4 /G2B /Y5 /G2A /Y6 G1 /Y7 A B C
A0 1 /CS 40H 41H 42H 43H
A1 A0 /CS 端口1 00 端口2 01 端口3 10 端口4 11 8253