第6章_微机中断系统

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

安徽建筑工业学院电子与信息学院第6章微机中断系统6.1中断概述6.2中断的处理过程6.380X86中断结构6.4可编程中断控制器8259A安徽建筑工业学院电子与信息学院。中断:CPU停止运行程序,转去执行请求要服务的程序;。中断源:能引起中断的事件,称为中断源;。中断源种类:外部(硬件)、内部(软件)-外部:由外部设备发出的中断请求(NMI、INTR);-软件:由程序预先安排的中断指令引起(INTn),或因CPU运算产生的错误(除法、溢出)引起。6.1中断概述安徽建筑工业学院电子与信息学院6.2中断的处理过程一个完整的中断处理过程应包括:中断请求中断判优中断响应中断服务程序原程序中断请求安徽建筑工业学院电子与信息学院1)中断请求CPU在每条指令最后一个T周期检查INTR引脚,若信号有且满足中断响应条件(IF=1),CPU响应中断。安徽建筑工业学院电子与信息学院2)中断判优当有多个中断请求时,CPU识别其优先权并按优先权处理,同时实现中断嵌套功能。软件查询方式安徽建筑工业学院电子与信息学院硬件查询方式菊花链法中断判优逻辑安徽建筑工业学院电子与信息学院中断判优逻辑可编程中断控制器安徽建筑工业学院电子与信息学院3)中断响应(三个过程)。关中断:CPU向外设发中断响应信号(INTA),同时至IF=0;。保护现场:断点地址及程序状态字PSW值入栈,CS和IP值入栈;-形成中断入口地址,转向中断服务子程序。。恢复现场:中断程序结束,用出栈指令恢复保存寄存器内容;-执行中断返回指令IRET,从堆栈中弹出IP、CS和PSW。安徽建筑工业学院电子与信息学院1)中断源类型6.380X86中断结构256种中断可分为两类:硬件中断(外部中断)软件中断NMI(不可屏蔽)_连接到CPU的NMI端,不受IF影响INTR(可屏蔽)_连接到CPU的INTR端,受IF影响.优先权级别(由高到低):除法错INTnINTONMIINTR单步安徽建筑工业学院电子与信息学院⑴中断向量及存放地点。一个中断向量由四个字节组成;-2个高地址字节,存放中断服务程序的代码段的段值;-2个低地址字节,存放中断服务程序的偏移地址;。8086系统有256个类型中断源,每一个类型源对应一个中断向量,中断向量表存放段地址:00000H-03FFFH;。中断向量地址=中断类型号*42)8086中断向量表安徽建筑工业学院电子与信息学院安徽建筑工业学院电子与信息学院开中断;即IF=1⑵中断操作过程示意图安徽建筑工业学院电子与信息学院3)8086中断响应和处理过程安徽建筑工业学院电子与信息学院4)8086中断响应时序安徽建筑工业学院电子与信息学院⑴中断指令。INTn(软件中断指令)如:INT20H。IRET(中断返回指令)-执行后,先从堆栈弹出断点送IP、CS,后弹程序状态字PSW;⑵标志位操作指令。CLI(中断标志位清0)-使PSW中IF位置0,禁止响应外界中断请求(关中断);。STI(中断标志位置1)-使PSW中IF位置1,允许响应外界中断请求(开中断)。5)8086中断指令系统安徽建筑工业学院电子与信息学院6.4可编程中断控制器8259A1)8259A的特点及功能:★28个引脚,双列直插,工作电压+5V;★具有中断源识别、优先权排队、中断屏蔽、中断向量提供等功能;★一片8259A可管理8级中断(优先权控制),通过9片级联可管理64级中断源;安徽建筑工业学院电子与信息学院2)8259A内部结构和引脚安徽建筑工业学院电子与信息学院ICW1--芯片控制初始化命令字ICW2--设置中断类型号初始化命令字ICW3--标识主/从片初始化命令字ICW4--方式控制初始化命令字初始化命令字ICW操作命令字OCWOCW1:中断屏蔽操作命令字OCW2:优先权循环和中断结束方式操作字OCW3:特殊屏蔽方式和查询方式操作字★初始化命令字(ICW)设定8259A的工作方式;★操作命令字(OCW)完成动态控制CPU处理中断的过程。3)8259的编程安徽建筑工业学院电子与信息学院①ICW1:芯片控制初始化命令字(必须写入偶地址端口)0XX1LTIM0SNGLIC4X8086/8088系统中不使用1:电平触发(高电平)0:边沿触发(上升沿)1:单级使用0:级联使用1:需要设置ICW40:不需要设置ICW4ICW4方式控制初始化⑴处始化命令字ICW的设置例:ICW1EQU13H;13H=00010011B;MOVAL,ICW1OUT20H,AL;单片8259,上升沿触发,要求设置ICW4;安徽建筑工业学院电子与信息学院1T6T5T4T3000T7用户自己设定例1:ICW2的值为20H,则提供外部中断的类型号为:IR0---20HIR1---21HIR7---27HPC/XT系统中T7—T3的值为00001则提供外部中断的类型号为:IR0---08HIR1---09HIR7---0FH即编程为:MOVAL,08HOUT21H,AL对应IR0-IR7中响应哪级中断(000-111)注:8259中IR0端对应的中断类型号为中断类型号的基值,它是可以被8整除的正整数。②ICW2:设置中断类型号初始化命令字(须写入奇地址端口)安徽建筑工业学院电子与信息学院1IR7IR4IR5IR3IR2IR1IR0IR6主片10000ID2ID1ID00从8259的识别地址从片例:对于主片ICW3=F0H(11110000)上述特征表示:。IR7,IR6,IR5,IR4接有从片。IR3,IR2,IR1,IR0没接从片③ICW3:标识主/从片初始化命令字(须写入奇地址端口)对于从片ID2-ID0表示从片接在主片的哪个中断请求输入端上,如ID2--ID0=011,则表示从片接在主8259的IR3端上IRi=0:表示IRi端上未接8259从片1:表示IRi端上接有8259从片安徽建筑工业学院电子与信息学院1000SFNMBUFM/SAEOIuPM1:特殊完全嵌套方式0:非特殊完全嵌套方式1:与86/88配合0:与80/85配合1:自动EOI方式0:非自动EOI方式非缓冲方式0X缓冲方式从825910主825911④ICW4:方式控制初始化命令字(须写入奇地址端口)说明:ICW1的IC4=1时,要求预置ICW4,8086/8088系统必须预置。安徽建筑工业学院电子与信息学院★8259初始化流程ICW1--初始化命令字ICW2--设置中断类型号ICW3--主/从初始化ICW4--中断方式控制字用ICW1设置是否级联请求信号格式后面是否用ICW4用ICW2设置中断类型码是否为级联方式?本片为主片吗?设ICW3,各位对应IR0-IR7的连接情况设ICW3,高五位为0低三位为标识码要用ICW4吗?用ICW4设置是否为特殊全嵌套方式是否为缓冲方式是否为自动结束中断方式是否为86/88系统NENDNY安徽建筑工业学院电子与信息学院⑵操作命令字OCW设置①OCW1:中断屏蔽操作命令字(写入奇地址端口)1M7M6M5M4M3M2M1M0Mi=1:屏蔽由IRi引入的中断请求0:允许由IRi引入的中断请求例:若OCW1=06H(00000110B);则表示为:IR1,IR2引腿上的中断请求受到屏蔽。操作命令字的设置,是通过对三个操作命令寄存器OCW1、OCW2、OCW3中的个别位的预置,来完成动态控制CPU处理中断的过程。安徽建筑工业学院电子与信息学院5)8259的级联8259的级联是通过初始化命令字ICW1的(SNGL=0)和ICW3主/从片初始化命令字的设置而完成。(1)缓冲方式连接多片8259A级连系统,8259通过外部总线驱动器和数据总线相连,这就是缓冲方式。在缓冲方式下,8259的SP/NE输出信号作为缓冲器的启动信号,用来启动总线驱动器。(2)非缓冲方式当系统中只有一片或几片8259芯片时,可将数据总线直接与系统数据总线相连,此时8259处于非缓冲方式下。在这种方式下,8259的SP/NE作为输入端设置,主片应接高电平,从片应接低电平。安徽建筑工业学院电子与信息学院。CAS2—CAS0双向级联信号,主片为输出,从片为输入,与SP/EN配合实现级联;。SP/EN编程/双向使能缓冲;—主片接+5V,从片接地。8259主从式的级联安徽建筑工业学院电子与信息学院安徽建筑工业学院电子与信息学院8259主从式的级联安徽建筑工业学院电子与信息学院安徽建筑工业学院电子与信息学院8259主从式的级联例某系统中两片8259A采用级联方式组成中断系统,从片的INT端连在主片8259A的IR3端。若当前8259A主片由IR1、IR5端引入两个中断请求,中断类型号为31H、35H,中断服务程序的段基址为1000H,偏移地址分别为2000H、3000H。8259A从片由IR4、IR5端引入两个中断请求,类型号是44H、45H,中断服务程序基址为2000H,偏移地址为3600H、4500H,请编写初始化程序和画出连接图。安徽建筑工业学院电子与信息学院安徽建筑工业学院电子与信息学院安徽建筑工业学院电子与信息学院⑴中断向量形成:将4个中断入口地址写入中断向量表。MOVAX,1000HMOVDS,AXMOVDX,2000HMOVAL,31H;中断类型号31HMOVAH,25HINT21HMOVDX,3000H;中断类型号35HMOVAL,35HINT21HMOVAX,2000HMOVDS,AXMOVDX,3600HMOVAL,44H;中断类型号44HMOVAH,25HINT21HMOVDX,4500H;中断类型号45HMOVAL,45HINT21HMOVAX,00HMOVDS,AXMOVAX,2000HMOV[00C4H],AXMOVAX,1000HMOV[00C6H],AXMOVAX,3000HMOV[00D4H],AXMOVAX,1000HMOV[00D6H],AXMOVAX,3600HMOV[0110H],AXMOVAX,2000HMOV[0112H],AXMOVAX,4500HMOV[0114H],AXMOVAX,2000HMOV[0116H],AX或安徽建筑工业学院电子与信息学院⑵主片8259A初始化编程:8259A主片端口地址为FFC8H和FFC9H。MOVAL,11H;ICW1,主片8259A级联使用,边沿触发MOVDX,0FFC8HOUTDX,ALMOVAL,30H;ICW2,中断类型号30HINCDXOUTDX,ALMOVAL,08H;ICW3,IR3端接从片8259AOUTDX,ALMOVAL,11H;ICW4,特殊全嵌套方式,非缓冲方式OUTDX,ALMOVAL,0D5H;OCW1,允许IR1、IR3、IR5中断OUTDX,AL安徽建筑工业学院电子与信息学院⑶从片8259A初始化编程:从片8259A的端口地址为FFCAH和FFCBH。MOVAL,11H;ICW1,级联使用,边沿触发MOVDX,0FFCAHOUTDX,ALMOVAL,40H;ICW2,中断类型号40HINCDXOUTDX,ALMOVAL,03H;ICW3,从片接在主片IR3端OUTDX,ALMOVAL,01H;ICW4,完全全嵌套方式,非缓冲方式OUTDX,ALMOVAL,0CFH;OCW1,允许IR4、IR5中断OUTDX,AL安徽建筑工业学院电子与信息学院例8255A的端口A经过反相驱动器连接一共阴极的七段发光二极管显示器;端口B是中断方式的输入口。设8255A的中断类型码是30H。试画出电路,(中断接8259)编写8255A和中断初始化程序,并编写中断服务程序,用来实现,当CPU从端口B输入的8位码是偶数个1时,LED上显示E,否则显示0。(8255口地址为60H~63H,8259A为一片,口地址为20H、21H)。安徽建筑工业学院电子与信息学院十进制数与十六进制数对应表安徽建筑工业学院电子与信息学院①8255A、8259A和中断向量表的初始化……CLIMOVAL,10000110B;A口方式0输出,B口方式1输入OUT63H,ALMOVAX,0;设中断向量MOVDS,AXMOVAX,off

1 / 37
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功