第6章 输入输出与接口技术_第1页
第6章 输入输出与接口技术_第2页
第6章 输入输出与接口技术_第3页
第6章 输入输出与接口技术_第4页
第6章 输入输出与接口技术_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

6.16.26.3接口概述I/O端口和I/O指令数据传送方式6.4基本输入输出接口设计第6章输入输出和接口技术微机原理与接口技术---中南大学出版社

输入输出(I/O)是指微型计算机与外界的信息交换,即通信(communication)。微型计算机与外界的通信,是通过输入输出设备进行的,通常一种I/O设备与微型机连接,就需要一个连接电路,我们称之为I/O接口。6.1接口概述

接口是用于控制微机系统与外设或外设与系统设备之间的数据交换和通信的硬件电路。接口设计涉及到两个基本问题,一是中央处理器如何寻址外部设备,实现多个设备的识别;二是中央处理器如何与外设连接,进行数据、状态和控制信号的交换。微机原理与接口技术---中南大学出版社

1.接口的一般定义

接口是一组电路,是中央处理器与存储器、输入输出设备等外设之间协调动作的控制电路。接口电路并不局限在中央处理器与存储器或外设之间,也可在存储器与外设之间,如直接存储器存取DMA接口就是控制存储器与外设之间数据传送的电路。6.1.1接口的功能微机原理与接口技术---中南大学出版社2.接口电路的功能接口是微处理器与存储器、输入输出设备等外设之间协调动作、交换信息的控制电路。接口电路并不局限于微处理器与存储器及外设之间,也存在于存储器和外设之间。接口电路的作用就在于把多种多样的外部设备与主机连接起来,实现通信双方的数据信号的处理和传输控制。因此,接口必须具备以下功能:微机原理与接口技术---中南大学出版社1).数据缓冲总线是微型计算机系统中传输信息的公共线路,任何外设或存储器都不允许长期占用总线,只允许被选中的外设或存储器在读/写操作时使用总线。此外,外设的工作速度与微处理器不匹配。因此,大多数外设不能直接和CPU的数据总线直接相连,要借助接口电路使外设与总线隔离,起缓冲、暂存数据的作用,使主机和外设协调一致的工作。微机原理与接口技术---中南大学出版社2).联络控制接口电路可以提供联络信号给微处理器和外设,协调主机和外设间数据传送速度不匹配的矛盾。大多数外设输入输出信息的速度远远低于微处理器,为同步外设与主机的工作,在输入输出控制中,常需要接口电路提供外设的工作状态给微处理器,同时接收主机发送给外设的命令,从而使主机与外设之间协调一致地工作。

微机原理与接口技术---中南大学出版社3).信号变换

外设的信息格式与微处理器不一致时,需要接口电路进行信息的变换。从本质上说,微处理器的信息格式是并行的数字信号,而外设由于其功能的多样性,信息格式也是多种多样的,对于一个具体的外部设备而言,其使用的信息可能是数字式的,也可能是模拟的;大部分外部设备是数字式的,但是又分并行的和串行的,这就需要进行电平变换、并串变换、数模变换等信号变换。

微机原理与接口技术---中南大学出版社4).外设寻址

由于微机系统中的接口电路不止一个,而且接口电路中有不同的寄存器,因此微处理器与外部设备进行信息交换时,首先必须对外部设备进行寻址,然后进行数据传输。外设的寻址一般由地址译码电路负责。微机原理与接口技术---中南大学出版社6.1.2接口中的信息类型数据信息:它是CPU与外设之间传送的主要信息,可分为数字量、模拟量和开关量三种形式。状态信息:是外设通过接口送往CPU的信息,作为外设与CPU之间交换数据的联络信号,反映了当前外设所处的工作状态。控制信息:是CPU通过接口传送给外设的信息,用来设置外设(包括接口)的工作方式、控制外设的工作等。外设的启动信号和停止信号就是常见的控制信息。微机原理与接口技术---中南大学出版社控制总线CB地址总线ABI/O接口电路数据控制状态数据总线DBCPU外设控制寄存器状态寄存器数据寄存器6.1.3接口电路的典型结构微机原理与接口技术---中南大学出版社

数据寄存器用来暂存微处理器和外设之间传送的数据,一般来说,输入接口采用缓冲器,输出接口采用锁存器。

控制寄存器用来接收微处理器发送的控制命令,以便完成对接口电路及外设的全部操作的控制。

