- 1、本文档共59页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[理学]第6章微机原理、汇编与接口技术
6.1 接口基本概念 为什么需要I/O接口(电路)? 外设多种多样,不能与CPU直接相连 须经中间电路(I/O接口)与系统相连 6.1.1接口的功能 1.接口: 两电路(设备)之间、协调动作的连接电路 2.功能: 进行数据传送控制(三总线的转换和连接) 6.1.2 接口控制原理 1. 数据传送方式 并行 一个数据单位(字/字节)的各位同时传送 速度快、距离短、成本高 (对应:并行接口,学习) 串行 数据按位进行传送 速度慢、距离远、成本低 (对应:串行接口) 2. 传送控制方式(CPU进行) 无条件方式——直接、延时传送数据 (外设随时就绪) 查询方式——查询接口状态,传送数据 (准备好?允许?耗时,踏步,简单) 中断方式——外设通知→CPU→中断?→执行 (效率高,复杂) DMA方式——直接存储器存取,外设?存储器 (不经CPU,高速,用专用控制器) 6.1.3 接口控制信号 两类信号: 总线控制信号:数据线、地址线、IOW*、IOR*等 输入输出控制信号:数据线、应答信号等 6.2 I/O指令和I/O地址译码 CPU进行I/O操作: 先片选(芯片)、再字选(某寄存器) 存储器操作? 两种I/O接口结构 6.2.1标准的I/O寻址方式 (分开编址) 特点: I/O端口地址独立 专门控制IOR*,IOW* 专门I/O指令易理解 缺点: I/O指令没有存储器指令丰富 6.2.2 存储器映像I/O寻址(统一编址) 特点: 指令众多,专门控制MEMR*,MEMW* I/O操作同存储器操作 缺点: 存储器地址空间↓ 程序不易阅读,耗时 6.2.3 输入输出指令(不适用第2章寻址方式) 1.输入指令(I/O口→CPU) IN AL/AX, Port ;直接端口寻址 (Port:端口号,取值0~255) IN AL/AX, DX ;间接端口寻址 (DX:内容为端口号,取值0~64K,实1K) 2.输出指令(CPU→I/O口) OUT Port, AL/AX ;直接端口寻址 OUT DX, AL/AX ;间接端口寻址 端口:具有一定独立操作功能,可由CPU寻址的一组寄存器 (8088/8086时宽度为8位) 6.2.4 I/O接口的端口地址译码 即接口地址译码: 理想(A0~A15)64K范围,0~FFFFH(端口号) 实际(A0~A9)1K范围,0~03FFH(端口号,系统占用部分) 1. 直接地址译码(实用多见) A0~A9(加AEN,IOR*,IOW*)→译码电路→片选 (组选,地址区域)、字选(寄存器选择) AEN:DMA控制器地址允许信号 AEN=1,为DMA期间,禁止其他使用系统总线 AEN=0,非DMA期间,允许CPU控制系统总线 (直接地址译码需AEN=0) G2B*=0? G2A*=0? 输入输出分开 I/O端口地址→I/O接口: 含IOW*/IOR*信息,含AEN信息,含A9~A0信息 80X86主机板的I/O译码电路(内端口) 6.3 数字通道接口 CPU系统?数字通道接口?外设 数字通道接口组成: 1,寄存器: 输出数据、控制信号(CPU→外设) 2,三态缓冲器:输入数据、状态信号(CPU←外设) 3,三态缓冲寄存器:1与2组合 (CPU?外设) 特点:基本I/O接口,均不可编程 6.3.1 数据输出寄存器 三态缓冲器+寄存器 可用IN、OUT指令 常用芯片:74LS373 ( P167 图4-2) 6.3.4 寄存器和缓冲器接口的应用 基本I/O接口芯片应用 138输出端?寄存器时钟端(CLK) ?缓冲器输出允许端(G*) 读缓冲器(输入、IN) 写寄存器(输出、OUT) # 纯地址译码信号,不能使基本I/O接 口芯片工作 例.输入8个开关的状态,并用LED对应显示开关的状态 (输入/输出接口) 控制程序 MOV DX,380H IN AL,DX OUT DX,AL 端口地址相同,用IOR*/IOW*来区分 亦可用不同的端口地址。如PS0?1G*,2G* PS1?CLK 改进:逐行逐列检查,送行检测值,看列反应?
文档评论(0)