第8章微型计算机输入输出接口技术.ppt
文本预览下载声明
外设是用来实现人机交互的一些机电设备。不能直接挂在总线上,必须通过接口和系统相连,因为存在下列不匹配: 特点: 端口与存储器分别独立编址 端口不占用内存空间 设有专门的 I/O指令对端口进行读写,指令执行速度快 对内存操作的指令不能用于I/O端口 门电路: 与门、非门、或门、与非门、或非门等 译码器: 2-4线译码器 74LS139 3-8线译码器 74LS138 4-16线译码器 74LS154 等 据端口地址确定地址信号A15-A0的取值, 用门电路、译码器或两者组合实现满足此取值情况的电路。 8.2 CPU与外设间的数据传送方式 一、 无条件传送方式 二、 条件传送方式 ( 查询方式 ) 三、 中断传送方式 四、 DMA传送方式 ( Direct Memory Access ) 一、无条件传送方式 ? 实现方法 CPU不查询外设工作状态, 与外设速度的匹配通过在软件上延时完成, 在程序中直接用I/O指令,完成与外设的数据传送 ? 特点 1. 适用于外设动作时间已知,在CPU与外设进行数据传送时,外设保证已准备好的情况 2. 软硬件十分简单。 二、条件传送方式(查询传送方式) ?实现方法: 在与外设进行传送数据前,CPU先查询外设状态, 当外设准备好后,才执行I/O指令,实现数据传送 ?特点: 1. CPU通过不断查询外设状态,实现与外设的速度匹配 2. CPU的工作效率低 三、中断传送方式 ? 实现方法: 1. 当外设准备好,向CPU发出中断请求 2. CPU在满足响应中断的条件下,发出中断响应信号; 3. CPU暂停当前的程序,转 去执行中断服务程序, 完成与外设的数据传送; 4. CPU从中断服务程序返回,继续执行被中断的程序 四、DMA 传送方式(直接存储器存取方式) ? 实现方法: 1. 由专用接口芯片DMA控制器 (称DMAC) 控制传送过程, 2. 当外设需传送数据时,通过?DMAC向CPU发出总线请求; 3. CPU发出总线响应信号,释放总线; 4. DMAC接管总线,控制外设、内存之间直接数据传送 DMA传送方式的特点: 1. 外设和内存之间,直接进行数据传送,不通过CPU, 传送效率高。适用于在内存与高速外设、或两个高速外设之间进行大批量数据传送。 2. 电路结构复杂,硬件开销较大。 ?查询传送方式,编程流程: N Y 从状态端口读入状态信息 从数据端口传送一个数据 外设准备好否? 例1 查询方式输入 假设 外设的状态端口为21C H, 其中D4=1时,表示外设数据准备好 外设的数据端口为218 H。 实现从外设读入50H个字节到内存缓冲区buffer中。 21CH端口 状态端口 218H端口 数据端口 地址 译码 数据 缓冲 控制 电路 输入 外 备 C P U 地址线 数据线 控制线 从21CH状态端口 读入外设状态信息 从218H数据端口 读入一个字节数据 Y N D4=1, 外设准备好否? N 50H个数据传送结束? Y 编程从外设读入50H个字节到内存缓冲区buffer中 、、、 MOV AX, SEG buffer ;取缓冲区首地址 MOV DS, AX LEA DI, buffer MOV CX, 50H ;传送个数 next: MOV DX, 21CH ask: IN AL, DX ;从状态端口读入状态信息 TEST AL, 0001 0000B ;检测D4位 JZ ask ;D4=0,继续查询 MOV DX, 218H IN AL, DX ;从数据端口读入数据 MOV [DI], AL ;送缓冲区 INC DI ;修改缓冲区指针 LOOP next ;传送下一个 、、、 查询方式输入程序段: 例2 查询
显示全部