第9章输入输出控制技术课件

上传人:无*** 文档编号:241661686 上传时间:2024-07-14 格式:PPTX 页数:86 大小:15.62MB
返回 下载 相关 举报
第9章输入输出控制技术课件_第1页
第1页 / 共86页
第9章输入输出控制技术课件_第2页
第2页 / 共86页
第9章输入输出控制技术课件_第3页
第3页 / 共86页
点击查看更多>>
资源描述
微机原理与接口技术第第9 9章章 输入输出控制技术输入输出控制技术9.1 9.1 输入输出接口概述输入输出接口概述1.CPU与外设之间的连接与外设之间的连接I/O接口接口I/O接口是位于系统与外设间、用来协助完成数接口是位于系统与外设间、用来协助完成数据传送和控制任务的逻辑电路据传送和控制任务的逻辑电路PC机系统板的可编程接口芯片、机系统板的可编程接口芯片、I/O总线槽的总线槽的电路板(适配器)都是接口电路电路板(适配器)都是接口电路CPUCPU接口接口接口接口电电路路路路 I/O I/O设备设备微机原理与接口技术为什么需要为什么需要I/O接口(电路)?接口(电路)?微机的外部设备多种多样微机的外部设备多种多样工作原理、驱动方式、信息格式、以及工作速工作原理、驱动方式、信息格式、以及工作速度方面彼此差别很大度方面彼此差别很大它们不能与它们不能与CPU直接相连直接相连必须经过中间电路再与系统相连必须经过中间电路再与系统相连这部分电路被称为这部分电路被称为I/O接口电路接口电路9.1 9.1 输入输出接口概述输入输出接口概述微机原理与接口技术9.1 9.1 输入输出接口概述输入输出接口概述2.接口电路的基本结构接口电路的基本结构控制总线控制总线CB地址总线地址总线ABI/O接口电路接口电路数据数据控制控制状态状态数据总线数据总线DBCPU外设外设控制寄存器控制寄存器状态寄存器状态寄存器数据寄存器数据寄存器微机原理与接口技术1.数据信息数据信息数据信息可以有各种形式:数据信息可以有各种形式:数字量数字量。大多数信息是数字信息,即二进。大多数信息是数字信息,即二进 制信息或者代表字符的制信息或者代表字符的ASCII码码开关量开关量。开关量实际是数字信息,但一般只。开关量实际是数字信息,但一般只占用一位二进制信息,以表示开关的打开或占用一位二进制信息,以表示开关的打开或闭合。闭合。模拟量模拟量。通过接口的模拟量,要变换为数字。通过接口的模拟量,要变换为数字量,再加到计算机。量,再加到计算机。9.1 9.1 输入输出接口概述输入输出接口概述微机原理与接口技术2.2.状态信息状态信息状态信息状态信息状态信息主要是反映外设的工作状态。状态信息主要是反映外设的工作状态。对于输入设备对于输入设备,可以表示它是否准备好数据,可以表示它是否准备好数据,有数据已准备好,才启动有数据已准备好,才启动CPU一次读入操作。一次读入操作。对于输出设备对于输出设备,可以反映它是否已经把上一个,可以反映它是否已经把上一个数据处理完,只有上一个数据处理完,才可以数据处理完,只有上一个数据处理完,才可以启动启动CPU的下一次输出操作。的下一次输出操作。状态信息也可以是状态信息也可以是CPU传送给外部设备的,传传送给外部设备的,传送送CPU的状态。状态信息也称为握手信息。的状态。状态信息也称为握手信息。9.1 9.1 输入输出接口概述输入输出接口概述微机原理与接口技术3.3.控制信息控制信息控制信息控制信息控制信息一般是控制信息一般是CPU通过接口电路传送给外部通过接口电路传送给外部设备的,一般控制外部设备的动作。这三种信设备的,一般控制外部设备的动作。这三种信息,将都通过数据总线在息,将都通过数据总线在CPU和接口之间传送。和接口之间传送。从形式上看,三种信息并没有差别,都是二进从形式上看,三种信息并没有差别,都是二进制信息。如制信息。如10000000,既可以是数据信息,代,既可以是数据信息,代表十进制数表十进制数128,也可以是一种状态信息,或,也可以是一种状态信息,或一种控制信息。一种控制信息。9.1 9.1 输入输出接口概述输入输出接口概述微机原理与接口技术9.2 CPU 与外设之间数据传送的方式与外设之间数据传送的方式1.1.程序传送程序传送无条件传送和查询传送无条件传送和查询传送2.2.中断传送中断传送3.DMA3.DMA传送传送微机原理与接口技术9.2 CPU 与外设之间数据传送的方式与外设之间数据传送的方式1.程序传送程序传送(1)无条件传送)无条件传送对固定的外设在规定时间用IN和OUT指令来进行信息的输入输出。输入三态输入三态输出缓存输出缓存微机原理与接口技术MOV DX,160HINAL,DX9.2 CPU 与外设之间数据传送的方式与外设之间数据传送的方式微机原理与接口技术74LS244+5V10K x 8G1 G2数数据据总线CSRDMOV DX,160HINAL,DX9.2 CPU 与外设之间数据传送的方式与外设之间数据传送的方式微机原理与接口技术MOV DX,160HMOV AL,BXOUT DX,AL9.2 CPU 与外设之间数据传送的方式与外设之间数据传送的方式微机原理与接口技术+5V74LS373300 x 8LE OE数数据据总线CSWRMOV DX,160HMOV AL,BXOUT DX,AL9.2 CPU 与外设之间数据传送的方式与外设之间数据传送的方式微机原理与接口技术9.2 CPU 与外设之间数据传送的方式与外设之间数据传送的方式例例9-1 一个采用同步传送的数据采集系统入一个采用同步传送的数据采集系统入图图9-4所示。所示。(1)复位。()复位。(2)延时后,采集第一个通道。)延时后,采集第一个通道。(3)将高)将高8位和低位和低8位位BCD码存入内存码存入内存(4)利用移位循环实现)利用移位循环实现8个模拟量的依次采集、输入与转存个模拟量的依次采集、输入与转存微机原理与接口技术START:MOV DX,0100H LEA BX,DSTOR XOR AL,ALAGIGN:MOV AL,DL OUT 20H,AL CALL NEAR DELAY1 MOV AL,DH OUT 20H,AL CALL NEAR DELAY2 IN AX,10H MOV BX,AX INC BX INC BX RCL DH,1 JNC AGIGNDONE:9.2 CPU 与外设之间数据传送的方式与外设之间数据传送的方式例:例:9-1微机原理与接口技术(2)程序查询传送程序查询传送9.2 CPU 与外设之间数据传送的方式与外设之间数据传送的方式CPU需要先了解(查询)外设的工作状态,然后需要先了解(查询)外设的工作状态,然后在外设可以交换信息的情况下(在外设可以交换信息的情况下(就绪就绪)实现数据)实现数据输入或输出输入或输出对多个外设的情况,则对多个外设的情况,则CPU按一定顺序依次查询按一定顺序依次查询(轮询)。先查询的外设将优先进行数据交换(轮询)。先查询的外设将优先进行数据交换查询传送的特点是:工作可靠,适用面宽,但传查询传送的特点是:工作可靠,适用面宽,但传送效率低送效率低微机原理与接口技术程序查询输入程序查询输入寻址状态口寻址状态口读取状态寄存器的标志位读取状态寄存器的标志位若不就绪就继续查询,直至就绪若不就绪就继续查询,直至就绪9.2 CPU 与外设之间数据传送的方式与外设之间数据传送的方式微机原理与接口技术输入状态输入状态就绪?就绪?数据输入数据输入YNPOLL:IN AL,STATUS_PORT TEST AL,80H JE POLL IN AL,DATA_PORT 9.2 CPU 与外设之间数据传送的方式与外设之间数据传送的方式微机原理与接口技术9.2 CPU 与外设之间数据传送的方式与外设之间数据传送的方式程序查询输出程序查询输出微机原理与接口技术输入状态输入状态就绪?就绪?数据输入数据输入YNPOLL:IN AL,STATUS_PORT TEST AL,80H JNE POLL MOV AL,STORE OUT DATA-PORT,AL9.2 CPU 与外设之间数据传送的方式与外设之间数据传送的方式微机原理与接口技术采集过程要求:采集过程要求:(1)初始化;()初始化;(2)先停止)先停止A/D转换转换(3)启动)启动A/D转换,查输入状态信息转换,查输入状态信息READY(4)当输入数据已转换完()当输入数据已转换完(REDAY=1),则经由端口),则经由端口3输入至输入至CPU的累加器的累加器 AL,并转入内存。,并转入内存。(5)设置下一个内存单元与下一个输入通道,循环)设置下一个内存单元与下一个输入通道,循环8次。次。9.2 CPU 与外设之间数据传送的方式与外设之间数据传送的方式微机原理与接口技术START:MOV DL,0F8H MOV AX,SEG DSTOR MOV ES,AX LEA DI,DSTORAGAIN:MOV AL,DL AND AL,0EFH OUT 04,AL CALL DELAY MOV AL,DL OUT 04,ALPOLL:IN 02H SHR AL,1 JNC POLL IN AL,03 STOSB INC DL CMP DL,0FFH JNE AGAIN 程序如下:程序如下:9.2 CPU 与外设之间数据传送的方式与外设之间数据传送的方式微机原理与接口技术例:如下图所示,试编程实现将例:如下图所示,试编程实现将48000H为首地为首地址的顺序址的顺序100个单元的数据,利用查询方式输出个单元的数据,利用查询方式输出到外设。到外设。9.2 CPU 与外设之间数据传送的方式与外设之间数据传送的方式微机原理与接口技术START:MOV AX,4000H MOV DS,AX MOV SI,8000H MOV CX,100GOON:MOV DX,00F1HWAIT:IN AL,DX AND AL,01H JZ WAIT MOV AL,SI MOV DX,00F0H OUT DX,AL INC SI LOOP GOON RET9.2 CPU 与外设之间数据传送的方式与外设之间数据传送的方式微机原理与接口技术2.中断传送中断传送9.2 CPU 与外设之间数据传送的方式与外设之间数据传送的方式断点断点主程序主程序中断服务程序中断服务程序中断请求中断请求对外设对外设进行处理进行处理继续执行继续执行返回断点返回断点CPU在执行程序中,在执行程序中,被内部或外部的事件被内部或外部的事件所打断,转去执行一所打断,转去执行一段预先安排好的中断段预先安排好的中断服务程序;服务结束服务程序;服务结束后,又返回原来的断后,又返回原来的断点,继续执行原来的点,继续执行原来的程序程序微机原理与接口技术9.2 CPU 与外设之间数据传送的方式与外设之间数据传送的方式3.直接存储直接存储器存取传送器存取传送(DMA)微机原理与接口技术 CPU对对DMA控制器进行初始化设置控制器进行初始化设置 外设、外设、DMAC和和CPU三者通过应答信号三者通过应答信号建立联系:建立联系:CPU将总线交给将总线交给DMAC控制控制 DMA传送传送DMA读存储器:存储器读存储器:存储器 外设外设DMA写存储器:存储器写存储器:存储器 外设外设 自动增减地址和计数,判断传送完成否自动增减地址和计数,判断传送完成否9.2 CPU 与外设之间数据传送的方式与外设之间数据传送的方式微机原理与接口技术HLDA发存储器地址发存储器地址传送数据传送数据传送结束?传送结束?DMA结束结束修改地址指针修改地址指针9.2 CPU 与外设之间数据传送的方式与外设之间数据传送的方式微机原理与接口技术9.3 中断技术中断技术中断:中断:CPU执行程序时,外设向执行程序时,外设向CPU发中断请发中断请求,求,CPU接收到中断请求并在一定条件下,暂接收到中断请求并在一定条件下,暂时停止执行原来的程序而转去处理中断,处理时停止执行原来的程序而转去处理中断,处理好中断服务再返回继续执行原来的程序,这一好中断服务再返回继续执行原来的程序,这一过程称为中断。过程称为中断。9.3.1 中断概述中断概述微机原理与接口技术引起引起CPU中断的事件中断的事件中断源。中断源。例如:例如:外设外设请求输入输出数据,报告故障等请求输入输出数据,报告故障等事件事件掉电、硬件故障、软件错误、非法操掉电、硬件故障、软件错误、非法操作、定时时间到等作、定时时间到等中断源分为:外部中断、内部中断中断源分为:外部中断、内部中断内部中断:内部中断:CPU内部执行程序时自身产生的中断内部执行程序时自身产生的中断外部中断:外部中断:CPU以外的设备、部件产生的中断以外的设备、部件产生的中断9.3.1 中断概述中断概述微机原理与接口技术中断系统应具有下列功能中断系统应具有下列功能(1)能响应中断、处理中断与返回。)能响应中断、处理中断与返回。(2)能实现优先权排队。)能实现优先权排队。(3)高级中断源能中断低级的中断处理。)高级中断源能中断低级的中断处理。9.3.1 中断概述中断概述微机原理与接口技术9.3.2 单个中断源的中断单个中断源的中断微机原理与接口技术9.3.2 单个中断源的中断单个中断源的中断被响应的条件被响应的条件无总线请求无总线请求中断未被屏蔽中断未被屏蔽响应中断的时间响应中断的时间IFIF1 1指令执行完毕指令执行完毕中断操作中断操作发响应信号发响应信号关中断关中断保护断点保护断点转入中断服务程序转入中断服务程序微机原理与接口技术9.4.1 8086/8088的中断系统的中断系统非屏蔽中断请求非屏蔽中断请求INT2(0008H)可屏蔽中断请求可屏蔽中断请求硬件提供中断向量中断类硬件提供中断向量中断类型码型码32255中断系统中断系统NMIINTR用户定义用户定义软件中断软件中断INTn单步中断单步中断INT1断点中断断点中断INT3除法错误除法错误INT0溢出中断溢出中断指令指令INT0INT4内部软中断内部软中断微机原理与接口技术非屏蔽中断请求NMI软件中断件中断硬件中断硬件中断9.4.1 8086/8088的中断系统的中断系统微机原理与接口技术1.外部中断 也称硬件中断,是由CPU的外部中断请求信号触发的一种中断,分为不可屏蔽中断NMI和可屏蔽中断INTR。(1)可屏蔽中断)可屏蔽中断INTR CPU将根据中断允许标志位IF的状态决定是否响应。如果IF=0,CPU关中断,将拒绝响应;如果IF=1,CPU开中断,允许响应。(2)不可屏蔽中断)不可屏蔽中断NMI 它不受中断允许标志位IF的影响,即使在关中断(IF=0)的情况下,CPU也能在当前指令执行完毕后就响应NMI上的中断请求。9.4.1 8086/8088的中断系统的中断系统微机原理与接口技术 2、内部中断、内部中断 也也称称软软件件中中断断,是是由由处处理理器器检检测测到到异异常常情情况况或或执执行行软软件件中中断断指指令令所所引引起起的的一一种种中中断断。内内部部中中断断又又可可分为:分为:(1)除法出错中断(类型)除法出错中断(类型0););(2)INTO溢出中断(类型溢出中断(类型4););(3)单步中断(类型)单步中断(类型1););(4)断点中断(类型)断点中断(类型3););(5)INT n中断(类型中断(类型n)。)。9.4.1 8086/8088的中断系统的中断系统微机原理与接口技术3.内部中断的特点:内部中断的特点:(1)中断矢量号是由CPU自动提供的,不需要执行中断响应总线周期去读取矢量号。(2)除单步中断外,所有内部中断都无法禁止,即都不能通过执行CLI指令使IF位清零来禁止对它们的响应。(3)除单步中断外,任何内部中断的优先权都比外部中断高。8086CPU的中断优先权顺序为:内部中断(除法出错中断、INT n指令中断、INTO溢出中断、断点中断)、NMI中断、INTR中断和单步中断。9.4.1 8086/8088的中断系统的中断系统微机原理与接口技术4.中断向量表中断向量表每种中断都指定一个每种中断都指定一个中断向量号,每一种中断向量号,每一种中断向量号都与一个中断向量号都与一个中断服务程序相对应。中断服务程序相对应。中断服务程序的入口中断服务程序的入口地址存放在内存储器地址存放在内存储器的中断向量表内。的中断向量表内。中断向量表是中断向中断向量表是中断向量号与它相应的中断量号与它相应的中断服务程序的转换表。服务程序的转换表。9.4.1 8086/8088的中断系统的中断系统微机原理与接口技术 中断向量表分为三部分:中断向量表分为三部分:(1)专专用用中中断断:类类型型0类类型型4,共共有有5种种类类型型。专专用用中中断断的的中中断断服服务务程程序序的的入入口口地地址址由由系系统统负负责装入,用户不能随意修改。责装入,用户不能随意修改。(2)备用中断:)备用中断:类型类型5类型类型3FH,这是,这是Intel公公司为软、硬件开发保留的中断类型,一般不允司为软、硬件开发保留的中断类型,一般不允许用户改作其他用途。许用户改作其他用途。(3)用户中断:)用户中断:类型类型40H类型类型FFH,为用户可,为用户可用中断,其中断服务程序的入口地址由用户程用中断,其中断服务程序的入口地址由用户程序负责装入。序负责装入。9.4.1 8086/8088的中断系统的中断系统微机原理与接口技术中断中断中断矢量号代码中断矢量号代码 (0255)中断服务程序中断服务程序 一一对应一一对应一一对应一一对应中断矢量号中断矢量号N中断矢量表的地址中断矢量表的地址中断矢量表中断矢量表中断服务程序的入口中断服务程序的入口地址(地址(CS,IP)49.4.1 8086/8088的中断系统的中断系统微机原理与接口技术例例:键盘中断的矢量号为键盘中断的矢量号为09H,它的中断服务程,它的中断服务程序入口地址为序入口地址为0BA9H:0125H,求它在中断矢量,求它在中断矢量表中的地址及相应单元内容表中的地址及相应单元内容 解解:键盘中断对应的中断矢量表位于:键盘中断对应的中断矢量表位于0000:0024H (09H4=24H)开始的开始的4单元单元 这这4个单元的内容见表个单元的内容见表:9.4.1 8086/8088的中断系统的中断系统微机原理与接口技术(1)直接写入法:)直接写入法:例例 若中断类型号若中断类型号n=70H,中断服务子程序的段名是,中断服务子程序的段名是INTSUB,借助伪指令和传送指令,将中断服务子程,借助伪指令和传送指令,将中断服务子程序入口地址写入中断向量表。序入口地址写入中断向量表。VECDATA SEGMENT AT 0 ORG 70H*4LOCA_70 DW 2 DUP(?)(?)VECDATA ENDS代码段写入中断向量表代码段写入中断向量表ININT SEGMENT MOV LOCA_70,OFFSET INTSUBMOV LOCA_70,SEG INTSUB中断入口地址的写入方法中断入口地址的写入方法微机原理与接口技术例例 不借助伪指令,直接用指令将中断服务子程序不借助伪指令,直接用指令将中断服务子程序INTSUB的入口地址写入中断向量表中,中断类型号的入口地址写入中断向量表中,中断类型号仍然为仍然为70H XOR AX,AXMOV ES,AXMOV BX,70H*4MOV AX,OFFSET INTSUBMOV ES:BX,AXMOV AX,SEG INTSUBMOV ES BX+2,AX中断入口地址的写入方法中断入口地址的写入方法微机原理与接口技术(2)利用利用DOS功能调用写、读中断向量表。功能调用写、读中断向量表。DOS功能调用功能调用25H用来写中断向量表。入口参数用来写中断向量表。入口参数是是:AL:中断类型号;DS:中断服务程序入口的段地址;DX:中断服务程序入口的偏移地址。DOS功能调用功能调用35H用来读中断向量表,入口、出用来读中断向量表,入口、出口参数如下:口参数如下:AL:中断类型号;ES:读出的中断服务程序入口的段地址;BX:读出的中断服务程序入口的偏移地址。中断入口地址的写入方法中断入口地址的写入方法微机原理与接口技术例例:设中断类型号为设中断类型号为70H70H,中断服务程序是,中断服务程序是INTSUBINTSUB,用,用DOSDOS功能调用功能调用25H25H将中断服务程序入口地址将中断服务程序入口地址写入中断向量表。写入中断向量表。解:相关的程序段如下:解:相关的程序段如下:PUSHPUSHDSDSMOVMOVAX,SEG INTSUBAX,SEG INTSUBMOVMOVDS,AXDS,AXLEALEADX,INTSUBDX,INTSUBMOVMOVAL,70HAL,70HMOVMOVAH,25HAH,25HINTINT21H21HPOPPOPDSDS中断入口地址的写入方法中断入口地址的写入方法微机原理与接口技术9.4.2 8086/8088CPU的中断处理过程的中断处理过程有有无无当前指令执行完毕当前指令执行完毕有中断请求否?有中断请求否?关中断关中断保护现场和断点保护现场和断点开中断开中断中断服务中断服务关中断关中断恢复现场恢复现场开中断开中断取下一条指令取下一条指令返回返回 CPU接收到外设的中断请求接收到外设的中断请求信号时信号时,若为非屏蔽中断请求,若为非屏蔽中断请求,则则CPU执行完现行指令后,就执行完现行指令后,就立即响应中断。若为可屏蔽中立即响应中断。若为可屏蔽中断请求,能否响应中断,还取断请求,能否响应中断,还取决于决于CPU的中断允许触发器的的中断允许触发器的状态。只有当其为状态。只有当其为“1”(即(即允许中断时),允许中断时),CPU才能响应才能响应可屏蔽中断:若其为可屏蔽中断:若其为“0”(即禁止中断时),即使有可(即禁止中断时),即使有可屏蔽中断请求,屏蔽中断请求,CPU也不响应。也不响应。CPU要响应可屏蔽中断请求,要响应可屏蔽中断请求,必须满足以下三个条件:必须满足以下三个条件:无总线请求;无总线请求;CPU允许中允许中断;断;CPU执行完现行指令。执行完现行指令。微机原理与接口技术微机原理与接口技术中断处理的主要过程中断处理的主要过程(1)保护现场:)保护现场:为了不破坏主程序中使用的寄存器的内容,必须用入栈指令PUSH将有关寄存器的内容入栈保护。(2)开中断:)开中断:为了实现中断嵌套,需要安排一条开中断指令,使系统处于开中断状态。(3)中断服务:)中断服务:CPU通过执行中断服务程序,完成对中断情况的处理。9.4.2 8086/8088CPU的中断处理过程的中断处理过程微机原理与接口技术中断返回时,要进行以下操作:(1)关中断:)关中断:使现场的恢复工作不被打扰。(2)恢复现场:)恢复现场:在返回主程序之前要将用户保护的寄存器内容从堆栈中弹出,以便能正确执行主程序。恢复现场用POP指令,要注意弹出时的顺序与入栈的顺序正好相反。(3)开中断:)开中断:使CPU能继续接收中断请求。9.4.2 8086/8088CPU的中断处理过程的中断处理过程微机原理与接口技术9.4.3 可屏蔽中断的全过程可屏蔽中断的全过程微机原理与接口技术9.4.4 中断响应时序中断响应时序8086在响应可屏蔽中断时要进入中断响应周期。中断响应周期需要两个总线周期,共8个T状态。可屏蔽中断的接口电路,要在收到第一个应答信号后,立即向CPU传送相应外设的中断类型号。微机原理与接口技术9.5 可编程中断控制器可编程中断控制器8259A微机原理与接口技术微机原理与接口技术9.5 可编程中断控制器可编程中断控制器8259A微机原理与接口技术数据总线缓冲器数据总线缓冲器:与:与DB挂接(低挂接(低8位),传送控制字位),传送控制字状态信息,中断向量。有了缓冲器,可直接挂接在总线状态信息,中断向量。有了缓冲器,可直接挂接在总线上,没有缓冲器的设备,不能直接挂接在总线上上,没有缓冲器的设备,不能直接挂接在总线上读读/写控制逻辑写控制逻辑:接收:接收CPU 的读的读/写控制命令和片选控制写控制命令和片选控制信息信息 RD:由由IN指令产生,实现读指令产生,实现读8259A(内部寄存器)内部寄存器)WR:由:由OUT指令产生,实现写指令产生,实现写8259A(命令字)命令字)A0:地址码,选择内部控制寄存器:地址码,选择内部控制寄存器 A0=0:选择内部偶地址:选择内部偶地址 A0=1:选择内部奇地址:选择内部奇地址 CS:片选信号,凡是挂总线上的芯片都需分配一个:片选信号,凡是挂总线上的芯片都需分配一个来自来自于系统译码电路的选通信号于系统译码电路的选通信号9.5 可编程中断控制器可编程中断控制器8259A微机原理与接口技术级联缓冲器级联缓冲器/比较器比较器:用于多:用于多8259A系统,也称缓冲方式系统,也称缓冲方式SP/EN:双功能信号,用于级联控制:双功能信号,用于级联控制缓冲方式缓冲方式时,时,EN=0,表示允许,表示允许8259A通过缓冲存储器输出通过缓冲存储器输出 EN=1,表示,表示CPU写写8259A非缓冲方式非缓冲方式时,时,SP表示主从关系,表示主从关系,SP=1,表示主片,表示主片,SP=0表表示从片示从片中断请求触发器(中断请求触发器(IRR):8位寄存器,用来存放由外位寄存器,用来存放由外部输入的中断申请信号部输入的中断申请信号IR0IR7。当某一个。当某一个IRi端呈现高端呈现高电平时,该寄存器的相应位置电平时,该寄存器的相应位置1,显然,最多有,显然,最多有8个中断个中断请求信号同时进入请求信号同时进入IR0IR7端,则端,则IRR将被置全将被置全“1”。至于被置至于被置“1”的请求能否进入的请求能否进入IRR的下一级判优电路还的下一级判优电路还取决于中断屏蔽寄存器取决于中断屏蔽寄存器IMR中相应位的状态中相应位的状态 9.5 可编程中断控制器可编程中断控制器8259A微机原理与接口技术中断服务寄存器中断服务寄存器(ISR):8位寄存器,用来存放或记录正位寄存器,用来存放或记录正在服务中的所有中断请求(如在多重嵌套时)。当某一在服务中的所有中断请求(如在多重嵌套时)。当某一级中断请求被响应,则级中断请求被响应,则ISR中相应位被置中相应位被置“1”,CPU执执行它的中断服务程序期间,一直保持到该级中断处理过行它的中断服务程序期间,一直保持到该级中断处理过程结束为止。在多重中断时,程结束为止。在多重中断时,ISR中可能有多位同时被置中可能有多位同时被置“1”,ISR可同时记录多个中断请求可同时记录多个中断请求 中断屏蔽寄存器中断屏蔽寄存器(IMR):8位寄存器,用来存放对各级中位寄存器,用来存放对各级中断请求的屏蔽信息。由断请求的屏蔽信息。由CPU设置,以决定某个中断源是设置,以决定某个中断源是否被屏蔽,当该寄存器中某一位置否被屏蔽,当该寄存器中某一位置“1”时,表示禁止该时,表示禁止该中断请求进入系统。通过中断请求进入系统。通过IMR寄存器可实现对各级中断寄存器可实现对各级中断的有选择的屏蔽的有选择的屏蔽9.5 可编程中断控制器可编程中断控制器8259A微机原理与接口技术中断优先级排队电路中断优先级排队电路(PR):用来判别已进入用来判别已进入IRR中的各中中的各中断请求的优先级别。当有多个中断请求同时产生并经断请求的优先级别。当有多个中断请求同时产生并经IMR允许进入系统后,先由允许进入系统后,先由PR电路判定当前哪一个中断请求具电路判定当前哪一个中断请求具有最高优先级,然后由系统首先响应这一级中断,并转去有最高优先级,然后由系统首先响应这一级中断,并转去执行相应的中断服务程序。当出现多重中断时,由执行相应的中断服务程序。当出现多重中断时,由PR判定判定是否允许所出现的新的请求去打断正在处理的中断服务而是否允许所出现的新的请求去打断正在处理的中断服务而被优先处理。一般的处理原则是被优先处理。一般的处理原则是允许高级中断打断低中断允许高级中断打断低中断,反之不行反之不行 控制逻辑控制逻辑:依据中断请求寄存器依据中断请求寄存器IRR的位置情况和的位置情况和优先级排队电路优先级排队电路PR的判定结果,向的判定结果,向8259A内部其内部其他部件发出控制信号,并向他部件发出控制信号,并向CPU发出中断请求信发出中断请求信号号INT和接收来自和接收来自CPU的中断响应信号的中断响应信号INTA,控,控制制8259A进入中断服务状态进入中断服务状态9.5 可编程中断控制器可编程中断控制器8259A微机原理与接口技术(1)8259A接收外部中断,接收外部中断,IRR有有8位,对位,对IR0IR7,IRR接接收来自某一引脚的中断请求后,对应位置收来自某一引脚的中断请求后,对应位置1,锁存请求,锁存请求(2)逻辑电路根据)逻辑电路根据IMR中的对应位是否屏蔽决定是否让其中的对应位是否屏蔽决定是否让其进入优先级排队电路。进入优先级排队电路。IMR中对应位为中对应位为0,则允许进入,则允许进入,若对应位为若对应位为1,则封锁,则封锁(3)中断优先级排队电路把新进入的中断请求和当前正在)中断优先级排队电路把新进入的中断请求和当前正在进行的以及排队等待的进行重新排队,决定最高优先级进行的以及排队等待的进行重新排队,决定最高优先级(4)ISR寄存器存放的是当前进行的中断服务的标志,如果寄存器存放的是当前进行的中断服务的标志,如果新来的优先级足够高,则新来的优先级足够高,则8259A会通过逻辑电路使输出端会通过逻辑电路使输出端INT向向CPU发中断请求。此时若发中断请求。此时若IF=1,则,则CPU在执行完当在执行完当前指令后,就可以响应中断前指令后,就可以响应中断9.5 可编程中断控制器可编程中断控制器8259A8259A的工作过程的工作过程微机原理与接口技术对对8086CPU而言,响应中断申请后,向而言,响应中断申请后,向8259A回回送送两个两个负脉冲负脉冲INTA第一个第一个INTA到达时,到达时,8259A做做3件事:件事:IRR锁存功能失效,不接受任何申请锁存功能失效,不接受任何申请 使使ISR相应位置位,提供判优依据相应位置位,提供判优依据 使使IRR清零清零第二个第二个INTA到达时,到达时,8259A做做3件事:件事:恢复恢复IRR功能功能 将中断类型号送上数据总线的将中断类型号送上数据总线的D7D0,传给,传给CPU 如果方式控制字(如果方式控制字(ICW4),自动中断结束位为,自动中断结束位为1,那么在第二个脉冲结束时,那么在第二个脉冲结束时,8259A会将第一个会将第一个INTA脉脉冲到来时设置的冲到来时设置的ISR清清09.5 可编程中断控制器可编程中断控制器8259A微机原理与接口技术v每片包含两个内部端口地址,一个偶地址端口每片包含两个内部端口地址,一个偶地址端口(A0=0),一个奇地址端口,一个奇地址端口(A0=1),其它高位地址码由其它高位地址码由用户定义,用来做用户定义,用来做8259A的片选信号(的片选信号(CS)v8259A中中ISR、IRR及及IMR的的内内容容可可以以通通过过写写控控制制命命令字来加以改变。有两种类型的控制命令字:令字来加以改变。有两种类型的控制命令字:v初初始始化化命命令令字字ICW:(ICW1ICW4),它它们们必必须须在在初初始始化化时时写写入入。并并且且,一一旦旦写写入入,一一般般在在系系统统运运行过程中就不再改变行过程中就不再改变v工作方式命令字或操作命令字工作方式命令字或操作命令字OCW:(:(OCW1OCW3)它们必须在初始化命令后方能写入。它们)它们必须在初始化命令后方能写入。它们用来对中断处理过程作动态控制。在一个系统运行用来对中断处理过程作动态控制。在一个系统运行过程中,操作命令字可以被多次设置过程中,操作命令字可以被多次设置9.5.3 8259A的控制字格式的控制字格式微机原理与接口技术9.5.3 8259A的控制字格式的控制字格式微机原理与接口技术(1)ICW1芯片初始化命令字芯片初始化命令字 标记:标记:A0=0,D4=1标记标记ICW1,因为,因为OCW2和和OCW3也要求也要求A0=0D7D6D5D4D3D2D1D01LTIMADISNGLIC4习惯上填习惯上填01-中断请求电平触发中断请求电平触发0-中断请求边沿触发中断请求边沿触发8086系统不起作用系统不起作用1-单片,单片,0-级联级联1-设置设置ICW40-不设置不设置A009.5.3 8259A的控制字格式的控制字格式微机原理与接口技术(2)ICW2设置中断类型码初始化命令字,紧跟在设置中断类型码初始化命令字,紧跟在ICW1之后,定义之后,定义中断类型码的高中断类型码的高5位,低位,低3位由位由IRi确定确定。标记:标记:A0=1D7D6D5D4D3T7T6T5D2D1D0T4T3A10A9A8A01与用户选择类型码有关,与用户选择类型码有关,选择系统没有占用的选择系统没有占用的0 0 0 IR00 0 1 IR10 1 0 IR20 1 1 IR31 0 0 IR41 0 1 IR51 1 0 IR61 1 1 IR7注注:中断类型码一定是连续的!:中断类型码一定是连续的!9.5.3 8259A的控制字格式的控制字格式微机原理与接口技术(3)ICW3初始化命令字:初始化命令字:功能:在多片功能:在多片8259A的系统中,说明主、从的系统中,说明主、从8259A之间的连接关系(仅在多片之间的连接关系(仅在多片8259A系统中使用)。系统中使用)。9.5.3 8259A的控制字格式的控制字格式微机原理与接口技术(4)ICW4初始化命令字:初始化命令字:功能:设置功能:设置8259A的中断结束方式等。的中断结束方式等。9.5.3 8259A的控制字格式的控制字格式微机原理与接口技术 8259A对于对于中断优先权中断优先权的管理有两种方式、三种的管理有两种方式、三种具体的做法。具体的做法。(1)全嵌套方式:即固定优先级方式,对于)全嵌套方式:即固定优先级方式,对于8个个中断源,从中断源,从IR0接入的中断源优先级最高,从接入的中断源优先级最高,从IR7接入的中断源优先级最低。接入的中断源优先级最低。(2)循环优先级方式:初始时,仍然是按)循环优先级方式:初始时,仍然是按IR0的的优先级最高,优先级最高,IR7的优先级最低,一旦某个中断的优先级最低,一旦某个中断请求被响应了,这个中断输入对应的优先级就降请求被响应了,这个中断输入对应的优先级就降到最低,原来比这个输入低一级的输入的优先级到最低,原来比这个输入低一级的输入的优先级升位最高,其余各个输入对应的优先级仍然依次升位最高,其余各个输入对应的优先级仍然依次排列。排列。9.5.3 8259A的控制字格式的控制字格式微机原理与接口技术(3)特殊全嵌套)特殊全嵌套方式:特殊全嵌方式:特殊全嵌套方式在多片套方式在多片8259A级联的时级联的时候使用。它允许候使用。它允许同级中断的嵌套:同级中断的嵌套:后面到来的同级后面到来的同级中断申请可以打中断申请可以打断前面没有结束断前面没有结束的同级中断服务。的同级中断服务。从从8259A发来的新的申请可发来的新的申请可以打断前面的中断服务以打断前面的中断服务9.5.3 8259A的控制字格式的控制字格式微机原理与接口技术中断结束方式中断结束方式8259A8259A有两种清除有两种清除ISR(ISR(中断服务寄存器)寄存器中中断服务寄存器)寄存器中的登记的方法,也就是有两种中断结束方式。的登记的方法,也就是有两种中断结束方式。(1 1)自动结束中断方式:)自动结束中断方式:8259A8259A在在CPUCPU发送第二个发送第二个应答信号的后沿,自动清除被响应的中断在应答信号的后沿,自动清除被响应的中断在ISRISR寄寄存器中的登记。存器中的登记。(2 2)非自动结束中断方式:要求在中断服务程序)非自动结束中断方式:要求在中断服务程序结束前,通过指令向结束前,通过指令向8259A8259A发送一个结束中断的命发送一个结束中断的命令,一般就称为令,一般就称为EOIEOI命令(命令(8259A8259A的一种操作命令的一种操作命令字),字),8259A8259A收到这个命令后,才会清除正在服务收到这个命令后,才会清除正在服务的中断在的中断在ISRISR寄存器中的登记。寄存器中的登记。9.5.3 8259A的控制字格式的控制字格式微机原理与接口技术中断屏蔽方式中断屏蔽方式一般屏蔽方式:通过对于中断屏蔽寄存器一般屏蔽方式:通过对于中断屏蔽寄存器IMR的设置,可以屏蔽一些(甚至全部)的设置,可以屏蔽一些(甚至全部)中断申请输入到中断申请输入到8259A。还可以实现高优先。还可以实现高优先级的中断对低优先级中断的屏蔽。级的中断对低优先级中断的屏蔽。特殊屏蔽方式:特殊屏蔽方式:8259A还可以设置一种特殊还可以设置一种特殊屏蔽方式。在这样的屏蔽方式中,高优先屏蔽方式。在这样的屏蔽方式中,高优先级的中断不对低级中断产生屏蔽。也就是级的中断不对低级中断产生屏蔽。也就是说,各中断源之间的优先级关系就不考虑说,各中断源之间的优先级关系就不考虑了。了。9.5.3 8259A的控制字格式的控制字格式微机原理与接口技术当当8259A经预置经预置ICWi后,已进入初始状态,便可接后,已进入初始状态,便可接受来自受来自IRi端的中断请求,然后自动进入操作命令端的中断请求,然后自动进入操作命令字状态,准备接受由字状态,准备接受由CPU写入写入8259A的操作命令字的操作命令字OCWi8259A有有3个操作命令字,即个操作命令字,即OCW1OCW3,操作,操作命令字是在应用程序中设置的命令字是在应用程序中设置的对对OCWi的操作,次序上没有严格的要求的操作,次序上没有严格的要求对端口地址有严格的规定,即对端口地址有严格的规定,即OCW1必须写入奇地必须写入奇地址端口,址端口,OCW2和和OCW3必须写入偶地址端口必须写入偶地址端口9.5.3 8259A的控制字格式的控制字格式微机原理与接口技术(1)OCW1中断屏蔽操作命令字,标记:中断屏蔽操作命令字,标记:A0=1D7D6D5D4D3M7M6M5D2D1D0M4M3M2M1M0A01Mi=1,该中断被屏蔽,该中断被屏蔽Mi=0,该中断被允许,该中断被允许9.5.3 8259A的控制字格式的控制字格式微机原理与接口技术(2)OCW2设置优先级循环方式和中断结束方式的操作命令字设置优先级循环方式和中断结束方式的操作命令字 标记:标记:A0=0,D3=D4=09.5.3 8259A的控制字格式的控制字格式微机原理与接口技术001-普通普通EOI方式方式011-特殊特殊EOI方式(方式(L20有效,指定结束的是哪一级中断,有效,指定结束的是哪一级中断,并清并清ISR)101-普通普通EOI循环方式循环方式111-特殊特殊EOI循环方式(循环方式(L20有效,清有效,清L20指指 定级别定级别ISR,并赋予其最低优先级)并赋予其最低优先级)000-自动自动EOI方式(复位,清除)方式(复位,清除)100-自动自动EOI方式(置位,设置)方式(置位,设置)110-置位优先权命令,向置位优先权命令,向8259A发置位优先权命令,最低发置位优先权命令,最低优先级赋予优先级赋予L20指定的指定的IRi,其它中断源按循环方式分别,其它中断源按循环方式分别赋给优先级赋给优先级9.5.3 8259A的控制字格式的控制字格式R SL EIO 编码说明编码说明微机原理与接口技术(3)OCW3标记:标记:A0=0,D3D4=01 OCW3不是不是必需的必需的D7D6D5D4D3/CSMMSMMD2D1D001PRRRISA000X-无效无效10-特殊屏蔽方式复位特殊屏蔽方式复位11-特殊屏蔽方式置位特殊屏蔽方式置位1-查询查询8259A状态状态0-不查询不查询0X:无效:无效10:读:读IRR AL11:读:读ISR AL注:注:读读IMR寄存器不需要设置寄存器不需要设置RR和和RIS只只需将端口设置成奇地址需将端口设置成奇地址A0=1 用用IN指令,指令,IMR AL,与,与OCW3无关,无关,可在程序的任何位置安排可在程序的任何位置安排IN指令实现指令实现9.5.3 8259A的控制字格式的控制字格式微机原理与接口技术8259A应用举例应用举例 例例8-5 2片片8259级联,从片的级联,从片的INT接主片的接主片的IR2。端口地址:主片端口地址:主片20H、21H,从片,从片A0H、A1H。主片和从片均采用边沿触发。主片和从片均采用边沿触发。主片采用特殊全嵌套方式,从片是一般全嵌套方式。主片采用特殊全嵌套方式,从片是一般全嵌套方式。采用非缓冲方式,主片接采用非缓冲方式,主片接+5V,从片接地。从片接地。主片的中断类型号为主片的中断类型号为08H0FH,从片的中断类型号为,从片的中断类型号为70H77H。写出主写出主8259A和从和从8259A的初始化程序段。的初始化程序段。9.5.3 8259A的控制字格式的控制字格式微机原理与接口技术相应的初始化程序段如下:相应的初始化程序段如下:ICW1A EQU 20H;主片端口地址;主片端口地址ICW2A EQU ICW1A+1ICW3A EQU ICW2AICW4A EQU ICW2AICW1B EQU 0A0H ;从片端口地址;从片端口地址ICW2B EQU ICW1B+1ICW3B EQU ICW2BICW4B EQU ICW2B微机原理与接口技术;-主片主片8259A-MOV AL,11H;ICW1,边沿触发,多片,需,边沿触发,多片,需ICW4OUT ICW1A,ALMOV AL,08H;ICW2,中断类型码,中断类型码OUT ICW2A,ALMOV AL,04H;ICW3,IR2接从片接从片OUT ICW3A,ALMOV AL,11H ;ICW4,非缓冲,特殊全嵌套,非自动,非缓冲,特殊全嵌套,非自动结束结束OUT ICW4A,AL微机原理与接口技术;-从片从片8259A-MOV AL,11H ;ICW1,边沿触发,多片,需,边沿触发,多片,需ICW4OUT ICW1B,ALMOV AL,70H ;ICW2,中断类型码,中断类型码OUT ICW2B,ALMOV AL,02H ;ICW3,INT接主片的接主片的IR2OUT ICW3B,ALMOV AL,01H ;ICW4,非缓冲,全嵌套,非自动结束,非缓冲,全嵌套,非自动结束OUT ICW4B,AL微机原理与接口技术例例:在:在IBM PC/XT机中,只用机中,只用1片片8259A中断控制器,用中断控制器,用来提供来提供8级中断请求,其中级中断请求,其中IRQ0优先级最高,优先级最高,IRQ7优先优先级最低。它们分别用于日历时钟中断、键盘中断、保留、级最低。它们分别用于日历时钟中断、键盘中断、保留、网络通信、异步通信中断、硬盘中断、软盘中断及打印网络通信、异步通信中断、硬盘中断、软盘中断及打印机中断。机中断。8259A片选地址为片选地址为20H、21H 1初始化初始化MOV AL,13H ;写写ICW1,单片,边沿触发,需要设置,单片,边沿触发,需要设置ICW4OUT 20H,AL ;A00;D41MOV AL,8 ;写;写ICW2,中断类型号从,中断类型号从8开始开始 ;(即即IRQ0的中断类型号为的中断类型号为8)OUT 21H,AL ;A018259A应用举例应用举例 微机原理与接口技术 MOVAL,9 ;写;写ICW4,缓冲工作方式,缓冲工作方式,80888/8086配置配置OUT21H,AL;A01MOV AL,0;写;写OCW1,允许,允许IRQ0IRQ7 ;全部;全部8级中断请求级中断请求OUT21H,AL8259A应用举例应用举例 微机原理与接口技术2送中断矢量入口地址送中断矢量入口地址 如,设如,设IRQ0的中断类型号为的中断类型号为8,则异步通信中断,则异步通信中断IRQ4的的中矢量类型号为中矢量类型号为8412(0CH),则中断入口地址的偏),则中断入口地址的偏移量(移量(IP值)与段基址(值)与段基址(CS)在入口地址表中的存放地址)在入口地址表中的存放地址为为12448(30H33H)。其中)。其中30H、31H存放指令指存放指令指针针IP;32H、33H存放指令段码存放指令段码CS 8259A应用举例应用举例 微机原理与接口技术10H00H32H50H10H00H61H00H10H00H50H20H50H400140H52H400148H54H400150HIR0 类型号类型号50HIR2 类型号类型号52HIR4 类型号类型号54H中断向量表中断向量表微机原理与接口技术(1)中断向量表形成中断向量表形成MOVAX,1000HMOVDS,AX;DS中为段地址中为段地址MOVDX,5020H;DX中为偏移地址中为偏移地址MOVAL,50H;中断类型号为;中断类型号为50HMOVAH,25HINT21H;设置类型号;设置类型号50H的中断向量的中断向量MOVDX,6100HMOVAL,52HINT21H;设置类型号;设置类型号52H的中断向量的中断向量MOVDX,3250HMOVAL,54HINT21H;设置类型号;设置类型号54H的中断向量的中断向量微机原理与接口技术(2)8259A初始化编程:设初始化编程:设8259A的端口地址为的端口地址为FFC8H和和FFC9HMOVAL,00010011B(13H);定义);定义ICW1,单独使用,边沿触发,单独使用,边沿触发MOVDX,0FFC8HOUTDX,AL;发;发ICW1命令命令MOVAL,50H;IR0的中断类型号为的中断类型号为50HMOVDX,0FFC9HOUTDX,AL;发;发ICW2命令命令MOVAL,00000001B;定义;定义ICW4,完全嵌套,非缓冲,完全嵌套,非缓冲OUTDX,ALMOVAL,11101010B(0EAH);定义);定义OCW1,允许,允许IR0、IR2、OUTDX,AL;IR4中断,其余中断请求屏蔽中断,其余中断请求屏蔽 微机原理与接口技术(3)中断服务子程序中断服务子程序PUSHAX;保护现场;保护现场STI;开中断;开中断;中断处理;中断处理CLI;关中断;关中断MOVAL,20H;定义;定义OCW2,普通,普通EOI结束命令结束命令MOVDX,0FFC8HOUTDX,ALPOPAX;恢复现场;恢复现场IRET;中断返回;中断返回
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!