第7章 输入输出接口.ppt
《第7章 输入输出接口.ppt》由会员分享,可在线阅读,更多相关《第7章 输入输出接口.ppt(152页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第7章章 输入和输出接口输入和输出接口 输入与输出设备是微型计算机系统的重要输入与输出设备是微型计算机系统的重要组成部分。组成部分。接口电路是用来实现微型计算机与外部设接口电路是用来实现微型计算机与外部设备之间的数据交换的,其主要作用是提供备之间的数据交换的,其主要作用是提供数据缓冲,完成信息格式的相容性变换,数据缓冲,完成信息格式的相容性变换,管理数据传送,实现电气特性的适配及进管理数据传送,实现电气特性的适配及进行地址译码或设备选择等行地址译码或设备选择等。7.1 I/O接口接口一、一、I/O接口的功能接口的功能I/O地址译码与设备选择地址译码与设备选择把选中的与总线相接,未选中的与总线
2、隔离(高阻态)把选中的与总线相接,未选中的与总线隔离(高阻态)数据的缓冲与暂存数据的缓冲与暂存缓解接口与缓解接口与CPU工作速度的差异工作速度的差异对外设进行监测、控制与管理,中断处理对外设进行监测、控制与管理,中断处理信号电平与类型的转换信号电平与类型的转换形式、格式、电平、功率、码制等形式、格式、电平、功率、码制等CPU与外部设备交换与外部设备交换信息的过程,其实与信息的过程,其实与它和存储器交换数据它和存储器交换数据的过程类似,同样是的过程类似,同样是在控制信号的作用下在控制信号的作用下通过数据总线来完成,通过数据总线来完成,它们连接示意图如右它们连接示意图如右图所示。图所示。二、接口电
3、路的基本结构二、接口电路的基本结构信息种类:信息种类:数据(数据(DATA)状态信息(状态信息(STATUS)控制信息(控制信息(CONTROL)基本结构基本结构1、三类信息的性质不同,应通过不同的端口、三类信息的性质不同,应通过不同的端口分别传送。分别传送。2、在用输入输出指令来寻址外设(实际寻址、在用输入输出指令来寻址外设(实际寻址端口)的端口)的CPU中,外设的状态作为一种输入数中,外设的状态作为一种输入数据,而据,而CPU的控制指令是作为一种输出数据,的控制指令是作为一种输出数据,可以通过数据总线来分别传送。可以通过数据总线来分别传送。3、端口地址由、端口地址由CPU地址总线的低地址总
4、线的低8位或低位或低16位位地址信息来确定,地址信息来确定,CPU根据根据I/O指令提供的端指令提供的端口地址来寻址端口,与外设交换信息。口地址来寻址端口,与外设交换信息。三、三、I/O端口的寻址方式端口的寻址方式1、统一编址统一编址 把外设接口与内存统一进行编址。把外设接口与内存统一进行编址。各占据统一地址空间的不同部分。各占据统一地址空间的不同部分。优点优点指令统一,灵活;指令统一,灵活;访问控制信号统一。访问控制信号统一。缺点缺点内存可用地址空间减小内存可用地址空间减小2、独立编址独立编址 外设地址空间和内存地址空间相外设地址空间和内存地址空间相互独立。互独立。优点:内存地址空间不受优点
5、:内存地址空间不受I/O编址的影响编址的影响缺点:缺点:I/O指令功能较弱指令功能较弱7.2 CPU与外设数据传送的方式与外设数据传送的方式 CPU与外设之间数据传送的控制方式有以与外设之间数据传送的控制方式有以下四种:下四种:无条件传送无条件传送查询式传送查询式传送中断方式传送中断方式传送直接存储器存取直接存储器存取(DMA,Direct Memory Access)一、无条件传送方式一、无条件传送方式 又称同步传送方式,只对外设,如开又称同步传送方式,只对外设,如开关、继电器、关、继电器、7段显示器、机械式传感器等段显示器、机械式传感器等简单设备,在规定的时间用简单设备,在规定的时间用IN
6、或或OUT指令指令来进行信息的输入或输出。来进行信息的输入或输出。无条件传送输入无条件传送输入数据线数据线PC总总线线D0D7A0A15IOR地址线地址线三态三态缓冲器缓冲器输输入入设设备备地址地址译码译码无条件传送输入无条件传送输入在输入时,认为来自外设的数据已经输入至在输入时,认为来自外设的数据已经输入至三态缓冲器,于是三态缓冲器,于是CPU执行执行IN指令,指定的指令,指定的端口地址经地址总线的低端口地址经地址总线的低8位,即位,即A0A7,送至地址译码器,送至地址译码器,CPU进入了输入周期,选进入了输入周期,选中的地址信号和中的地址信号和M/IO及及RD相与后,去选通相与后,去选通输
7、入三态缓冲器,把外设的数据经数据总线输入三态缓冲器,把外设的数据经数据总线送至送至CPU。显然,这必须要求当显然,这必须要求当CPU执行执行IN指令时,外指令时,外设的数据是准备好的,否则就会读错。设的数据是准备好的,否则就会读错。无条件传送输出无条件传送输出数据线数据线PC总总线线D0D7A0A15IOW地址线地址线锁存器锁存器输输出出设设备备地址地址译码译码 无条件传送输出无条件传送输出在输出时,假定在输出时,假定CPU的输出信息经数据的输出信息经数据总线已送到输出锁存器的输入端;总线已送到输出锁存器的输入端;CPU执行执行OUT指令,端口地址线由地址总线指令,端口地址线由地址总线的低的低
8、8位地址送至地址译码器,位地址送至地址译码器,CPU进入进入了输出周期,所选中的地址信号和了输出周期,所选中的地址信号和M/IO和和WR相与后,选通锁存器,把输出信息相与后,选通锁存器,把输出信息送至锁存器保留,由它把信息通过外设送至锁存器保留,由它把信息通过外设输出。输出。显然,在显然,在CPU执行执行OUT指令时,必须确指令时,必须确定所选外设的锁存器是空的。定所选外设的锁存器是空的。一个采用同步传送的数据采集系统,如一个采用同步传送的数据采集系统,如下页图所示。被采样的数据是下页图所示。被采样的数据是8个模拟量,个模拟量,由继电器绕组由继电器绕组P0、P1、P7控制接触控制接触点点K0、
9、K1、K7逐个接通。用一个逐个接通。用一个4位的十进制数字电压表测量,把被采样位的十进制数字电压表测量,把被采样的模拟量转换成的模拟量转换成16位位BCD代码,高代码,高8位和位和低低8位通过两个不同的端口输入,其地址位通过两个不同的端口输入,其地址分别是分别是10和和11。CPU通过端口通过端口20输出控输出控制信号,从而控制继电器的吸合顺序,制信号,从而控制继电器的吸合顺序,实现采集不同的模拟量。实现采集不同的模拟量。8位BEGIN:MOVBEGIN:MOVDXDX,0100H0100H;01H:置合第一个继电器代码:置合第一个继电器代码LEALEABXBX,DSTOCKDSTOCK;00
10、H:断开所用继电器代码:断开所用继电器代码 XORXORALAL,ALALCYCLE:MOVCYCLE:MOVALAL,DLDLOUTOUT20H20H,ALAL;断开所有继电线圈;断开所有继电线圈 CALL NEAR DELAY1 CALL NEAR DELAY1;模拟继电器触点的释放时间;模拟继电器触点的释放时间 MOVMOVALAL,DHDHOUTOUT20H20H,ALAL;使;使P0吸合吸合 CALL NEAR DELAYCALL NEAR DELAY;模拟触点闭合及数字电压表的;模拟触点闭合及数字电压表的ININAXAX,10H10H;转换时间转换时间 MOV BXMOV BX,A
11、XAXINCINCBXBXINCINCBXBXRCLRCLDHDH,1 1JNCJNCCYCLECYCLECONTI:CONTI:二、程序查询传送方式二、程序查询传送方式1、查询式输入、查询式输入 查询式输入的接口电路包含状态口和输查询式输入的接口电路包含状态口和输入数据口两部分,分别由入数据口两部分,分别由I/O端口译码器端口译码器的两个片选信号和的两个片选信号和RD信号控制。信号控制。状态口由一个状态口由一个D触发器和一个三态门构成。触发器和一个三态门构成。输入数据口由一个输入数据口由一个8位锁存器和一个位锁存器和一个8位位缓冲器构成,它们可以被分别选通。缓冲器构成,它们可以被分别选通。查
12、询式输入的接口电路查询式输入的接口电路 D0输入设备准备好数据后,就向输入设备准备好数据后,就向I/O接口电路接口电路送选通信号。送选通信号。CPU先执行先执行IN指令读取状态口的信息,这指令读取状态口的信息,这时时M/IO为高,使为高,使I/O译码器输出低电平的状译码器输出低电平的状态口片选信号态口片选信号CS1。CS1和和RD经门经门1相与后的低电平输出,使三相与后的低电平输出,使三态缓冲器开启,于是态缓冲器开启,于是Q端的高电平经缓冲器端的高电平经缓冲器(1位)传送到数据线上的位)传送到数据线上的READY位(如位(如D0),并被读入累加器。),并被读入累加器。查询式输入的接口电路查询式
13、输入的接口电路 程序检测到程序检测到RAEDY位为位为1后,执行后,执行IN指指令读数据口。令读数据口。这时这时M/IO和和RD信号再次有效,使信号再次有效,使CS2片片选信号置零,选信号置零,CS2和和RD经门经门2输出低电输出低电平:一方面开启数据缓冲器,将外设送平:一方面开启数据缓冲器,将外设送到锁存器中的数据经到锁存器中的数据经8位数据缓冲器送到位数据缓冲器送到数据总线上后进入累加器,另一方面将数据总线上后进入累加器,另一方面将D触发器清零,这样一次数据传送完毕。触发器清零,这样一次数据传送完毕。接着就可以开始下一个数据的传送。接着就可以开始下一个数据的传送。设状态口的地址为设状态口的
14、地址为40H,状态口,状态口D0为为1表示外设准表示外设准备好。输入数据口的地址为备好。输入数据口的地址为50H,传送数据的总,传送数据的总字节数为字节数为COUNT,则查询式输入数据的程序段为:,则查询式输入数据的程序段为:MOVBX,0MOVCX,COUNTINPUT_ST:INAL,40HTESTAL,01HJZINPUT_STATUSINAL,50HMOVBX,ALINCBX LOOPINPUT_STATUSCONTI:2、查询式输出、查询式输出与输入接口相类似,输出接口电路也包与输入接口相类似,输出接口电路也包含两个端口:状态口和数据输出口。含两个端口:状态口和数据输出口。状态口也由
15、一个状态口也由一个D触发器和一个三态门构触发器和一个三态门构成,而数据输出口只有一个成,而数据输出口只有一个8位数据锁存位数据锁存器。器。查询式输出的接口电路查询式输出的接口电路 CPU准备向外设输出数据时,它先执行准备向外设输出数据时,它先执行IN指令读取状态口的信息。这时,高电指令读取状态口的信息。这时,高电平的平的M/IO和有效的端口地址信号使和有效的端口地址信号使I/O译译码器的状态口片选信号变低,码器的状态口片选信号变低,CS1再和再和有效的有效的RD信号经门信号经门1相与后输出低电平,相与后输出低电平,使状态口的三态门开启,从使状态口的三态门开启,从D1位读入位读入BUSY位的状态
16、。位的状态。若若BUSY1,表示外设正处在接收上一,表示外设正处在接收上一个数据的忙状态;只有当个数据的忙状态;只有当BUSY0时,时,CPU才能向外设输出新的数据。才能向外设输出新的数据。查询式输出的接口电路查询式输出的接口电路 CPU检查到检查到BUSY0时,便执行时,便执行OUT指令将指令将数据送往数据输出口。数据送往数据输出口。这时这时M/IO高电平的使高电平的使I/O译码器的状态口片选译码器的状态口片选信号信号CS2变为低电平,变为低电平,CS2再和再和WR信号经门信号经门2相与后输出低电平的选通信号,它用来选通数相与后输出低电平的选通信号,它用来选通数据锁存器,将数据送往外设。据锁
17、存器,将数据送往外设。同时,选通信号的下降沿还使同时,选通信号的下降沿还使D触发器翻转,触发器翻转,使使Q端置端置1,即把状态口的,即把状态口的BUSY位置位置1,表示,表示忙碌。当输出设备从接口中取走数据后,就送忙碌。当输出设备从接口中取走数据后,就送回一个应答信号,它将回一个应答信号,它将D触发器清零,即使触发器清零,即使BUSY0,允许,允许CPU送出下一个数。送出下一个数。假设状态口的地址为假设状态口的地址为60H,输出数据口的地址为,输出数据口的地址为70H,传送数据的总字节数为传送数据的总字节数为NUMBER,数据放在内存,数据放在内存BUFFER开始的单元开始的单元,则查询式输入
18、数据的程序段为:则查询式输入数据的程序段为:MOVCX,NUMBERLEABX,BUFFEROUTPUT_STATUS:INAL,60HTESTAL,02HJNZOUTPUT_STATUS MOVAL,BXINC BXOUT70H,ALLOOP OUTPUT_STATUSCONTI:一个有8个模拟量输入的数据采集系统,用查询方式与CPU传送信息,电路如图7-10所示。8个输入模拟量,经过多路开关(该多路开关由端口4的3位二进制码D0、D1和D2控制),每次传送出一个模拟量至A/D转换器;同时,A/D转换器由端口4输出的D4位控制启动与停止。A/D转换器的READY信号由端口2的D0输入至CPU
19、的数据总线;经A/D转换后的数据由端口3 输入至数据总线。因此,这样的一个数据采集系统,需要用到3个独立地址的端口。D2D1D0程序如下:CLD;下面用到字符串指令,地址指针自动增START:MOV DL,11111000B;启动信号的初始状态,低3位选通多路开关通道 LEA DI,DSTOR;设置数据区指针AGAIN:MOV AL,DL;读取启动信号 AND AL,11101111B;使D40 OUT 04H,AL;停止A/D转换 CALL DELAY;等待停止A/D转换的完成 MOV AL,DL OUT 04H,AL;选输入通道并启动A/D转换POLL:IN AL,02H;读入状态信息 S
20、HR AL,1;查AL的D0 JNCPOLL;若D00,未准备好则循环再查 INAL,03H;若已准备就绪,则经端口3将采样数据输至AL STOSB;输入数据存至内存单元 INCDL;选择下一个模拟量输入 JNEAGAIN;8个模拟量未输入完则循环CONTI:7.3 中断控制系统中断控制系统采用中断方式,采用中断方式,CPU平时可以执行主程序,只平时可以执行主程序,只有当输入设备将数据准备好了以后,或者输出有当输入设备将数据准备好了以后,或者输出端口的数据缓冲器已空时,才向端口的数据缓冲器已空时,才向CPU发中断请发中断请求。求。CPU响应中断后,暂停执行当前的程序,转去响应中断后,暂停执行当
21、前的程序,转去执行管理外设的中断服务子程序。在中断服务执行管理外设的中断服务子程序。在中断服务程序中,用输入或输出指令在程序中,用输入或输出指令在CPU和外设之间和外设之间进行一次数据交换。等输入或输出操作完成以进行一次数据交换。等输入或输出操作完成以后,后,CPU又会去执行原来的程序。又会去执行原来的程序。这样,外设在处理数据期间,这样,外设在处理数据期间,CPU就不必浪费就不必浪费大量的时间去查询它们的状态。大量的时间去查询它们的状态。一、中断的基本概念一、中断的基本概念执行程序执行程序事件发生事件发生事件处理事件处理继续执行程序继续执行程序中断处理中断处理中断请求及响应中断请求及响应计算
22、机计算机中断返回中断返回7.3.1概述概述图8-1 中断控制I/O示意图二、中断的定义二、中断的定义 CPU执行程序时,由于发生了某种随执行程序时,由于发生了某种随机的事件机的事件(外部或内部外部或内部),引起,引起CPU暂暂时中断正在运行的程序,转去执行一时中断正在运行的程序,转去执行一段特殊的服务程序段特殊的服务程序(称为中断服务程称为中断服务程序或中断处理程序序或中断处理程序),以处理该事件,以处理该事件,该事件处理完后又返回被中断的程序该事件处理完后又返回被中断的程序继续执行,这一过程称为中断。继续执行,这一过程称为中断。三、中断源三、中断源引起引起CPU中断的事件:中断源。例如:中断
23、的事件:中断源。例如:外设:请求输入输出数据,报告故障等外设:请求输入输出数据,报告故障等事件:掉电、硬件故障、软件错误、非法操作、定时时间事件:掉电、硬件故障、软件错误、非法操作、定时时间到等到等中断源分为:外部中断、内部中断中断源分为:外部中断、内部中断内部中断:内部中断:CPU内部执行程序时自身产生的中断内部执行程序时自身产生的中断外部中断:外部中断:CPU以外的设备、部件产生的中断以外的设备、部件产生的中断8086/8088的外部中断信号:的外部中断信号:INTR、NMIINTR:可屏蔽中断请求,高电平有效,受:可屏蔽中断请求,高电平有效,受IF标志的控制。标志的控制。IF=1时,执行
24、完当前指令后时,执行完当前指令后CPU对它作出响应。对它作出响应。NMI:非屏蔽中断请求,上升沿有效,任何时候:非屏蔽中断请求,上升沿有效,任何时候CPU都要都要响应此中断请求信号。响应此中断请求信号。7.3.2 可屏蔽中断处理过程可屏蔽中断处理过程五个步骤:五个步骤:中断请求中断请求中断判优中断判优(有时还要进行中断源识别有时还要进行中断源识别)中断响应中断响应中断服务中断服务 保护现场、执行中断服务程序、恢复现场、开中断保护现场、执行中断服务程序、恢复现场、开中断中断返回中断返回以下以外部中断为主介绍这五个步骤。以下以外部中断为主介绍这五个步骤。中断处理流程图(1)中断请求中断请求1、外设
25、接口(中断源)发出中断请求信号,送到、外设接口(中断源)发出中断请求信号,送到CPU的的INTR或或NMI引脚;引脚;中断请求信号:边沿请求,电平请求中断请求信号:边沿请求,电平请求例如,例如,NMI为边沿请求,为边沿请求,INTR为电平请求为电平请求2、中断请求信号应保持到中断被处理为止、中断请求信号应保持到中断被处理为止;3、CPU响应中断后,中断请求信号应及时撤销。响应中断后,中断请求信号应及时撤销。4、在、在8086/8088系统中,外设的中断要经过系统中,外设的中断要经过8259A可编可编程中断控制器程中断控制器(PIC)的排队判优后向的排队判优后向CPU发出:发出:(I/O接口接口
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第7章 输入输出接口 输入输出 接口
限制150内