状态寄存器用来存放外设及接口本身的状态,微处理器和外设根据状态寄存器的设置进行联络协调。微机原理与接口技术---中南大学出版社6.2.1接口部件的I/O端口每个接口电路中都包含三类寄存器,微处理器与外设进行信息交换时,不同信息存入接口中的相应寄存器,一般称这些寄存器为I/O端口,简称为端口(Port)。微机系统中的每一个端口都分配有一个地址,称为端口地址,微处理器通过端口地址实现对不同接口电路中的寄存器的寻址。6.2I/O端口和I/O指令微机原理与接口技术---中南大学出版社

微处理器进行I/O操作时,对I/O接口的寻址方式与存储器寻址方式相似。即必须完成两种选择:一是选择出所选中的I/O接口芯片(称为片选);二是选择出该芯片中的某一寄存器(称为字选)。

在微机系统中,一般有两种I/O端口的编址方式:一种是统一编址方式,一种是独立编址方式6.2.2端口地址译码微机原理与接口技术---中南大学出版社

1.统一编址方式又称为存储器映象I/O寻址方式,有3个特点:

(1)I/O接口与存储器共用同一个地址空间。即在系统设计时指定存储器地址空间内的一个区域供I/O设备使用,故I/O设备的每一个寄存器占用存储器空间的一个地址。这时存储器与I/O设备之间的唯一区别是其所占用的地址不同。

(2)CPU利用对存储器的存储单元进行操作的指令来实现对I/O设备的管理。

(3)CPU用存储器读/写控制信号(、)对I/O设备进行读/写控制。

统一编址方式微机原理与接口技术---中南大学出版社2.统一编址方式的优点:

(1)CPU对外设的操作可使用全部的存储器操作指令,故指令多,使用方便,如可对外设中的数据(存于外设的寄存器中)进行算术和逻辑运算,进行循环或移位等;(2)存储器和外设的地址分布图是同一个;(3)不需要专门的输入/输出指令。

3.其缺点有以下两种:(1)外设占用了内存单元,使内存容量减小;(2)存储器操作指令通常要比I/O指令的字节多,故加长了I/O操作的时间。微机原理与接口技术---中南大学出版社

独立编址方式有以下3个特点:

(1)I/O设备的地址空间和存储器地址空间是独立的、分开的,即I/O接口地址不占用存储器的地址空间。(2)微处理器对I/O设备的管理是利用专用的IN(输入)和OUT(输出)指令来实现数据传送的。

(3)CPU对I/O设备的读/写控制是用I/O读/写控制信号(、)。一个外设常有若干个端口地址。

独立编址方式微机原理与接口技术---中南大学出版社

80x86微处理器都由低16位地址线寻址I/O端口,故可寻址64K个I/O端口,但在实际的80x86PC机中,只用了最前面1K个端口地址,也即只寻址1K范围内的I/O空间。因此仅使用了地址总线的低10位,即只有地址线A9~A0用于I/O地址译码。

在DMA操作时,DMA控制器控制了系统总线。DMA控制器在发出地址的同时还要发出地址允许信号AEN,所以还必须将DMA控制器发出的地址允许信号AEN也参加端口地址的译码,用AEN限定地址译码电路的输出。当AEN信号有效时即DMA控制器控制系统总线时,地址译码电路无输出;当AEN信号无效时,地址译码电路才有输出。

I/O端口地址译码微机原理与接口技术---中南大学出版社无论是大规模集成电路的接口芯片,还是基本的输入输出缓冲单元,都是由一个或多个寄存器加上一些附加控制逻辑构成的。对这些寄存器的寻址就是对接口的寻址。通常采用两级译码方法,译码地址的高位组确定一个地址区域,作为组选信号;低位组地址直接接到芯片的地址输入端,选择芯片内各寄存器。

微机原理与接口技术---中南大学出版社1.门电路构成的端口地址译码电路

用各种基本门电路构成译码器是常用的方法,如图6-2所示,CPU输出的地址A9~A5与AEN信号一起作为8与非门74LS30的输入,从而使74LS30产生组选信号,地址范围为380H~39FH。低位地址A0~A4作为片内寻址信号,可寻址多个个端口。

微机原理与接口技术---中南大学出版社图6-2所示的直接地址译码电路的输出线,既可以用于输入也可以用于输出。图6-2门电路直接地址译码

微机原理与接口技术---中南大学出版社2.译码器构成的端口地址译码电路

当接口电路需要多个端口地址的时候,采用译码器构成地址译码电路比较简单。如图6-3所示,系统地址的高位A9~A3经过门电路74LS30产生组选信号(2F8H~2FFH),低3位地址A0~A2作为两个译码器74LS138输入端A、B、C的输入,与读写信号配合对组内相同的端口进行寻址。当A2~A0在000~111之间变化时,译码器的输出端Y0~Y7对应输出有效信号,在读写信号的控制下对端口地址2F8H~2FFH进行读写。微机原理与接口技术---中南大学出版社图6-3译码器译码电路

