IO接口电路的典型结构输入输出的控制方式.ppt

IO接口电路的典型结构输入输出的控制方式.ppt

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第六章 接口 教学重点 I/O接口电路的典型结构 输入输出的控制方式 DMA控制器8237A及应用 I/O接口概述 为什么需要I/O接口(电路)? 微机的外部设备多种多样,其工作原理、驱动方式、信息格式、以及工作速度方面彼此差别很大,它们不能与CPU直接相连,必须经过中间电路再与系统相连 这部分电路被称为I/O接口电路 I/O接口概述(续1) 什么是I/O接口(电路)? I/O接口是位于系统与外设间、用来协助完成数据传送和控制任务的逻辑电路 I/O接口的主要功能 ⑴ 对输入输出数据进行缓冲和锁存 ⑵ 对信号的形式和数据的格式进行变换 微机直接处理:数字量、开关量、脉冲量 ⑶ 对I/O端口进行寻址 ⑷ 与CPU和I/O设备进行联络 I/O接口的典型结构 接口电路的内部结构 CPU与外设主要有数据、状态和控制信息需要相互交换,于是从应用角度看内部: ⑴ 数据寄存器 保存外设给CPU和CPU发往外设的数据 ⑵ 状态寄存器 保存外设或接口电路的状态 ⑶ 控制寄存器 保存CPU给外设或接口电路的命令 接口电路的外部特性 主要体现在引脚上,分成两侧信号 面向CPU一侧的信号: 用于与CPU连接 主要是数据、地址和控制信号 面向外设一侧的信号: 用于与外设连接 提供的信号五花八门 功能定义、时序及有效电平等差异较大 接口电路芯片的分类 接口电路核心部分往往是一块或数块大规模集成电路芯片(接口芯片): 通用接口芯片 支持通用的数据输入输出和控制的接口芯片 面向外设的专用接口芯片 针对某种外设设计、与该种外设接口 面向微机系统的专用接口芯片 与CPU和系统配套使用,以增强其总体功能 接口电路的可编程性 许多接口电路具有多种功能和工作方式,可以通过编程的方法选定其中一种 接口需要进行物理连接,还需要编写接口软件 接口软件有两类: 初始化程序段——设定芯片工作方式等 数据交换程序段——管理、控制、驱动外设,负责外设和系统间信息交换 I/O端口的编址 接口电路占用的I/O端口有两类编排形式 I/O端口单独编址 I/O地址空间独立于存储地址空间 如8086/8088 I/O端口与存储器统一编址 它们共享一个地址空间 如M6800 I/O端口单独编址 优点: I/O端口的地址空间独立 控制和地址译码电路相对简单 专门的I/O指令使程序清晰易读 缺点: I/O指令没有存储器指令丰富 I/O端口与存储器统一编址 优点: 不需要专门的I/O指令 I/O数据存取与存储器数据存取一样灵活 缺点: I/O端口要占去部分存储器地址空间 程序不易阅读(不易分清访存和访问外设) 8088/8086的输入输出指令 输入指令(演示) IN AL,PORT ;字节输入,直接寻址 IN AL,DX ;字节输入,间接寻址 IN AX,PORT ;字输入,直接寻址 IN AX,DX ;字输入,间接寻址 输出指令(演示) OUT PORT,AL ;字节输出,直接寻址 OUT DX,AL ;字节输出,间接寻址 OUT PORT,AX ;字输出,直接寻址 OUT DX,AX ;字输出,间接寻址 8088/8086的I/O端口 8088只能通过输入输出指令与外设进行数据交换;呈现给程序员的外设是端口(Port),即I/O地址 8086用于寻址外设端口的地址线为16条,端口最多为216=65536(64K)个,端口号为0000H ~ FFFFH 每个端口用于传送一个字节的外设数据 I/O寻址方式 8088/8086的端口有64K个,无需分段,设计有两种寻址方式 直接寻址:只用于寻址00H ~ FFH前256个端口,操作数i8表示端口号 间接寻址:可用于寻址全部64K个端口,DX寄存器的值就是端口号 对大于FFH的端口只能采用间接寻址方式 数据交换方式 如果输入输出一个字节,利用AL寄存器 如果输入输出一个字,利用AX寄存器 输入一个字,实际上是从连续两个端口输入两个字节,分别送AL(对应低地址端口)和AH(对应高地址端口) 输出一个字,实际上是将AL(对应低地址端口)和AH(对应高地址端口)两个字节的内容输出给连续两个端口 IN指令(从20H端口输入一个字) 字输入,直接寻址 in ax,20h 字输入,间接寻址 mov dx,20h in ax,dx OUT指令(向300H端口输出一个字节) 唯一的方法:间接寻址,字节量输出 mov al,bvar ;bvar是字节变量 mov dx,300h out dx,al I/O地址的译码 I/O地址的译码方法与存储器地址的译码方法一样,但有它的特点: 常采用部分译码方式。可以是中间地址线不连接、也有最低地址线不连接的情况 为了给系统一定的选择余地,有些接口电路利用比较器、开关或跨接器等进行多组I/O地址的译码 除采用

文档评论(0)

yurixiang1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档