第06章 微型计算机的输入输出.ppt_第1页
第06章 微型计算机的输入输出.ppt_第2页
第06章 微型计算机的输入输出.ppt_第3页
第06章 微型计算机的输入输出.ppt_第4页
第06章 微型计算机的输入输出.ppt_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第六章微型计算机的输入 输出 I O接口功能I O端口及其寻址方式输入 输出方式及CPU与外设通信的接口8086CPU的输入 输出 6 1I O接口功能一 CPU与外设通信特点需要有接口作为CPU与外设通讯的桥梁 速度信号种类 模拟 数字 并行 串行逻辑电平需要有数据信息传送之前的 联络 要传递的信息有三方面内容 状态 数据及控制信息 1 数据信息CPU和外设交换的基本信息是数据 数据信息大致可分为数字量 模拟量和开关量三种类型 2 状态信息状态信息反映了外设当前所处的工作状态 是外设发送给CPU的 用来协调CPU和外设之间的操作 3 控制信息控制信息是CPU发送给外设的 以控制外设的工作 接口电路通常包含一组能够与处理器交换信息的寄存器或缓冲器 称为I O端口数据端口 存放数据信息状态端口 存放状态信息 即反映外设当前工作状态的信息控制端口 存放控制信息 二 接口的功能进行地址译码或设备选择 以便使CPU能与某一指定的外部设备通讯 状态信息的应答 以协调数据传送之前的准备工作 进行中断管理 提供中断信号 进行数据格式转换 如正负逻辑的转换 串行与并行数据转换等 进行电平转换 如TTL电平与MOS电平间的转换 协调速度 时序控制 提供实时时钟信号 I O端口 存储单元 I O地址空间 存储器地址空间 整个地址空间 一 存储器映像的I O寻址存储单元和I O端口的地址统一编址 6 2I O端口及其寻址方式 这种编址方式的优点 利用多余的内存译码资源 可以用访向存储器的指令来访问I O端口 而访问存储器的指令功能比较强 不仅有一般的传送指令 还有算术 逻辑运算指令 以及各种移位 比较指令等 并且可以实现直接对I O端口内的数据进行处理 缺点是 由于I O端口占用了一部分存储器地址空间 因而使用户的存储地址空间相对减小 另外不利于程序阅读 存储单元 存储地址空间 I O端口 I O地址空间 2 I O映像的I O寻址I O端口地址与存储单元地址分开编址 特点 1 地址线 A15 A02 M IO 13 用I O指令 这种编址方式的优点是 1 I O端口不占用存储器地址 故不会减少用户的存储器地址空间 2 采用单独的I O指令 使程序中I O操作和其他操作层次清晰 便于理解 这种编址方式的缺点是 1 单独I O指令的功能有限 只能对端口数据进行输入 输出操作 不能直接进行移位 比较等其他操作 2 由于采用了专用的I O操作时序及I O控制信号线 因而增加了微处理器本身控制逻辑的复杂性 6 2输入 输出方式及CPU与外设通信的接口1 同步传送方式2 异步查询方式程序控制传送方式3 中断方式4 直接存储器存取方式 一 程序控制传送方式 一 同步传送方式 无条件方式 CPU直接与外设传送数据并不需要了解外设状态 认为外设已经准备就绪 直接与外设传送数据 CPU 译码 数据线 M IO WR 或门 地址线 接口 外设 输出 CPU 译码 数据线 M IO RD 或门 地址线 接口 外设 输入 74LS244 74LS273 例 硬件如下图所示 不断扫描开关Ki 当开关闭合时 点亮相应的LEDi 当地址为200H时 Y为低电平 分析 开关Ki闭合时 输入为低电平 0 而点亮相应LEDi 则输出为高电平 1 输入与输出的关系相反 编写程序时 若采取先读入开关状态 再分析每一位的状态 然后决定LED的亮灭 则该程序显得非常繁琐 CODESEGMENTASSUMECS CODEMAINPROCFARSTART PUSHDSMOVAX 0PUSHAXAGAIN MOVAH 1 读键盘缓冲区字符INT16HCMPAL 1BH 若为 Esc 键 则退出JZEXITMOVDX 200HINAL DX 读取开关状态NOTAL 取反OUTDX AL 输出控制LEDJMPAGAINEXIT RET 返回DOSMAINENDPCODEENDSENDSTART 二 异步查询方式在执行输入输出前 要先查询接口中状态寄存器的状态 CPU不断读取并测试外设的状态 如果外设处于 准备好 状态 输入设备 或 空闲 状态 输出设备 则输入或输出数据 对于条件传输来说 一个条件传输数据的过程一般由三个环节组成 1 CPU从接口中读取状态字 2 CPU检测状态字的相应位是否满足 就绪 条件 如果不满足 则转 3 如状态位表明外设已处于 就绪 状态 则传输数据 输入时 状态寄存器的状态指示要输入的数据是否已经准备就绪 数据线 状态线 外设 常用的状态线有IBF READY功能 1 输入设备准备好数据 状态线有效 2 CPU读数据端口 取走数据后 状态线转换为无效 1 STB有效 1 输入设备数据进入锁存器 2 IBF有效2 CPU读状态端口3 CPU读数据端口 同时清IBF 外设 STBIBF RD 1 2 3 输出时 状态寄存器的状态指示输出设备是否空闲 数据线 状态线 外设 常用的状态线有empty busy功能 1 输出设备空闲 BUSY无效 2 CPU写数据端口 输出设备输出数据 状态线转换为有效 1 CPU读状态端口 查BUSY线2 CPU写数据 1 数据进入数据锁存器 2 BUSY有效3 输出设备工作完毕 busy无效 外设 条件传送特点 优点 电路简单缺点 降低CPU效率 实时性不强 例 从终端往缓冲区输入1行字符 当遇到回车符 0DH 或超过81个字符时 输入结束 并自动加上一个换行符 0AH 如果在输入的81个字符中没有回车符 则在终端上输出信息 BUFFEROVERFLOW 设终端接口的数据输入端口地址为32H 数据输出端口地址为34H 状态端口地址为36H 状态寄存器的D1 1 表示输入缓冲器已准备好数据 CPU可读取数据 状态寄存器的D0 1 表示输出缓冲器已空 CPU可往终端输出数据 终端接口电路具有根据相应操作对状态寄存器自动置1和清0功能 具体程序如下 DATASEGMENTMESSDB BUFFEROVERFLOW 0DH 0AHBUFFERDB82DUP DATAENDSCODESEGMENTASSUMECS CODE DS DATASTART MOVAX DATAMOVDS AXLEASI BUFFERMOVCX 81INPUT INAL 36H 读状态端口TESTAL 02H 测输入状态D1位JZINPUT 未 准备好 转INPUT INAL 32H 读取输入字符MOV SI AL 输入字符存缓冲区INCSICMPAL 0DH 输入字符为回车否 LOOPNEINPUT 不是回车且接收字符个数未超过81 转INPUTJNEOVERFLOW 不是回车且接收字符个数超过81 转OVERFLOWMOVAL 0AH 是回车且接收字符个数 81 存换行符MOV SI ALJMPEXIT 转程序结束处理OVERFLOW MOVCX 17 初始化输出字符个数LEASI MESS 初始化显示字符串首址OUTPUT INAL 36H 读状态端口TESTAL 01H 测输出状态D0位JZOUPUT 输出缓冲器未空 转OUTPUT MOVAL SI 取出输出字符INCSIOUT34H AL 输出字符LOOPOUTPUTEXIT MOVAH 4CH 返回DOSINT21HCODEENDSENDSTART 三 中断方式当外设作好传送准备后 主动向CPU请求中断 CPU响应中断后在中断处理程序中与外设交换数据 在中断未发生时 CPU可以执行其他程序 这样可以提高CPU的利用率 BUSY 送打印机数据 BUSY 送打印机数据 BUSY 送打印机数据 BUSY 送打印机数据 检测状态线 检测状态线 中断申请信号 主程序 中断服务子程序 中断逻辑 主程序 中断服务子程序 中断申请信号 与程序查询方式相比 中断控制方式的数据交换具有如下特点 1 提高了CPU的工作效率 2 CPU具有控制外围设备服务的主动权 3 CPU可以和外设并行工作 4 可适合实时系统对I O处理的要求 二 直接存储器存取方式 DMA DirectMemoryAccess 在高速的外设或成块交换数据的情况 采用程序控制方式进行数据的传输 是无法满足要求的 在这种情况下 采用DMA方式 DMA方式是在外设与内存间建立起直接的通道 CPU不再直接参加外设和内存间的数据传输 当系统需要进行DMA传输时 将CPU对地址和数据及控制线的管理权交由DMA控制器进行控制 当完成了一次DMA数据传输后 再将这个控制权还给CPU 这些工作都是由硬件自动实现的 并不需要程序进行控制 ABDBCB CPUDMACRAM ROMI O CPU 外设 存储器 总线 执行程序指令的数据传送路径 DMA方式的数据传送路径 外设 外设 DMAC 内存 内存 DMAC DMA传送的几种形式 8086CPU为DMA提供两根信号线1 HOLD总线保持请求2 HLDA总线保持响应 ABDBCB CPUDMACMemoryI O HOLD HLDA 1 DMAC接收I O接口的DMA请求 并向CPU发出总线请求信号HOLD DMA的基本功能和步骤 2 当CPU发出总线回答信号HLAD后 接管对总线的控制 进入DMA传送过程 3 能实现有效的寻址 即能输出地址信息并在数据传送过程中自动修改地址 4 能向存储器和I O接口发出相应的读 写控制信号 5 能控制数据传送的字节数 控制DMA传送是否结束 6 在DMA传送结束后 能释放总线给CPU 恢复CPU对总线的控制 DMA的基本功能和步骤 1 DMAC接收I O接口的DMA请求 并向CPU发出总线请求信号HOLD 2 当CPU发出总线回答信号HLAD后 接管对总线的控制 进入DMA传送过程 3 能实现有效的寻址 即能输出地址信息并在数据传送过程中自动修改地址 4 能向存储器和I O接口发出相应的读 写控制信号 5 能控制数据传送的字节数 控制DMA传送是否结束 6 在DMA传送结束后 能释放总线给CPU 恢复CPU对总线的控制 6 38086CPU的输入 输出1 I O寻址64K2 8086CPU的I O指令 1 直接寻址输入 输出指令 八位端口地址 INAL n 字节输入 INAX n 字输入 OUTn AL 字节输出 OUTn AX 字输出 0000H00FFH 0100HFFFFH n 2 DX寄存器间接寻址输入 十六位端口地址 INAL DX 字节输入 INAX DX 字输入 OUTDX AL 字节输出 OUTDX AX 字输出 0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论