图6-3译码器译码电路

图6-3译码器译码电路

微机原理与接口技术---中南大学出版社PC微机接口芯片的译码电路图6-4接口芯片的译码电路微机原理与接口技术---中南大学出版社1.输入指令INAcc,Port或INAcc,DX

输入指令是把一个字节或一个字由输入端口传送至AL(8位Acc)或AX(16位Acc)。端口地址若是由指令中的port所规定,则只可寻址0~255。端口地址若用寄存器DX间址,则允许寻址64K个输入端口。6.2.3I/O指令微机原理与接口技术---中南大学出版社2.输出指令OUTPort,Acc或OUTDX,Acc

输出指令是把在AL中的一个字节或在AX中的一个字,传送至输出端口。端口寻址方式与IN指令相同。输入输出指令传送字节还是字,取决于端口的宽度。PCXT机端口宽度只有8位,只能传送字节。

微机原理与接口技术---中南大学出版社1.数据传送方式

在微机系统内,如,大系统部件之间的数据传送都采用并行数据传送方式。并行数据的每一位都对应独立的传输线路,所以数据传送速度快,但线路多,一般只用于较短距离的数据传送。(1)并行数据传送6.3CPU与外设之间数据传送的方法微机原理与接口技术---中南大学出版社串行数据传送是将构成字符的每个二进制数据位,按一定的顺序逐位进行传送的方式。串行数据传送主要用于远程终端或经过公共电话网的计算机之间的通信。远距离数据传送采用串行方式比较经济,但串行数据传送比并行数据传送控制复杂。(2)串行数据传送微机原理与接口技术---中南大学出版社异步串行通信协议规定字符数据的传送格式:

异步串行通信中,接收设备和发送设备必须保持相同的传送波特率,并与每个字符数据的起始位同步。起始位、数据位、奇偶位和停止位约定,在同一次传送过程中必须保持一致。微机原理与接口技术---中南大学出版社2.传送控制方式

CPU通过接口与外设之间数据传送的方式,根据其控制原理的不同,一般可划分为无条件传送方式、查询方式、中断控制方式和直接存储器存取方式。微机原理与接口技术---中南大学出版社2.传送控制方式

(1)无条件传送方式

无条件传送方式与查询方式本质上都是在程序控制下的数据传送方式,如果CPU能够确认一个外设已经准备就绪,那么就不必查询外设的状态而直接进行数据传送,这就是无条件传送方式。这种传送方式只适用于对简单外设的操作,这些外设始终处于就绪状态,典型的外设如开关、七段发光二极管。微机原理与接口技术---中南大学出版社显然,无条件传送方式对于双方而言,不需要联络信号和控制信号,只需要通过数据缓冲器和寄存器进行数据交换

(1)无条件传送方式

微机原理与接口技术---中南大学出版社(2)查询方式

查询方式也称为程序控制下的有条件传送方式,微处理器在数据传送之前通过执行程序不断读取状态寄存器并测试外设的状态,待外设处于准备就绪时,执行I/O指令进行数据传送。

微机原理与接口技术---中南大学出版社

在查询方式下,接口电路中的状态寄存器保存外设的状态。对于输入过程,当外设将数据准备好后,使接口中状态端口的“准备好”标志位置1,表示输入缓冲器为满;

对输出过程来说,当外设取走数据后,接口将状态寄存器的对应标志位置1,表示当前输出寄存器为“空”,可以接受下一个数据。

(2)查询方式

微机原理与接口技术---中南大学出版社(3)中断方式

中断方式是在外设要与中央处理器传送数据时,外设向中央处理器发出请求,中央处理器响应后再传送数据的操作方式。

在中断方式下,中央处理器不必查询外设,提高了系统的工作效率,但中央处理器管理中断的接口比管理查询复杂。

微机原理与接口技术---中南大学出版社(4)直接存储器存取(DMA)方式

DMA方式是数据不经过中央处理器在存储器和外设之间直接传送的操作方式。DMA方式是这3种方式中效率最高的一种传送方式,DMA方式控制接口也最复杂,需要专用的DMA控制器。

DMA方式适合数据量较大的传送,如存储器与磁盘之间的数据传送。微机原理与接口技术---中南大学出版社6.4.1缓冲器与锁存器

