第7章输入和输出1.ppt

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

输入和输出设备是计算机系统的重要组成部分。程序、原始数据和各种现场采集到的资料和信息,都要通过输入设备输入至计算机。计算结果或各种控制信号要输出给各种输出设备,以便显示、打印和实现各种控制动作。常用的输入设备有键盘 Key Board 、鼠标、扫描仪,或者经过A/D 模/数 转换的现场信息等。 CPU寻址外设可以有两种方式: 存储器对应输入输出方式和端口寻址的输入输出方式。 1. 存储器对应输入输出方式 把一个外设端口作为存储器的一个单元来对待,故每一个外设端口占有存储器的一个地址。从外部设备输入一个数据,作为一次存储器读的操作;而向外部设备输出一个数据,则作为一次存储器写的操作。 2. 端口寻址的输入输出方式 实际上是以端口 Port 作为地址的单元,因为一个外设不仅有数据寄存器还有状态寄存器和控制命令寄存器,它们各需要一个端口才能加以区分,故一个外设往往需要多个端口地址。 CPU用地址来选择外设。通常专用的I/O指令 IN,OUT ,只用一个字节作为端口地址,故最多可寻址256个端口。而用DX间接寻址外设时,则端口地址是16位的,可寻址216 64K个端口地址。 CPU与一个外设之间交换的信息,如图7-1所示。 2. 状态信息 Status 在输入时,有输入设备的状态信息是否准备好 Ready ;在输出时,有输出设备的状态信息是否有空 Empty ,若输出设备正在输出信息,则以忙 Busy 指示等。 3. 控制信息 Control 例如控制输入输出设备启动或停止等信息。 CPU与外设的信息交换称为通信 Communication 。基本的通信 方式有两种:并行通信与串行通信方式,如图7-4所示。 并行通信——数据的各位同时传送; 串行通信——数据一位一位顺序传送。 当输入设备的数据已经准备好后便发出一个选通信号,一方面把数据送入锁存器,另一方面使D触发器为“1”,给出“准备好” Ready 的状态信号。而数据信号与状态信号必须由不同的端口输至CPU数据总线。 当CPU要由外设输入信息时,先输入状态信息,检查数据是否已经准备好,当数据已经准备好后,才输入数据。读入数据的命令,使状态信息清“0”。 查询部分的程序如下: POLL: IN AL,STATUS_PORT;从状态端 口输入状态信息 TEST AL,80H;检查READY是否为1 JE POLL;未READY 0,循环 IN AL,DATA_PORT;READY,从 数据端口输入数据 这种CPU与外设的状态信息的交换方式,称为应答式,状态信息称为“联络”或“握手” Handshake 信息。 2. 查询式输出 在输出时,CPU也必须了解外设的状态,看外设是否有空 即外设不正处在输出状态,或外设的数据寄存器是空的 ,若有空,则CPU执行输出指令,否则就等待。其方框图如图7-12所示。 当输出设备把CPU要输出的数据输出以后,发出一个ACK Acknowledge 信号,使D触发器置“0”,即使“Busy”线为0 Empty Busy 。 当CPU接收到这个状态信息后就执行输出指令。输出指令执行后,由地址信号和IO/M及WR相“与”后,发出选通信号,把在数据线上输出的数据送至锁存器。 同时,令D触发器置“1”,它一方面通知外设输出数据已经准备好,可以执行输出操作;另一方面在数据由输出设备输出以前,一直为“1”,告诉CPU CPU通过读状态端口而知道 外设“Busy”,阻止CPU输出新的数据。 查询部分的程序为: POLL: IN AL,STATUS_PORT;从状态端口输 入状态信息 TEST AL,80H;检查BUSY位 JNE POLL;BUSY则循环等待 MOV AL,STORE;否则,从缓冲区取数据 OUT DATA_PORT,AL;从数据端口输出 3. 一个采用查询方式的数据采集系统 一个有8个模拟量输入的数据采集系统,用查询的方式与CPU传送信息,其电路如图7-15所示。 POLL: IN AL,2;输入状态信息D0 SHR AL,1 JNC POLL;若未READY 0, 程序循环等待 IN AL,3;否则,输入数据 STOSB ; 存至内存 ,AL存入[DI] INC DL;修改多路开关控制 信号,指向下一个模拟量 JNE AGAIN;8个模拟量未输 入完,循环已完,执行别的程序段 在上述的查询传送方式中,CPU要不断地询问外设,当外设没有准备好时,CPU要等待,这样就浪费了CPU的时间。而且许多外设的速度是较低的,如键盘、打印机等,它们输入或输出一个数据的速度是很慢的。为了提高CP

文档评论(0)

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

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

1亿VIP精品文档

相关文档