第7章-输入输出接口-微机原理、汇编语言与接口技术课件.ppt
《第7章-输入输出接口-微机原理、汇编语言与接口技术课件.ppt》由会员分享,可在线阅读,更多相关《第7章-输入输出接口-微机原理、汇编语言与接口技术课件.ppt(194页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第7章章 输入和输出接口输入和输出接口 输入与输出设备是微型计算机系统的重要输入与输出设备是微型计算机系统的重要组成部分。组成部分。接口电路是用来实现微型计算机与外部设接口电路是用来实现微型计算机与外部设备之间的数据交换的,其主要作用是提供备之间的数据交换的,其主要作用是提供数据缓冲,完成信息格式的相容性变换,数据缓冲,完成信息格式的相容性变换,管理数据传送,实现电气特性的适配及进管理数据传送,实现电气特性的适配及进行地址译码或设备选择等行地址译码或设备选择等。7.1 I/O接口接口一、一、I/O接口的功能接口的功能I/O地址译码与设备选择地址译码与设备选择把选中的与总线相接,未选中的与总线
2、隔离(高阻态)把选中的与总线相接,未选中的与总线隔离(高阻态)数据的缓冲与暂存数据的缓冲与暂存缓解接口与缓解接口与CPU工作速度的差异工作速度的差异对外设进行监测、控制与管理,中断处理对外设进行监测、控制与管理,中断处理信号电平与类型的转换信号电平与类型的转换形式、格式、电平、功率、码制等形式、格式、电平、功率、码制等CPU与外部设备交换与外部设备交换信息的过程,其实与信息的过程,其实与它和存储器交换数据它和存储器交换数据的过程类似,同样是的过程类似,同样是在控制信号的作用下在控制信号的作用下通过数据总线来完成,通过数据总线来完成,它们连接示意图如右它们连接示意图如右图所示。图所示。基本结构基
3、本结构1、三类信息的性质不同,应通过不同的端口、三类信息的性质不同,应通过不同的端口分别传送。分别传送。2、在用输入输出指令来寻址外设(实际寻址、在用输入输出指令来寻址外设(实际寻址端口)的端口)的CPU中,外设的状态作为一种输入数中,外设的状态作为一种输入数据,而据,而CPU的控制指令是作为一种输出数据,的控制指令是作为一种输出数据,可以通过数据总线来分别传送。可以通过数据总线来分别传送。3、端口地址由、端口地址由CPU地址总线的低地址总线的低8位或低位或低16位位地址信息来确定,地址信息来确定,CPU根据根据I/O指令提供的端指令提供的端口地址来寻址端口,与外设交换信息。口地址来寻址端口,
4、与外设交换信息。三、三、I/O端口的寻址方式端口的寻址方式1、统一编址统一编址 把外设接口与内存统一进行编址。把外设接口与内存统一进行编址。各占据统一地址空间的不同部分。各占据统一地址空间的不同部分。优点优点指令统一,灵活;指令统一,灵活;访问控制信号统一。访问控制信号统一。缺点缺点内存可用地址空间减小内存可用地址空间减小2、独立编址独立编址 外设地址空间和内存地址空间相外设地址空间和内存地址空间相互独立。互独立。优点:内存地址空间不受优点:内存地址空间不受I/O编址的影响编址的影响缺点:缺点:I/O指令功能较弱指令功能较弱一、无条件传送方式一、无条件传送方式 又称同步传送方式,只对外设,如开
5、又称同步传送方式,只对外设,如开关、继电器、关、继电器、7段显示器、机械式传感器等段显示器、机械式传感器等简单设备,在规定的时间用简单设备,在规定的时间用IN或或OUT指令指令来进行信息的输入或输出。来进行信息的输入或输出。无条件传送输入无条件传送输入数据线数据线PC总总线线D0D7A0A15IOR地址线地址线三态三态缓冲器缓冲器输输入入设设备备地址地址译码译码无条件传送输入无条件传送输入无条件传送输出无条件传送输出数据线数据线PC总总线线D0D7A0A15IOW地址线地址线锁存器锁存器输输出出设设备备地址地址译码译码 无条件传送输出无条件传送输出一个采用同步传送的数据采集系统,如一个采用同步
6、传送的数据采集系统,如下页图所示。被采样的数据是下页图所示。被采样的数据是8个模拟量,个模拟量,由继电器绕组由继电器绕组P0、P1、P7控制接触控制接触点点K0、K1、K7逐个接通。用一个逐个接通。用一个4位的十进制数字电压表测量,把被采样位的十进制数字电压表测量,把被采样的模拟量转换成的模拟量转换成16位位BCD代码,高代码,高8位和位和低低8位通过两个不同的端口输入,其地址位通过两个不同的端口输入,其地址分别是分别是10和和11。CPU通过端口通过端口20输出控输出控制信号,从而控制继电器的吸合顺序,制信号,从而控制继电器的吸合顺序,实现采集不同的模拟量。实现采集不同的模拟量。8位二、程序
7、查询传送方式二、程序查询传送方式1、查询式输入、查询式输入 查询式输入的接口电路包含状态口和输查询式输入的接口电路包含状态口和输入数据口两部分,分别由入数据口两部分,分别由I/O端口译码器端口译码器的两个片选信号和的两个片选信号和RD信号控制。信号控制。状态口由一个状态口由一个D触发器和一个三态门构成。触发器和一个三态门构成。输入数据口由一个输入数据口由一个8位锁存器和一个位锁存器和一个8位位缓冲器构成,它们可以被分别选通。缓冲器构成,它们可以被分别选通。查询式输入的接口电路查询式输入的接口电路 D0输入设备准备好数据后,就向输入设备准备好数据后,就向I/O接口电路接口电路送选通信号。送选通信
8、号。CPU先执行先执行IN指令读取状态口的信息,这指令读取状态口的信息,这时时M/IO为高,使为高,使I/O译码器输出低电平的状译码器输出低电平的状态口片选信号态口片选信号CS1。CS1和和RD经门经门1相与后的低电平输出,使三相与后的低电平输出,使三态缓冲器开启,于是态缓冲器开启,于是Q端的高电平经缓冲器端的高电平经缓冲器(1位)传送到数据线上的位)传送到数据线上的READY位(如位(如D0),并被读入累加器。),并被读入累加器。查询式输入的接口电路查询式输入的接口电路 程序检测到程序检测到RAEDY位为位为1后,执行后,执行IN指指令读数据口。令读数据口。这时这时M/IO和和RD信号再次有
9、效,使信号再次有效,使CS2片片选信号置零,选信号置零,CS2和和RD经门经门2输出低电输出低电平:一方面开启数据缓冲器,将外设送平:一方面开启数据缓冲器,将外设送到锁存器中的数据经到锁存器中的数据经8位数据缓冲器送到位数据缓冲器送到数据总线上后进入累加器,另一方面将数据总线上后进入累加器,另一方面将D触发器清零,这样一次数据传送完毕。触发器清零,这样一次数据传送完毕。接着就可以开始下一个数据的传送。接着就可以开始下一个数据的传送。2、查询式输出、查询式输出与输入接口相类似,输出接口电路也包与输入接口相类似,输出接口电路也包含两个端口:状态口和数据输出口。含两个端口:状态口和数据输出口。状态口
10、也由一个状态口也由一个D触发器和一个三态门构触发器和一个三态门构成,而数据输出口只有一个成,而数据输出口只有一个8位数据锁存位数据锁存器。器。查询式输出的接口电路查询式输出的接口电路 CPU准备向外设输出数据时,它先执行准备向外设输出数据时,它先执行IN指令读取状态口的信息。这时,高电指令读取状态口的信息。这时,高电平的平的M/IO和有效的端口地址信号使和有效的端口地址信号使I/O译译码器的状态口片选信号变低,码器的状态口片选信号变低,CS1再和再和有效的有效的RD信号经门信号经门1相与后输出低电平,相与后输出低电平,使状态口的三态门开启,从使状态口的三态门开启,从D1位读入位读入BUSY位的
11、状态。位的状态。若若BUSY1,表示外设正处在接收上一,表示外设正处在接收上一个数据的忙状态;只有当个数据的忙状态;只有当BUSY0时,时,CPU才能向外设输出新的数据。才能向外设输出新的数据。CPU检查到检查到BUSY0时,便执行时,便执行OUT指令将指令将数据送往数据输出口。数据送往数据输出口。这时这时M/IO高电平的使高电平的使I/O译码器的状态口片选译码器的状态口片选信号信号CS2变为低电平,变为低电平,CS2再和再和WR信号经门信号经门2相与后输出低电平的选通信号,它用来选通数相与后输出低电平的选通信号,它用来选通数据锁存器,将数据送往外设。据锁存器,将数据送往外设。同时,选通信号的
12、下降沿还使同时,选通信号的下降沿还使D触发器翻转,触发器翻转,使使Q端置端置1,即把状态口的,即把状态口的BUSY位置位置1,表示,表示忙碌。当输出设备从接口中取走数据后,就送忙碌。当输出设备从接口中取走数据后,就送回一个应答信号,它将回一个应答信号,它将D触发器清零,即使触发器清零,即使BUSY0,允许,允许CPU送出下一个数。送出下一个数。假设状态口的地址为假设状态口的地址为60H,输出数据口的地址为,输出数据口的地址为70H,传送数据的总字节数为传送数据的总字节数为NUMBER,数据放在内存,数据放在内存BUFFER开始的单元开始的单元,则查询式输入数据的程序段为:则查询式输入数据的程序
13、段为:MOVCX,NUMBERLEABX,BUFFEROUTPUT_STATUS:INAL,60HTESTAL,02HJNZOUTPUT_STATUS MOVAL,BXINC BXOUT70H,ALLOOP OUTPUT_STATUSCONTI: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;等待停止
14、A/D转换的完成 MOV AL,DL OUT 04H,AL;选输入通道并启动A/D转换POLL:IN AL,02H;读入状态信息 SHR AL,1;查AL的D0 JNCPOLL;若D00,未准备好则循环再查 INAL,03H;若已准备就绪,;则经端口3将采样数据输至AL STOSB;输入数据存至内存单元 INCDL;选择下一个模拟量输入 JNEAGAIN;8个模拟量未输入完则循环CONTI:7.3 中断控制系统中断控制系统采用中断方式,采用中断方式,CPU平时可以执行主程序,只平时可以执行主程序,只有当输入设备将数据准备好了以后,或者输出有当输入设备将数据准备好了以后,或者输出端口的数据缓冲器
15、已空时,才向端口的数据缓冲器已空时,才向CPU发中断请发中断请求。求。CPU响应中断后,暂停执行当前的程序,转去响应中断后,暂停执行当前的程序,转去执行管理外设的中断服务子程序。在中断服务执行管理外设的中断服务子程序。在中断服务程序中,用输入或输出指令在程序中,用输入或输出指令在CPU和外设之间和外设之间进行一次数据交换。等输入或输出操作完成以进行一次数据交换。等输入或输出操作完成以后,后,CPU又会去执行原来的程序。又会去执行原来的程序。这样,外设在处理数据期间,这样,外设在处理数据期间,CPU就不必浪费就不必浪费大量的时间去查询它们的状态。大量的时间去查询它们的状态。一、中断的基本概念一、
16、中断的基本概念执行程序执行程序事件发生事件发生事件处理事件处理继续执行程序继续执行程序中断处理中断处理中断请求及响应中断请求及响应计算机计算机中断返回中断返回7.3.1概述概述图7-12 中断控制I/O示意图二、中断的定义二、中断的定义 CPU执行程序时,由于发生了某种随执行程序时,由于发生了某种随机的事件机的事件(外部或内部外部或内部),引起,引起CPU暂暂时中断正在运行的程序,转去执行一时中断正在运行的程序,转去执行一段特殊的服务程序段特殊的服务程序(称为中断服务程称为中断服务程序或中断处理程序序或中断处理程序),以处理该事件,以处理该事件,该事件处理完后又返回被中断的程序该事件处理完后又
17、返回被中断的程序继续执行,这一过程称为中断。继续执行,这一过程称为中断。三、中断源三、中断源引起引起CPU中断的事件:中断源。例如:中断的事件:中断源。例如:外设:请求输入输出数据,报告故障等外设:请求输入输出数据,报告故障等事件:掉电、硬件故障、软件错误、非法操作、定时时间事件:掉电、硬件故障、软件错误、非法操作、定时时间到等到等中断源分为:外部中断、内部中断中断源分为:外部中断、内部中断内部中断:内部中断:CPU内部执行程序时自身产生的中断内部执行程序时自身产生的中断外部中断:外部中断:CPU以外的设备、部件产生的中断以外的设备、部件产生的中断8086/8088的外部中断信号:的外部中断信
18、号:INTR、NMIINTR:可屏蔽中断请求,高电平有效,受:可屏蔽中断请求,高电平有效,受IF标志的控制。标志的控制。IF=1时,执行完当前指令后时,执行完当前指令后CPU对它作出响应。对它作出响应。NMI:非屏蔽中断请求,上升沿有效,任何时候:非屏蔽中断请求,上升沿有效,任何时候CPU都要都要响应此中断请求信号。响应此中断请求信号。7.3.2 可屏蔽中断处理过程可屏蔽中断处理过程五个步骤:五个步骤:中断请求中断请求中断判优中断判优(有时还要进行中断源识别有时还要进行中断源识别)中断响应中断响应中断服务中断服务 保护现场、执行中断服务程序、恢复现场、开中断保护现场、执行中断服务程序、恢复现场
19、、开中断中断返回中断返回以下以外部中断为主介绍这五个步骤。以下以外部中断为主介绍这五个步骤。中断处理流程图(1)中断请求中断请求1、外设接口(中断源)发出中断请求信号,送到、外设接口(中断源)发出中断请求信号,送到CPU的的INTR或或NMI引脚;引脚;中断请求信号:边沿请求,电平请求中断请求信号:边沿请求,电平请求例如,例如,NMI为边沿请求,为边沿请求,INTR为电平请求为电平请求2、中断请求信号应保持到中断被处理为止、中断请求信号应保持到中断被处理为止;3、CPU响应中断后,中断请求信号应及时撤销。响应中断后,中断请求信号应及时撤销。4、在、在8086/8088系统中,外设的中断要经过系
20、统中,外设的中断要经过8259A可编可编程中断控制器程中断控制器(PIC)的排队判优后向的排队判优后向CPU发出:发出:(I/O接口接口)PIC CPU(3)中断响应)中断响应在每条指令的最后一个时钟周期,在每条指令的最后一个时钟周期,CPU检测检测INTR或或NMI信号。若以下条件成立,则信号。若以下条件成立,则CPU响应中断:响应中断:(1)当前指令执行完。)当前指令执行完。(2)对)对INTR,CPU应处于开中断状态,即应处于开中断状态,即IF=1;(3)当前没有复位)当前没有复位(RESET)和保持和保持(HOLD)信号。信号。(4)若)若NMI和和 INTR 同时发生,则首先响应同时
21、发生,则首先响应NMI。8086/8088 CPU响应中断请求的条件响应中断请求的条件对可屏蔽中断,CPU响应中断是有条件的。对8086/8088来讲,条件有以下三个:(1)在现行指令周期内无总线请求(最小方式时HOLD无效,最大方式时RQ/GT无效),而且无非屏蔽中断请求;(2)中断允许标志IF置位;(3)如果现行指令是HLT或WAIT指令,则 可以立即响应中断,否则必须完成正在执行的指令后才能响应中断。另外,对于加有前缀的指令,CPU在前缀和指令之间不识别中断请求;对目标地址是段寄存器的MOV和POP的指令,则CPU是在这些指令的后一条指令执行后才响应中断。这是因为改变存储区必须两条指令才
22、完成,第一条指令改变段寄存器,第二条指令改变偏移量,若执行完改变段寄存器的指令就识别中断,则新的基地址与旧的偏移量结合将是无意义的。在有些情况下,即使中断允许标志位IF1,CPU也不能立即响应外部的可屏蔽中断请求,而是要再执行完下一条指令才响应外部中断。例如,发出中断请求时,CPU正在执行封锁指令。如果执行向段寄存器传送数据的指令,如MOV和POP指令,也要等下一条指令执行完后,才允许中断。当遇到等待指令或串操作指令时,允许在指令执行过程发中断请求,但在一个基本操作完成后响应中断。CPU中断响应时,要做下述三项工中断响应时,要做下述三项工(1)向中断源发出)向中断源发出INTA#中断响应信;中
23、断响应信;(2)保护断点,包括)保护断点,包括CS、IP和和PSW(FLAGS)。这主要是保证中断结)。这主要是保证中断结束后能返回被中断的程序。束后能返回被中断的程序。(3)获得中断服务程序首地址(入口)。)获得中断服务程序首地址(入口)。如何得到中断处理程序的首地址?如何得到中断处理程序的首地址?中断向量法中断向量法 8086/8088CPU中断响应的过程:中断响应的过程:当有中断请求且满足响应条件时,CPU就进入中断响应的过程。对8086/8088来讲,响应过程如下:1、在相邻的两个总线周期内发出响应信号INTA;2、CPU接收中断类型码n;3、保护处理器的当前状态,将PSW、下一条指令
24、的CS和IP压入堆栈,以保证在中断处理程序完成后能正确返回断点;4、清除IF和TF标志。清除IF标志的目的是避免在响应中断的过程中或进入中断处理程序后受到其他中断源的干扰。只有在中断处理程序中出现开中断指令(STI)才允许CPU接收其他设备的中断请求;5、根据中断类型码n查找中断处理程序入口。将中断向量表中(n4)所指的两个字节送给IP,(n4+2)所指的两个字节送给CS。中断向量表中(n4),(n4+2)所存放的内容就是相应的中断处理程序的入口地址。(4)中断处理(中断服务)中断处理(中断服务)中断服务子程序特点中断服务子程序特点为为“远远”过程(类型为过程(类型为FAR)要用要用IRET指
25、令返回指令返回中断服务子程序要做的工作中断服务子程序要做的工作保护现场保护现场(PUSH regs)开中断开中断(STI)进行中断处理进行中断处理 关中断关中断恢复现场恢复现场(POP regs)中断返回中断返回(IRET)(5)中断返回)中断返回执行中断返回指令执行中断返回指令IRETIRET指令将使指令将使CPU把堆栈内保存的断点信息弹把堆栈内保存的断点信息弹出到出到IP、CS和和FLAG中,保证被中断的程序从断中,保证被中断的程序从断点处能够继续往下执行。点处能够继续往下执行。IPLIPHCSLCSHFLAGLFLAGHSPIPLIPHCSLCSHFLAGLFLAGHSPIPCSFLAG
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 输入输出 接口 微机 原理 汇编语言 技术 课件
限制150内