第七章 基本输入输出接口
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3. 与CPU接口 (1)数据总线缓冲器; (2)读/写控制逻辑。
二、82C55外部特性
1. 与外设连接的引脚 分为PA7~PA0、PB7~PB0和PC7~PC0三组,分别对 应于A、B、C三个端口,全为双向、三态引脚。 2. 与CPU连接的引脚
• RESET——复位输入信号,高电平有效。复位时 清零所有内部寄存器,置A、B、C三个端口为输 入方式,对应的PA7~PA0、PB7~PB0、PC7~PC0引 脚均为高阻状态。
端口B
一、82C55内部结构
1. 外设接口 ① 端口A、B和C可与外部设备相连接 ② 用于数据输出时具有锁存/缓冲器功能 ③ 数据输入时A口、B口具有锁存功能,C口具有缓冲功能。
④ 端口C可作为外设控制和状态信息的端口。它可以分成 为两个4位的端口,每个端口包含一个4位的输入/输 出引脚。
2. 内部逻辑 内部逻辑包括A组和B组控制电路。这是两组根据CPU的命 令字控制82C55工作方式的电路。每组控制电路从读/写 控制逻辑接受各种命令,从内部数据总线接收控制字并 发出适当的命令到各自相应的端口
三、输入输出端口地址译码
• 考虑M/ IO =0为I/O操作;
• 长格式I/O指令可只译码A7~A0,短格式 I/O 指令必须译码A15~A0地址线; • 如同存储器一样,8086CPU的I/O系统包含两 个8位I/O体,如下图所示。8088CPU只有一个 I/O体,执行16位I/O指令时,需要两次总线 操作,分别读/写高/低字节;
片选、内部端口选择线(寻址内部端口)、读/写控制等;
与外设连接引脚;
数据线、控制输出与外设状态输入等引脚;
(4)命令字与初始化编程
• 将命令字写入命令口,芯片内部逻辑解释命令字 后即可规定芯片功能; • 正常操作芯片前一般要求初始化芯片。
一、82C55内部结构
• 82C55内部共有四个独立编址端口 一个命令口 三个相互独立的输入/输出数据端口(端口A、B 和C ) 数据口具有可编程选择的多种功能
A组方式选择位 00——方式0 01——方式1 1×——方式2 A口: 0——输出 1——输入 PC7 ~ PC4 : 0——输出 1——输入
2. 82C55按位置位/复位的控制字
• 端口C置位/复位控制字格式
D7
标识位 D7=0
D6 D5 D4 D3 D2 D1 D0
未使用 位选择 000——bit0 001——bit1 010——bit2 011——bit3 100——bit4 101——bit5 110——bit6 111——bit7 选中位操作: 1——置1 0——清0
× × × 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 1 1 0 1 0 0 1 0 1
三、82C55的控制字
1. 82C55方式选择控制字格式
控制 标识 A组控制 B组控制
D7
标识位 D7=1
D6 D5 D4 D3 D2 D1 D0
PC3~PC0: 0——输出 1——输入 B口: 0——输出 1——输入 B组方式选择位 0——方式0 1——方式1
无条件传送 查询传送 中断控制方式 存储器直接存取控制方式
第二节
8086/8088 CPU与外设间数据交换方式
一、程序控制方式 程序控制方式是指CPU与外设间的数据交换在程序 控制下进行 无条件传送方式 条件传送方式
1. 无条件传送方式
• 无条件输入 不管外设状态, CPU执行IN指令直接从端口输 外设已经准备好, 入即为无条件输入。 外部控制过程的动 • 无条件输出 作时间固定 不管外设状态,CPU执行OUT指令直接将数据输 出到端口即为无条件输出。 • 无条件输入输出要求外设在任何时候都能与 CPU交换信息; • 输入端口只需缓冲,而输出端口一般都需要加 入锁存器。
执行:OUT 0FEH,AL 时,AL内容送74LS374#1 执行:OUT 0FFH,AL 时,AL内容送74LS374#2 执行:OUT 0FEH,AX 时,AL内容送74LS74#1,AH内 容送74LS74#2。
需要注意的是,执行OUT 0FFH,AL指令时,AL内容是 由CPU数据总线的D15~D8送出。
一、82C55内部结构
端口A A组 控制 数据总线 D7~ D0 A0 A1 RESET CS RD WR CPU接口 内部控制逻辑 外设接口 数据总 线缓冲 8位内部 数据总线 读/写 控制 逻辑 B组 控制 C口 高四位 C口 低四位 I/O PA7~PA0 I/O PC7~PC4 I/O PC3~PC0 I/O PB7~PB0
ALE
AD15~AD0
地址输出 数据输出
WR 由DX或指令给 出的端口地址 AL或AX中数 据输出到系统 数据总线
OUT指令执行时序示意图
此时接口电 路应捕获数 据总线上数 据
2、I/O接口编址方式
端口:外设接口中可被主机直接访问的寄存器。 端口编址:便于访存,为端口编译地址。
(1)独立编址输入输出 • I/O空间与存储器空间分开编址; • 设置专用的输入输出指令; • 设置专用的控制信号M/ IO (2)存储器映像输入输出 • I/O操作与存储器操作指令相同; • I/O接口占用存储空间;
M/IO
≥1
D7~D0
74LS374#1
DI7~DI0 Q7~Q0
WR A7 A6 A5 A4 A3 A2 A1
A0
≥1
OE CLK 0FEH
&
D15~D8
74LS374#2
DI7~DI0 Q7~Q0
BHE
≥1
OE CLK 0FFH
8位或16位输出电路原理图
第二节
8086/8088 CPU与外设间数据交换方式
• ——芯片选择信号输入、低电平有效。只有 当它为低电平时, 82C55才才能被CPU操作。 CS
• A0和A1——芯片内部寄存器地址选择信号, 当 CS 有效时,82C55被选中,再由A0、A1的 编码决定是选端口A、B、C还是控制寄存器。 • RD ——读信号,输入,低电平有效。为低 电平时,82C55内部A、B和C可输出到数据 引脚D7~D0。 • WR ——写信号,输入,低电平有效。为低 电平时,数据引脚D7~D0上的数据或命令被 82C55读入。 • 82C55的操作逻辑。如下表。
状态信息BUSY 状态端口译码 ≥1 RD
查询式输出接口电路原理
外设接收完数据后应给出应答信号ACK,表示数据 已接收到,BUF为数据准备好信号,用于通知外设 CPU已输出新的数据。查询式I/O的实质是软硬件配 合完成外设与CPU之间的状态“握手”与数据交换。
查询输出方式的基本程序
设外设状态信息接到系统数据总线的D7位。
第七章
基本输入输出接口
• 本章学习内容: 1、理解外设与接口之间的关系; 2 、计算机系统引入I/O接口电路的原因; 3 、8086CPU的I/O指令与I/O空间编址; 4 、I/O接口与CPU的数据交换方式; 5、82C55接口芯片的基本功能及用法; 6、8253/8254计数器/定时器芯片; 7、8259A可编程中断控制器。
• IN指令执行时序; • OUT指令执行时序。
总线周期
T1
T2 T3,Tw
T4
CLK
M/IO
ALE
AD15~AD0
地址输出
浮空
数据输入
RD 由DX或指令给 出的端口地址 数据由接口电路准 备好并送上系统数 据总线
CPU采样数 据总线
IN指令执行时序示意图
总线周期
T1
T2 T3,Tw
T4
CLK
M/IO
选通信 号STB +5 V CLR
中断控制方式的输入接口电路原理
第三节 82C55并行I/O接口
(1)使用可编程芯片的原因 简化应用电路设计,增加硬件电路灵活性。 (2)可编程芯片内部的一般结构 通常芯片内部有多个端口,包括命令口、状态口 和数据口 多个内部端口由内总线连接。
(3)外部特性
• 引脚大致分为两部分 与CPU连接引脚
端口C置位/复位控制字
3. 82C55的初始化编程举例
82C55操作逻辑真值表
CS
A1
A0
RD WR
操作说明
1
× × × × 芯片未选中,数据总线为高阻态 1 0 0 0 0 1 1 1 1 1 数据总线为高阻态 1 非法操作,读控制寄存器无意义 1 读 A 口数据 1 读 B 口数据 1 读 C 口数据 0 写 A 口数据 0 写 B 口数据 0 写 C 口数据 0 命令写入控制口寄存器
第一节
微型计算机接口概述
地 址 总 线 AB 接口电路的基本功能是 在CPU与外部设备之间 建立信息交换通道; 输出设备 输入设备
微 处 理 器 CPU
存储器
I/O接 口
数据总线DB
控制总线 CB
• 对于一个计算机系统,通常包括多个外部设备,因而有 多个相配套的接口电路,CPU采用与存储器管理相类似 的方法管理接口;
设外设状态信息接到系统数据总线的D7位。
POLL:
IN AL,STATUS_PORT ;读状态端口 TEST AL,80H ;检查READY是否是1 JE POLL ;未准备好,循环再查 IN AL,DATA_PORT ;从数据端口输入数据
(2)查询式输出
选通信号 输 出 设 备 数据 锁存器 Q D ×8 BUF + D Q 5V ACK CLR ≥1 CPU数据总线 数据端口译码 WR
(1)查询式输入
数据端口译码信号 输 入 设 备 数据 锁存器 D Q ×8 选通信 号STB CLR D Q 查询方式输入原理 ≥1 RD
CPU数据总线
×8 状态信息READY 状态端口译码信号 ≥1
RD
+5V
当外设有数据要传送到CPU时,应将数据送上外设 数据总线并发出选通信号(STB)
查询输入方式的基本程序
二、I/O指令及其执行过程
1、I/O指令 IN IN IN IN AL,PORT AX,PORT AL,DX AX,DX OUT OUT OUT OUT PORT , AL PORT , AX DX , AL DX , AX
其中PORT为直接端口地址; 8086CPU能寻址216个I/O端口。
2、I/O指令的执行过程
一、输入输出接口功能描述
(1)数据缓冲功能;(CPU与外设工作速度匹配)
(2)接受和执行CPU命令的功能;
(3)信号转换功能;(用一组逻辑电平编码信息)
(4)设备选择功能;
(5)中断管理功能;(提高系统效率与事件响应速度)
(6)数据格式变换功能;(串并转换)
(7)可编程功能。(增加硬件电路灵活性)
数据的传输速度基本上决定于外设和存储器的速度 适用于高速I/O设备和成批数据交换,总线占用
二、中断控制I/O方式
• 中断控制I/O方式能及时处理系统中多个外 设的数据传输过程。
端口译码信号 输 入 设 备 数据 锁存器 D Q ×8 ×8 CPU数据总线 INTA D Q INT 中断请求触发器 ≥1 RD
POLL:
源自文库
IN AL,STATUS_PORT ;读状态端口 TEST AL,80H ;检查BUSY是否是1 JNE POLL ;未准备好,循环再查 MOV AL,DATA_OUT OUT DATA_PORT,AL ;从数据端口输入数据
三 DMA(直接存储器存取)方式
外部设备利用专用的接口电路直接和存储器进行高 速传送;不经过CPU
CPU数据总线 数据输出 至外设 Q7 ~Q0 D7 ~D0 OE CLK
三态缓冲 器
D7-D0
来自外设数据
G
地址 输入
≥1 端口 译码器 WR 端口译码信号
≥1
M/IO
RD
无条件传送方式的输入输出原理
2. 条件传送方式(查询方式)
• 条件传送即程序查询方式,是指CPU在传送数据前,首先通 过查询确认外设准备好了才传送数据,否则,CPU等待。从 而较好地解决了CPU与外设传送数据时不同步的问题。 查询的一般步骤: ①从I / O端口读入设备状态信息并确定外设是否准备好交换 数据; ②若外设没有准备好,则重复执行第①直到设备准备好为止; ③ CPU 执行I/O 指令,从I / O端口读 / 写入数据,同时复位I / O端口的状态字。
• I/O端口地址译码与存储器地址译码非常相似;
BHE=0
FFFF FFFD FFFB
A0=0
FFFE FFFC FFFA
0003 0001
对应D15~D8
0002 0000
对应D7~D0
8086中的I/O体
• 8086CPU中8位与16位I/O端口的译码。
例: 设两个输出端口地址为0FEH~0FFH,设计 其输出电路。