- 1、本文档共63页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8章微机原理输入输出接口
第8章 输入输出接口 I/O接口含义 为什么使用I/O接口? 外部设备多种多样; 外部设备输入/输出信号各异; 外部设备响应速度各异; 微机总线与外部设备间也需要可控连接; 8.1 I/O接口概述 内部结构 数据寄存器:保存微处理器与外设之间交换的数据; 状态寄存器:保存外设当前的工作状态信息; 控制寄存器:保存微处理器控制接口电路和外设操作的有关信息; 外部特性 面向微处理器一侧的信号:与微处理器总线类似; 面向外设一侧的信号:与外设有关; I/O接口的主要功能 数据缓冲 匹配快速的微处理器与相对慢速的外设的数据交换 缓冲:实现接口双方数据传输的速度匹配。 信号变换 把信号相互转换为适合对方的形式; 计算机直接处理的信号; 数字量(0和1组成的信号编码); 开关量(只有两种状态的信号); 脉冲量(低脉冲信号,高脉冲信号); I/O接口的软件编程 接口芯片具有可编程性(Programmable); 命令字(控制字) 写入接口芯片、选择工作方式、控制数据传输; 初始化程序 选择I/O接口工作方式、设置原始工作状态等; 驱动程序 操纵I/O接口完成具体工作; 1. I/O端口与存储器独立编址 将I/O端口单独编排地址,独立于存储器地址; 优点: I/O端口的地址空间独立; 控制和地址译码电路相对简单; 专门的I/O指令使程序清晰易读; 缺点: I/O指令没有存储器指令丰富; 2. I/O端口与存储器统一编址 将I/O端口与存储器地址统一编排; 优点: 不需要专门的I/O指令; I/O数据存取灵活; 缺点: 占去部分存储器空间; 程序不易阅读; 3. I/O地址译码 与存储器地址译码在原理和方法上完全相同; I/O地址不太强调连续,多采用部分译码; 输入输出指令 输入指令IN: 数据从I/O接口输入到微处理器; IN AL/AX/EAX,i8/DX ;I/O地址[0-0FF]可以采用直接或DX间址; ;[100H-0FFFFH]只能DX间址; 输出指令OUT: 数据从微处理器输出I/O接口 OUT i8/DX,AL/AX/EAX I/O寻址方式 直接寻址 I/O指令直接提供8位I/O地址; 只能寻址最低256个I/O地址(00~FFH); 用i8表示I/O地址,表达形式上与立即数一样; DX间接寻址 用DX寄存器保存访问的I/O地址; 可寻址全部I/O地址(0000~FFFFH); 直接书写成DX,表示I/O地址; I/O数据传输量 8位I/O传输:I/O指令使用AL; 16位I/O传输:I/O指令使用AX; 32位I/O传输:I/O指令使用EAX; 8.2 外设数据传送方式 三态缓冲器:加有控制端的同相器或反相器 控制端T有效时,控制输入A端输出到Y端; 控制端T无效时,输出Y端呈现高阻状态; 74LS244:双4位三态同相缓冲器; 双向三态缓冲器:两个三态缓冲器构成; 输出允许控制端OE*:控制数据的输出; 方向控制端DIR:控制数据驱动的方向; 74LS245 :8位双向三态缓冲器芯片; 锁存器 使用D触发器构成 输入端为D端,控制端为C端; 两个相反的输出信号Q和Q*; 复位R或置位S控制端; 电平锁存:电平控制输出能跟随输入变化; 边沿锁存:输出只能锁存输入的状态; 74LS273:上升沿锁存的8位边沿锁存器; 74LS373:电平锁存的8位三态缓冲锁存器; 外部数据传输方式 1. 无条件传送 2. 程序查询传送 3. 中断传送 4. DMA传送 8.2.1 无条件传送 外设总是处于“就绪”状态,随时可以进行数据传送; 无条件传送的接口电路:只考虑数据缓冲 ; 无条件传送的软件编程:十分简单; 无条件传送接口电路 输入接口电路连接开关:读取开关状态; 输出接口电路连接发光二极管LED; 功能要求:开关闭合时,将相应LED点亮; 调用延时子程序DELAY保持一定时间; mov dx,8000h ;DX指向输入端口; in al,dx ;从输入端口读开关状态; not al ;求反 out dx,al ;送输出端口显示 call delay ;调子程序DELAY进行延时 8.2.2 查询传送 查询传送有查询和传送两个环节; 首先查询外设工作状态; 检测、等待外设准备就绪; 进行数据传输; 设计实现查询功能的电路; 连接外设的状态输入信号; 保存在状态寄存器中; 通过状态端口读取; 实际中常引入超时判断; 查询需大量时间,效率较低; 查询输入接口 读取状态端口查询外设状态,若已就绪,读取数据端口得到外设提供的数据 mov dx,5001h ;DX指向状态端口 status: in al,dx ;读状态端口 test al,01h ;测试状态位D0 jz status ;D0=0,未
文档评论(0)