- 1、本文档共27页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章 输入输出接口 I/O接口概述 无条件传送方式 查询传送方式 中断传送方式 控制总线CB 数据总线DB 地址总线AB I/O设备 I/O接口 存储器 系统总线 微处 理器 I/O接口概述 I/O接口概述 I/O接口:是位于系统与外设间、用来协助完成数据传送和控制任务的逻辑电路。 微机的外部设备多种多样,彼此差别很大,它们不能与CPU直接相连。必须经过中间电路再与系统相连,这部分电路被称为I/O接口电路。 I/O接口的主要功能 对输入输出数据进行缓冲和隔离 对信号的形式和数据的格式进行变换 对I/O端口进行寻址 与CPU和I/O设备进行联络 I/O接口的典型结构 控制总线CB 地址总线AB I/O接口电路 数据 控制 状态 数据总线DB CPU 外设 控制寄存器 状态寄存器 数据寄存器 I/O接口的外部特性 面向CPU一侧的信号:用于与CPU连接。主要是数据、地址和控制信号。 面向外设一侧的信号:用于与外设连接。信号的功能定义、时序及有效电平等差异较大。 I/O接口的可编程性 许多I/O接口电路具有多种功能和工作方式,可以通过编程的方法选定其中一种。 接口软件有两部分工作:初始化程序段——设定芯片工作方式等;数据交换程序段—负责外设和系统间信息交换。 I/O端口的编址 I/O端口单独编址:I/O地址空间独立于存储地址空间,如8086/8088。 I/O端口与存储器统一编址:它们共享一个地址空间,如M6800。 I/O端口统一编址 优点: 不需要专门的I/O指令 I/O数据存取灵活 缺点: I/O端口要占去部分存储器地址空间 不易分清访问存储器和访问外设 内存 部分 I/O 部分 存储器空间 00000 FFFFF I/O端口单独编址 优点: I/O端口的地址空间独立 专门的I/O指令使程序清晰易读 缺点: I/O指令没有存储器指令丰富 内存 空间 I/O 空间 FFFFF 0 FFFF 8088的I/O端口 8088的I/O端口采用单独编址方式,只能通过I/O指令与外设进行数据交换;呈现给程序员的外设是端口,即I/O地址。 用于寻址外设端口的地址线为16条,端口最多为216=65536个(64K),端口地址为0000H~FFFFH。 8088的I/O端口指令 利用AL寄存器,输入输出一个字节。 输入指令 IN AL,i8 ;字节输入,直接寻址 IN AL,DX ;字节输入,间接寻址 输出指令 OUT i8,AL ;字节输出,直接寻址 OUT DX,AL ;字节输出,间接寻址 8088的I/O端口寻址方式 直接寻址:只用于寻址00H~FFH前256个端口,操作数i8表示端口号。 间接寻址:可用于寻址全部64K个端口,DX寄存器的值就是端口号。 对大于FFH的端口只能采用间接寻址方式。 数据传送方式 无条件传送 查询传送 中断传送 无条件传送方式 在CPU与慢速变化的设备交换数据时,可以认为它们总是处于“就绪”状态,随时可以进行数据传送,这就是无条件传送。 适于简单设备,如LED数码管、按键或按纽等。 无条件传送的前提是:外设必须随时就绪。 无条件传送接口电路 +5V K7 K1 K0 D0~D7 A0~A15 CLK LS06 反相 驱动器 LS244 三态 缓冲器 8000H 译码 +5V LED0 LED7 … … G IOW IOR LS273 8D 锁存器 无条件输入输出 输入时执行IN指令 MOV DX,8000H IN AL,DX MOV BUFIN,AL 输出时执行OUT指令 MOV AL,BUFOUT MOV DX,8000H OUT DX,AL 查询传送方式 CPU需要先查询外设的工作状态,在外设可以交换信息的情况下再进行数据输入或输出。 特点:工作可靠,适用面宽,但传送效率低。 查询传送的两个环节 ⑴查询环节 寻址状态口 读取状态寄存器的标志位 若未绪就继续查询,直至就绪 ⑵传送环节 寻址数据口 是输入,通过输入指令从数据端口读入数据 是输出,通过输出指令向数据端口输出数据 输入状态 就绪? 数据交换 Y N 查询输入接口电路 +5V 8D 锁存器 8位 三态 缓冲器 译码 1位 三态 缓冲器 A0~A15 8000H 8001H D0~D7 D0 输入 设备 IOR STB IOR R Q D 查询输入程序 MOV DX,8000H ;DX指向状态端口 S1:IN AL,DX ;读状态端口 TEST AL,01H ;测试标志位D0 JZ S1 ;D0=0,未就绪,继续查询 INC DX
文档评论(0)