在接口电路中,大量使用三态缓冲器、寄存器和三态缓冲寄存器来作微处理器与外部设备的数字量通道,用来输入输出数据或检测和控制与之相连接的外部设备。微处理器可以将接口电路中的三态缓冲(寄存)器视为存储单元,把控制或状态信号作为数据位信息写到寄存器中或从三态缓冲(寄存)器中读出。寄存器的输出信号可以接到外部设备上,外部设备的信号也可以输入到三态缓冲寄存器中。

一般说来,微处理器都是通过三态缓冲(寄存)器检测外设的状态,通过输出寄存器发出控制信号。6.4基本输入/输出接口设计微机原理与接口技术---中南大学出版社

数据输出寄存器用来寄存微处理器送出的数据和命令。74LS273可以用作无条件传送的输出接口电路。

8D触发器74LS273微机原理与接口技术---中南大学出版社外设输入的数据和状态信号,通过数据输入三态缓冲器经数据总线传送给微处理器。74LS244三态总线驱动器

74LS244可以用作无条件传送的输入接口电路。微机原理与接口技术---中南大学出版社

三态缓冲寄存器是三态缓冲器和寄存器组成的。数据进入寄存器寄存后并不立即从寄存器输出,要经过三态缓冲才能输出。三态缓冲寄存器既可以作数据输入寄存器,又可作数据输出寄存器。寄存器既可以由触发器构成,也可以锁存器构成。触发器与锁存器是有差别的。74LS373就是三态缓冲锁存器,74LS374是三态缓冲触发器,它的引线排列与74LS373相同。

微机原理与接口技术---中南大学出版社

寄存器和缓冲器接口的应用简单又灵活,只要处理好它们的时钟端(选通端)或输出允许端与微型计算机的连接即可。在下述应用接口电路中都使用图6-8所示的电路的地址译码,该电路的8个输出端是对图6-2所示的输入输出直接地址译码电路的进一步译码的输出。图6-8读缓冲器和写寄存器信号

微机原理与接口技术---中南大学出版社

需要注意的是图6--8中的不仅仅是对地址信号译码的输出信号,其中也包含有输入和输出的读或写信号。若使用的仅仅是对地址信号译码的输出信号,则要将它和或者相与后才能用作读缓冲器或写寄存器的信号。微机原理与接口技术---中南大学出版社

发光二极管显示器(LED)是微型计算机应用系统中常用的输出装置。

1.七段发光二极管显示器接口

6.4.2LED显示接口设计微机原理与接口技术---中南大学出版社图6-9是共阴极LED驱动电路示意图,CPU将字形编码存入段选锁存器中,经过8位反相驱动器,驱动a~h共8个阳极段,使LED显示字形。图6-9微机原理与接口技术---中南大学出版社实际应用时,往往要用几个LED灯显示管实现多位显示。此时,如果每一个LED使用一个独立的输出端口与主机连接,那么,所占用的输出通道就太多了,而且驱动电路也复杂了。因此,LED与主机的连接一般采用动态显示接口方式,即用两个8位的并行输出端口实现多位LED的动态扫描显示。其中,一个端口与几个LED显示器的共阴极型公共点相连,在程序的控制下LED逐个循环显示,该端口称为位控制端口;另一个端口与多个LED显示器的阳极相连,用来输出七段译码值,使LED显示相应的数字,该端口称为段控制端口;这样,适当选择循环速度,利用人眼“视觉暂留”效应,多个LED显示器就能看到稳定的数字显示。2.多位LED显示电路

微机原理与接口技术---中南大学出版社图6-10七段显示器动态显示接口电路微机原理与接口技术---中南大学出版社根据图6-10电路所示,为使LED显示器的某一段发光,与该段相连的段控制端口的输出必为0,同时与其他不发光的段相连的段控制端口的输出必为1。例如显示数字“1“的段控制码为“01111001”,以此表示该数字的字形编码,即“79H”。同理,可以得出其他十进制数码的字形编码如表6-1所示。

表6-1共阴极LED显示电路的字形编码表字形0123456789编码40H79H24H30H19H12H02H78H00H18H微机原理与接口技术---中南大学出版社

多位LED显示电路的控制原理就是“扫描显示”,通过电路中的位控制端口输出“位选择码”,控制6个LED显示器的某一个发光。若位选择码的某一位为“1”,则与此相连的LED显示器发光,其余位为“0,”相应的LED显示器不发光。微机原理与接口技术---中南大学出版社把从PC机的键盘键入的六位十进制数送七段显示器显示的程序如下:

stacksegmentstack

stack

dw32dup(0)stackendsdatasegmentIBFDB7,0,7DUP(0)SEGPT DB40H,79H,24H,30H,19H,12H,2,78H,0,18Hdataendscodesegmentstartprocfarassumess:stack,cs:code,ds:datapushdssubax,axpushaxmovax,data

