微型计算机数据传输接口40,第5章 微型计算机与外设之间的数据传输.ppt

第5章 微型计算机与外设之间的数据传输

5.1接口电路的概述 微型计算机各种接口框图 5.2 CPU与外设之间所传送的信息类型 CPU与I/O端口之间所交换的信息,可以有下列几种类型: 数据信息:包括数字量、模拟量、开关量等,可以输入也可以输出 状态信息:这是I/O端口送给CPU的有关本端口所对应的外设 当前状态的信息。供CPU进行分析、判断、决策。 控制信息:这是CPU送给I/O端口的控制命令,使相应的外部 设备完成特定的操作。 数据信息、状态信息和控制信息是不同类型的信息,它 们所起的作用也不一样。但在8086/8088微机系统中,这三种、不同类型的信息的输入、输出过程是相同的。为了加以区分,可以使它们具有不同的端口地址,在端口地址相同的情况下,可以规定操作的顺序,或者在输入/输出的数据中设置特征位。 传送方式有并行和串行两种。 5.3 接口部件的I/O端口  I/O接口电路的连接 5.3.1I/O接口电路中的基本寄存器 1.数据端口 用于中转数据信息。一种情况是CPU通过数据总线,将待传送给外设的数据先传送到数据端口,然后由I/O设备通过与I/O接口电路相连接的数据线取得该数据 另一种情况是I/O设备首先将输入数据锁存于数据端口,然后,CPU通过数据端口将该数据读入CPU中。数据端口一般既有输出寄存器(或称输出锁存器),又有输入寄存器(或称输入锁存器) 2、命令端口   用于传送对I/O设备的命令信息。CPU将命令信息通过数据总线写入I/O接口电路的命令寄存器中,然后传送到I/O设备,以便控制外设的操作。它由输出寄存器组成,命令端口是一个输出端口 3、状态端口   用于传送外设所处的状态信息。状态端口是输入端口,CPU通过读取状态端口的数据,以此了解外设当前所处的工作状态,比如,如果是输入设备,则可以通过状态信息了解输入设备是否有了等待输入的新数据,如果是输出设备,CPU通过读入的状态信息,可以了解输出设备是否作好了接受CPU传送新数据的准备。显然,1bit的状态信息可以反应1个外设的两种状态,1个8位的状态端口则可以反应外设的8个状态信息    总之,I/O接口电路中一般有数据端口、命令端口以及状态端口,每个端口地址是不相同的,CPU均通过数据总线来传送三种端口的数据。有些I/O接口中,还有中断控制逻辑电路,以便外设与CPU之间以中断方式进行输入或输出,其优点是可以提高CPU的工作效率 5.3.2 I/O端口的编址方式 两种I/O端口的编址方式 二、专门的I/O编址方式 专用I/O编址的优缺点 优点:不占用内存空间,使用专门I/O指令访问I/O端口,I/O速度快  缺点:CPU的引脚上必须具有能区分出访问内存还是访问I/O端口的信号,作为I/O接口电路中端口译码电路以及存储器片选译码电路的输入信号 5.4.1 接口电路的主要功能 设备选择功能 数据缓冲功能 接收和执行CPU命令的功能 寄存外设状态的功能 信号的转换功能 数据宽度变换的功能 可编程功能 5.5 CPU与I/O设备传输数据的几种方式   CPU以及I/O设备的种类繁多,CPU与I/O设备所构成的系统不可能完全相同,CPU与I/O设备之间传输数据的方式也不完全相同,接口电路的结构与功能也不同,驱动程序也不相同    传输数据的方式:无条件I/O传送方式、查询式输入输出方式、中断控制方式、DMA方式.   例:假设状态端口与数据端口的地址分别为300H和301H,状态信息从数据总线上的D0位读入CPU中,查询式输入程序段如下: MOV DX,300H ; 状态口地址传送给DX ABC:IN AL,DX ;  读入状态信息 TEST AL,01H ; AL∧01H,影响ZF标志 JZ ABC ;  如果状态信息为0转ABC MOV DX,301H; 数据端口地址传送给DX IN AL,DX ; 读入数据信息   例:假设状态端口与数据端口的地址分别为3FOH和3F1H,状态信息从数据线上D7位读入CPU中,查询式输出程序段如下: MOV DX,3F0H ; 状态口地址传送给DX CBA:IN AL,DX ; 读入状态信息 TEST AL,80H ; AL∧80H,影响ZF标志 JZ CBA ; 如果状态信息为0则转CBA MOV DX,3F1H ; 数据端口地址传送给DX MOV AL,[SI] ; 从内存读取数据给AL OUT DX,AL ; 向数据口输出数据 从图可以看出,当CPU与I/O设备之间采用查询式输入输出方式交换数据时,CPU必须顺序查询每一

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值