IO接口与8254.ppt

  1. 1、本文档共74页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
IO接口与8254

微型计算机接口技术 第八章 输入/输出系统 第八章 输入/输出系统 8.1 输入/输出系统概述 一、概述 一、概述 1、接口电路的作用 一、概述 1、接口电路的作用 CPU数据 → 输出接口电路 → 输出设备 CPU ← 输入接口电路 ← 输入设备数据 接口:是CPU与外部设备交换信息的中转站, 实现CPU或总线与外部设备信息交换。 二、常用的I/O指令 1、直接寻址的I/O指令 设n为8位端口地址 IN AL, n ; 端口地址为n的端口寄存器读数据?AL OUT n, AL ; AL的内容?端口地址为n的端口寄存器 IN AX, n ; (n)?AL, (n+1)?AH OUT n, AX ; AL?(n), (n+1)?AH 如: IN AL, 61H OUT 43H, AL 二、常用的I/O指令 2、DX间接寻址的I/O指令 当端口地址n超过8位二进制数时,只能使用DX间接寻址: IN AL, DX ; [DX]的端口寄存器内容?AL OUT DX, AL ; AL?[DX]端口寄存器 IN AX, DX ; [DX]?AL, [DX+1]?AH OUT DX, AX ; AL?[DX], AH?[DX+1] 如: MOV DX, 3F8H IN AL, DX ; 从3F8端口取1个字节?AL 注意:I/O指令只能在AL、AX、EAX和端口之间交换数据, 端口地址超过8位时只能使用DX间接寻址,但是不需要 加[ ],即不能写成 IN AL, [DX] 第八章 输入/输出系统 8.2 微机系统与外设交换信息的方式 第八章 输入/输出系统 8.3 8254定时器/计数器 几种端口数据传送方式的比较 3、中断传送方式 当外设的数据准备好时(此时外设将向CPU发出请求),CPU才进行数据传送(在中断服务程序中),其余时间CPU可以做其他事情,CPU效率大大提高; 但是,每传送一次数据,CPU都要执行一次中断服务程序,在中断服务程序中,除执行 IN 和 OUT 指令外,还要进行诸如保护断点、保护标志寄存器、保护某些通用寄存 、恢复等一 些工作,95%的时间是额外开销,从而传送效率并不高。 8.2 微机系统与外设交换信息的方式 几种端口数据传送方式的比较 4、DMA传送方式 在DMAC的控制下,外设直接和存储器(也可外设与外设,存储器与存储器之间)进行数据传送,而不必经过CPU。这种方式下的传送速度基本取决于外设与存储器的速度,从而传送效率大大提高。但需要DMA控制器,控制复杂,成本较高。 8.2 微机系统与外设交换信息的方式 8254的作用 计算机中如何实现定时、延时以及对外部事件或信号的计数? 软件方法(软件延时,软件对外部信号状态变化计数) 固定时间的硬件定时,硬件记录信号状态变化 可编程的硬件定时器件,计数器件 计算机系统中采用可编程定时器/计数器芯片Intel 8253和8254。可以根据需要,通过软件设置工作参数,以满足多种和变化的应用需要。 8.3 可编程定时器8253/8254 8254内部集成了3个16位的计数器, 每个计数器有6种工作方式,计数初值可设定为二进制或BCD码。最高工作频率10兆。 一、8254内部结构(24脚DIP) 数据总线缓冲器 完成和系统数据线的连接。8254和PC机系统总线通过 D0~D7共8根数据线连接。 8254内部结构 读写控制模块 选择芯片内部的控制寄存器和计数器,在读写命令的控制下对选中的端口进行读写操作。该模块和PC机总线通过5条控制线引脚相连。 8254内部结构 8254内部寄存器的读写操作 8254内部结构 无操作 × × 1 1 0 禁止 × × × × 1 无操作 1 1 1 0 0 读计数器2当前计数值 0 1 1 0 0 读计数器1当前计数值 1 0 1 0 0 读计数器0当前计数值 0 0 1 0 0 控制字写入控制字寄存器 1 1 0 1 0 计数初值写入计数器2 0 1 0 1 0 计数初值写入计数器1 1 0 0 1 0 计数初值写入计数器0 0 0 0 1 0 操作 A0 A1 #WR #RD #CS 控制寄存器 寄存CPU对8254初始化编程时写入的控制字,以决定计数器的工作方式并设置读出命令。 8254内部结构 计数器 每个计数器都有三条信号线: GATE:控制引脚;CLK:计数脉冲输入;OUT:计数器输出 8254内部结构 二、8254与系统总线的连接 8254内部结构 A9~A0的I/O口地址分为2段: A9~A2参加片选译码,译码输出负脉冲。使#CS=0,从而选中8254; A1,A0直接与芯片A1,

文档评论(0)

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

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

1亿VIP精品文档

相关文档