mov

ds,axMOVDX,OFFSETIBF;键入MOVAH,10INT21HAGANO:MOVBP,OFFSETIBF+2;建立指针MOVAH,20H;位指针代码MOVBH,0;将键入数的ASCII码变为BCD数

AGANI:MOVBL,DS:[BP]ANDBL,0FH微机原理与接口技术---中南大学出版社MOVAL,SEGPT[BX];取BCD数的七段显示代码MOVDX,380H;输出段码OUTDX,ALMOVAL,AH;输出位码MOVDX,384HOUTDX,ALMOVCX,1000;延时LOOP$INCBP;调整BCD数存放指针

SHRAH,1;调整位指针

ANDAH,AH;键入的6位数都输出否?JNZAGANI;6位数都已输出则退出内循环MOVAH,11;系统功能调用检查键盘有无输入

INT21HCMPAL,0;键盘有输入AL=0FFH,无输入AL=0JEAGANO;有键入结束程序运行,无键入循环

retstartendpcodeendsendstart微机原理与接口技术---中南大学出版社本节介绍的键盘是由若干个按键组成的开关矩阵,用于向计算机输入数字、字符等代码,是最常用的输入电路。

在键盘的按键操作中,其开或闭均会产生10~20ms的抖动,可能导致一次按键被计算机多次读入的情况。通常采有RC吸收电路或RS触发器组成的闩锁电路来消除按键抖动;也可以采用软件延时的方法消除抖动。这里设开关为理想开关即没有抖动。6.4.3键盘接口设计微机原理与接口技术---中南大学出版社下图是一个4×4键盘及其接口电路,用它向计算机输入0~F16个十六进制数码。

77B7D7E77BBBDBEB7DBDDDED7EBEDEEE按键与编码的对应关系微机原理与接口技术---中南大学出版社1、逐行扫描法:图示是一个4×4的键盘矩阵及其接口电路,图中寄存器74ls273的输出接键盘矩阵的行线,缓冲器74ls244接键盘矩阵的列线,其控制端分别与端口地址译码器的输出相连。微机原理与接口技术---中南大学出版社

首先,CPU通过寄存器74ls273向矩阵各行全部输出低电平,从缓冲器74ls244读取矩阵的列值,若所有列线均为高电平,说明无按键闭合;否则有按键闭合。然后,若有按键闭合,就逐行扫描检测,通过寄存器74ls273向矩阵逐行输出低电平,其他行输出高电平,再从缓冲器74ls244读取矩阵的列值,若所有列线均为高电平,说明该行无按键闭合;若列线中有一位是低电平,说明该行有按键闭合,则立即退出行扫描。最后,逐位检查时哪一根列线为低电平,从而根据按键行线和列线的位置识别出按键的位置。微机原理与接口技术---中南大学出版社这里键名定位采用查表法:即将有键闭合的行值和列值进行编码,根据编码查键名表。对于“键抖动”问题,这里采用软件延时法,即在判定有某键按下时,退出行扫描后,延时一段时间(毫秒级),等待“键抖动”结束后再读取列值。

微机原理与接口技术---中南大学出版社根据上面流程编写的程序如下:STACK SEGMENT DW32DUP(0)STACK ENDSDATA SEGMENTMESG DB‘REARY……’,0DH,0AH,’$’KEY DB‘0FED123C456B789A’LINE DB?COUNT DW,?DATA ENDSCODE SEGMENTASSUME DS:DATA,CS:CODE,SS:STACKSTART: PUSH DS XOR AX,AX PUSH AX MOV AX,DATA MOV DS,AX微机原理与接口技术---中南大学出版社MOV AH,9 MOV DX,OFFSETMESG INT 21HSCAN: MOV DX,2F8H; ;行控制口

MOV AL,0 OUT DX,AL ;0送行控制口

MOV DX,2F9H IN AL,DX ;从列控制口读列值AND AL,0F0HCMP AL,0F0H ;列值=11110000B?JE SCAN ;是,无键闭合CALL DELAY ;延时MOV CH,4 ;行扫描次数送CHMOV COUNT,-1 ;扫描计数器初值为-1MOV LINE,01111111B ;行扫描值送LINE微机原理与接口技术---中南大学出版社LOP1: ROL LINE,1 MOV AL,LINE MOV DX,2F8H OUT DX,AL ;行控制口输出扫描值

MOV DX,2F9H IN AL,DX ;读列值

MOV CL,4 ;列扫描次数送CL LOP2: INC COUNT ;计数

AND AL,0F0H SHL AL,1 ;列值D7位

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论