《微机接口原理第七章中断技术精选PPT.ppt》由会员分享,可在线阅读,更多相关《微机接口原理第七章中断技术精选PPT.ppt(38页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、微机原理与接口技术精品课程关于微机接口原理关于微机接口原理第七章中断技术第七章中断技术第1页,讲稿共38张,创作于星期六输入输入/输出数据的传输控制方式输出数据的传输控制方式 程序方式程序方式中断方式中断方式DMA方式方式 特点:上级反复访问 特点:下级请示执行 特点:架空CPU(三种接口设计模式)(三种接口设计模式)第2页,讲稿共38张,创作于星期六微机原理与接口技术精品课程3INT0INT1INT4INT3INT2断断点点中中断断溢溢出出中中断断复习:第二章中断概念部分CPU硬件中断信号脚:第17脚 非屏蔽中断请求第18脚 可屏蔽中断请求第24脚 可屏蔽中断响应弄清几个概念:1.中断分类概
2、念 2.中断向量表概念 3.中断服务子程序的执行机制概念第3页,讲稿共38张,创作于星期六微机原理与接口技术精品课程48086/8088的中断系统 注:INT 0 INT 4 为系统专用中断号第4页,讲稿共38张,创作于星期六微机原理与接口技术精品课程5复复习习:中中断断管管理理表表windows有API库 dos返回返回28第5页,讲稿共38张,创作于星期六微机原理与接口技术精品课程6三、计算机中断响应过程三、计算机中断响应过程第一步:获得中断类型号;第一步:获得中断类型号;第二步:保护断点并关中断;第二步:保护断点并关中断;第三步:从中断向量表中提取中断向量,转入中断服务程序。第三步:从中
3、断向量表中提取中断向量,转入中断服务程序。关于中断类型号的获得,有三种情况:关于中断类型号的获得,有三种情况:1、对专用中断(中断号、对专用中断(中断号0 4),中断类型号由),中断类型号由CPU自动自动 生成;生成;2、对软件中断、对软件中断 INT N ,中断类型号,中断类型号N从指令获得;从指令获得;3、对外部可屏蔽中断,、对外部可屏蔽中断,CPU获得中断类型号的过程比较获得中断类型号的过程比较 复杂。见下页复杂。见下页第6页,讲稿共38张,创作于星期六微机原理与接口技术精品课程7 可屏蔽中断接口必用可屏蔽中断接口必用可编程中断控制芯片可编程中断控制芯片8259A连接CPU的中断请求线可
4、扩展8个外部中断源 连接CPU的中断响应线注:其他管脚要解决:注:其他管脚要解决:可编程的初始化问题可编程的初始化问题 中断源的再扩展问题中断源的再扩展问题D0D7返回返回25第7页,讲稿共38张,创作于星期六微机原理与接口技术精品课程8CPU中断中断接口接口D0 D7中断请求中断请求INTR中断相应中断相应INTA第一个总线周期第一个总线周期CPU送中断响应信号送中断响应信号INTA第二个总线周期中断接口送中断类型号第二个总线周期中断接口送中断类型号8259AIR0IR7第8页,讲稿共38张,创作于星期六微机原理与接口技术精品课程9四、各类中断的优先级四、各类中断的优先级注注注:优先级可以通
5、过硬件设计实现注:优先级可以通过硬件设计实现 也可以通过软件设计实现也可以通过软件设计实现第9页,讲稿共38张,创作于星期六微机原理与接口技术精品课程10第三节第三节 可编程中断控制器可编程中断控制器Intel 8259A 8259A应具备下列四项功能:应具备下列四项功能:1、中断请求端的扩展功能、中断请求端的扩展功能 2、中断优先级的管理功能、中断优先级的管理功能 3、中断类型码的预置和自动上传功能、中断类型码的预置和自动上传功能 4、可编程功能:通过程序获得不同的工作、可编程功能:通过程序获得不同的工作 模式模式 叫叫“可编程器件可编程器件”第10页,讲稿共38张,创作于星期六微机原理与接
6、口技术精品课程11可编程中断控制器可编程中断控制器8259A内内部结构部结构 返回到返回到17页页8259A芯片引脚芯片引脚返回到返回到31返回到返回到22 返回返回25记录当前正执行的中断号 IRi第11页,讲稿共38张,创作于星期六微机原理与接口技术精品课程128259A的读写操作的读写操作I/O端口地址端口地址 单板机8259A初始化命令字:初始化命令字:ICW1、ICW2、ICW3、ICW4 8259A操作命令字:操作命令字:OCW1、OCW2、OCW3难点:两个地址难点:两个地址(一个偶地址和一个奇地址一个偶地址和一个奇地址),但要写进这么多,但要写进这么多 命令字!借助了可编程芯片
7、的内部逻辑管理。命令字!借助了可编程芯片的内部逻辑管理。第12页,讲稿共38张,创作于星期六微机原理与接口技术精品课程131 初始化命令字初始化命令字ICW1例:若例:若8259A的端口地址为的端口地址为20H、21H,采用电平触发,单片使用,采用电平触发,单片使用,需要需要ICW4,请初始化,请初始化命令字命令字ICW1解:根据题意,解:根据题意,ICW1=1BH,初始化程序如下:,初始化程序如下:MOVAL,1BHOUT 20H,AL借助于标志位,一个地址就可存两个命令字!决定是否有ICW3返返28返返18第13页,讲稿共38张,创作于星期六微机原理与接口技术精品课程142 初始化命令字初
8、始化命令字ICW 2(预存中断号)(预存中断号)例:已知原计算机系统中断向量表例:已知原计算机系统中断向量表60H以后为空,请设置以后为空,请设置 命令字命令字ICW2并装入,并装入,8259A地址为地址为20H,21H解:解:ICW2的低三位的低三位000 111由由8259A自动分配给外设中断自动分配给外设中断 请求端请求端IR0 IR7,所以高所以高5位应定位位应定位01100比较合理。比较合理。初始化程序如下:初始化程序如下:MOVAL,01100000B OUT 21H,AL ;8259A地址为地址为20H,21H ;问:;问:MOV,AL,01100111B行吗?行吗?返返28D0
9、D7第14页,讲稿共38张,创作于星期六微机原理与接口技术精品课程153 初始化命令字初始化命令字ICW 3 ICW3称为主片称为主片/从片标志命令字,必须写到从片标志命令字,必须写到8259A的奇的奇地址端口(即地址端口(即A01)中。仅在)中。仅在8259A级联(级联(ICW1中中D10)时使用,且时使用,且CPU送给主送给主8259A和从和从8259A的的ICW3格式是不相格式是不相同的。同的。例:一片例:一片8259A 级联级联8片从片,需要写片从片,需要写9次次ICW3,如何写?如何写?第15页,讲稿共38张,创作于星期六微机原理与接口技术精品课程注:注:1 主片主片 2 从片的连接
10、电路图从片的连接电路图 SP/EN 为主为主/从控制线(从控制线(SP)CAS0、CAS1、CAS2 为级联线为级联线 第16页,讲稿共38张,创作于星期六微机原理与接口技术精品课程174 初始化命令字初始化命令字ICW 4 ICW4叫做方式控制初始化命令字,必须写到叫做方式控制初始化命令字,必须写到8259A奇地址端口(奇地址端口(A01)。)。ICW4仅在仅在ICW1中的中的D0l时才有时才有必要设置,否则就省略不用。必要设置,否则就省略不用。说明:说明:D4位位特殊特殊指级联时主片用指级联时主片用“特殊特殊”,其它都,其它都用用“非特殊非特殊”。D3 D2位位,说明,说明与系统总线是否与
11、系统总线是否用缓冲器(大系用缓冲器(大系统的总线驱动)统的总线驱动)相连。相连。D1位位一般取一般取0.为为了实现有优先级了实现有优先级要求的中断嵌套,要求的中断嵌套,8259A中有一个中有一个现行服务寄存器现行服务寄存器ISR,自动,自动EOI方式,即一进入中断,方式,即一进入中断,8259A 即将即将ISR的中断服务位的中断服务位ISRi请零,可能造成发生嵌套的优先级请零,可能造成发生嵌套的优先级混乱。除非保证不发生嵌套时才用自动混乱。除非保证不发生嵌套时才用自动EOI方式。方式。返返28 第17页,讲稿共38张,创作于星期六微机原理与接口技术精品课程18例:例:假设假设8259A地址为地
12、址为20H 21H,与总线之间有缓冲器连接,与总线之间有缓冲器连接,非自动结束方式,只用一片非自动结束方式,只用一片8259A,普通完全嵌套,用,普通完全嵌套,用8088。请初始化请初始化ICW4解:解:MOV AL,0000 1101B OUT 21H,AL第18页,讲稿共38张,创作于星期六微机原理与接口技术精品课程194个命令字的初始化顺序个命令字的初始化顺序A0=0A0=1A0=1A0=1ICW1导向导向ICW1导向导向第19页,讲稿共38张,创作于星期六微机原理与接口技术精品课程20例例:现有现有8086微机系统,其中断控制单元由单片微机系统,其中断控制单元由单片8259A构成。构成
13、。8259A的触发方式是边沿触发,中断类型号为的触发方式是边沿触发,中断类型号为08H0FH,非,非自动结束方式,全嵌套方式,非缓冲方式。自动结束方式,全嵌套方式,非缓冲方式。8259A的地址为的地址为0DAH和和0DBH。试编写该片。试编写该片8259A的初始化程序。的初始化程序。解:解:第20页,讲稿共38张,创作于星期六微机原理与接口技术精品课程21操作命令字:操作命令字:OCW1,OCW2,OCW3 1、中断屏蔽命令字、中断屏蔽命令字OCW1例:开放中断IR0 IR1 IR2 IR3 其它中断请求端 均屏蔽。假 定8259A的片地址为:20H 21H 请初始化OCW1 解:MOV AL
14、,0F0H OUT 21H,AL返返28 第21页,讲稿共38张,创作于星期六微机原理与接口技术精品课程222.中断模式设置命令字 OCW2说明:一般使用ICW4的的非自动非自动EOI方式,用方式,用OCW2的普通的普通EOI方式结束中断服方式结束中断服务子程序。务子程序。注意:注意:ICW4用用在主程序的初始化中,而在主程序的初始化中,而OCW2用在中断服务子程序中断服务子程序中使用。中使用。在在子程序结束处用!子程序结束处用!R=0为固定优先级;为固定优先级;IR0最高最高R=1为轮换优先级。为轮换优先级。例:中断服务子程序片断:.MOV AL,20H ;用普通EOI方式(不用设Li),O
15、UT 20H,AL ;送入偶地址20H,ISR的相应位清零 IRET ;CPU平台上的中断返回,恢复上层程序断口。返回30页注:外中断结束前需要 两个关键指令:OUT 20H,AL ;接口片处理 IRET ;计算机系统处理记录着正在执行的中断号第22页,讲稿共38张,创作于星期六微机原理与接口技术精品课程23返回返回20第23页,讲稿共38张,创作于星期六微机原理与接口技术精品课程243、OCW3 例:编一段了解ISR状态的程序片断,假定8259A的地址为20H 21H .:MOV AL,00001111B ;普通屏蔽方式 OUT 20H,AL ;写OCW3 NOP ;此指令可有可无 IN A
16、L,20H ;读ISR(注意端口A0=0)返回30页第24页,讲稿共38张,创作于星期六微机原理与接口技术精品课程4个命令字个命令字 3个操作命令字的使用总结个操作命令字的使用总结5.4第25页,讲稿共38张,创作于星期六微机原理与接口技术精品课程26例例:某一中断系统,有一片主片和两片从片8259A,主片的要求为:特定全嵌套方式、边沿触发、非自动EOI方式、非缓冲方式、中断类型为40H;从片的要求为:全嵌套方式、边沿触发、非自动EOI方式、非缓冲方式、中断类型为60H和80H;地址:主片为FFD0H,FFD2H;从片分别为 FFD4H,FFD6H和FFD8H,FFDAH。试编写各8259A的
17、初始化程序。级联级联管脚管脚第26页,讲稿共38张,创作于星期六微机原理与接口技术精品课程ICW1ICW2ICW3ICW4第27页,讲稿共38张,创作于星期六微机原理与接口技术精品课程28主片:ICW1:00010001B=11HICW2:40HICW3:01001000B=48HICW4:00010001B=11H从片A:ICW1:00010001B=11HICW2:60HICW3:00000011B=03HICW4:00000001B=01H从片B:ICW1:00010001B=11HICW2:80HICW3:00000110B=06HICW4:00000001B=01H三片8259A的控
18、制字分别是:第28页,讲稿共38张,创作于星期六微机原理与接口技术精品课程29CLI ;初始化时要关中断MOV DX,0FFD0HMOV AL,11HOUT DX,ALINC DXINC DXMOV AL,40HOUT DX,ALMOV AL,48HOUT DX,ALMOV AL,11HOUT DX,AL主片8259A的初始化程序:CLIMOV DX,0FFD4HMOV AL,11HOUT DX,ALINC DXINC DXMOV AL,60HOUT DX,ALMOV AL,3HOUT DX,ALMOV AL,01HOUT DX,AL从片A的初始化程序:CLIMOV DX,0FFD8HMOV
19、AL,11HOUT DX,ALINC DXINC DXMOV AL,80HOUT DX,ALMOV AL,6HOUT DX,ALMOV AL,01HOUT DX,AL从片B的初始化程序:第29页,讲稿共38张,创作于星期六微机原理与接口技术精品课程作业:某一中断系统,有一片主片和两片从片8259A,主片的要求为:特定全嵌套方式、电平触发、非自动EOI方式、缓冲方式、中断类型为48H;从片的要求为:全嵌套方式、边沿触发、非自动EOI方式、缓冲方式、中断类型为60H和80H;地址:主片为0D0H,0D2H;从片分别为 0D4H,0D6H和0D8H,0DAH。试编写各8259A的初始化程序。第30页
20、,讲稿共38张,创作于星期六微机原理与接口技术精品课程31例例:电脑:电脑IBMPC/XT上使用的上使用的8259A介绍介绍电脑电脑IBMPC/XT的主机板上有一个以的主机板上有一个以8259A为中心组成的外为中心组成的外部中断控制逻辑。下表为外部中断源的分配表。部中断控制逻辑。下表为外部中断源的分配表。电脑在上电初始化期间,电脑在上电初始化期间,BIOS中有三段与中有三段与8259A有关的程序,见下页有关的程序,见下页 返回46页第31页,讲稿共38张,创作于星期六微机原理与接口技术精品课程32 8259A初始化初始化MOV AX,13H;ICW1:边沿触发、单片8259A、要送ICW4OU
21、T 20H,AL;8259A接口的偶地址为20HMOV AL,8;ICW2:装中断类型码,从08H开始0UT 21H,AL;8259A接口的奇地址为21HMOV AL,9;装ICW4:缓冲方式,80868088CPUOUT 21H,ALMOV AL,0FFH ;装0CWl:屏蔽全部中断OUT 21H,AL第32页,讲稿共38张,创作于星期六微机原理与接口技术精品课程33例:例:编写中断处理程序,要求主程序运行时,每编写中断处理程序,要求主程序运行时,每10秒响铃一次,秒响铃一次,同时屏幕上显示信息同时屏幕上显示信息“The bell is ring!”。(小自动化程序)。(小自动化程序)解:此
22、问题的解决用VB或VC的控件很容易,但通过底层汇编语言更能看出 解决问题的实质。两不同:前者是利用了系统,后者是修改了系统!两不同:前者是利用了系统,后者是修改了系统!分析:1、每每10秒响铃一次秒响铃一次可用电脑中的定时器中断实现,其中断号为可用电脑中的定时器中断实现,其中断号为08H。2、响铃响铃用并行接口用并行接口8255所控制的电脑扬声器实现。所控制的电脑扬声器实现。3、显示信息显示信息“The bell is ring!”用软件中断调用用软件中断调用INT 21H 实现。实现。定时中断使用分析:电脑中定时中断使用分析:电脑中定时时间为:定时时间为:1/18.2秒(约秒(约55ms),
23、即每隔),即每隔55ms便进入便进入08H号中号中断服务程序中(执行完立马返回),此程序的主要任务是:实时修改断服务程序中(执行完立马返回),此程序的主要任务是:实时修改“秒秒”“分分”“时时”“天天”等参数,在中断返回之前,有一个软件调用指令:等参数,在中断返回之前,有一个软件调用指令:INT 1CH;在系统;在系统BIOS中,中,1CH的处的处理程序只有一条理程序只有一条IRET指令,仅为用户提供一个中断类型号。所以可以利用中断类型指令,仅为用户提供一个中断类型号。所以可以利用中断类型1CH设计一些动态功能。在本例中,因为题目要求每设计一些动态功能。在本例中,因为题目要求每10秒处理一次,
24、而秒处理一次,而8号中断执行号中断执行182次才够次才够10秒,即每中断秒,即每中断182次响铃一次,同时屏幕上显示信息次响铃一次,同时屏幕上显示信息“The bell is ring!”设计任务:设计任务:利用利用系统系统BIOS提供的中断号提供的中断号1CH,编写一个完成任务的中断服务程序即可。,编写一个完成任务的中断服务程序即可。(既编写一段程序,程序的入口地址放入由(既编写一段程序,程序的入口地址放入由1CH所指定的中断表里)所指定的中断表里)在编写程序时,除了功能实现外,还必须做两个方面的工作:在编写程序时,除了功能实现外,还必须做两个方面的工作:1、在主程序初始化部分,先保存当前中
25、断向量表里、在主程序初始化部分,先保存当前中断向量表里由1CH所指定中断向量,再置新的中,再置新的中断向量;断向量;2、在主程序结束部分恢复原保存的、在主程序结束部分恢复原保存的1CH中断向量。中断向量。第33页,讲稿共38张,创作于星期六微机原理与接口技术精品课程34主程序1.设置定时中断次数:1822.获得原1CH中断号处的中断向量并保存之。中断服务子程序1.保护现场.2.判断定时中断的次数是否够 182次.不够则中断返回;若 够则完成下列任务:(1)响铃 (2)显示:The bell is ring 恢复现场中断返回在1CH中断号处创建新的中断向量。设置8259A的中断屏蔽字。在1CH中
26、断号处恢复原中断向量。主程序结束。程序设计框图程序设计框图每隔55ms执行1次延时延时第34页,讲稿共38张,创作于星期六微机原理与接口技术精品课程35DATA SEGMENT;数据段COUNT DW182 ;定时次数MESSDBThe bell is ring!,0AH,0DH,$;显示内容DATA ENDSSTACK SEGMENT ;堆栈段DB 100 DUP(?)STACK ENDSCODE SEGMENTMAIN PROC FAR ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACKSTART:MOV AX,DATA MOV DS,AX MOV AX,STA
27、CK MOV SS,AX ;各段地址初始化完毕 MOV AL,1CH;得到原中断向量 MOV AH,35H INT 21H PUSHES;存储原中断向量 PUSHBX第35页,讲稿共38张,创作于星期六微机原理与接口技术精品课程36MOV DX,OFFSET RING ;RING的偏移地址和段地址,取出新中断向量MOVAX,SEG RINGMOVDS,AXMOVAL,1CH;创建新中断向量MOVAH,25HINT21HINAL,21H;在奇地址中取出8259A的中断屏蔽字 ;用OCW3取ISR、IRR。取屏蔽字可直接取ANDAL,0FEH ;使IR0=0(开放),其它IRi保持原状OUT21H
28、,ALSTI ;初始化工作已做完,CPU开放中断MOV DI,2000 ;延时,代替主程序实体 DELAY:MOV SI,3000 DELAY1:DEC SI JNZ DELAY1 DEC DI JNZ DELAY第36页,讲稿共38张,创作于星期六微机原理与接口技术精品课程37POPDX;取原中断向量POPDS MOVAL,1CHMOVAH,25HINT21H ;恢复原中断向量RETMAIN ENDP ;主程序段到此结束。下面是小中断子程序RING PROC NEAR;1CH的中断服务程序,RING是程序名 ;NEAR,段内引用伪指令PUSHDS;保存现场PUSHAXPUSHCXPUSHDXMOVAX,DATAMOVDS,AXSTIDECCOUNT;10秒计数JNZEXIT;时间不到,退出中断MOVDX,OFFSET MESS;时间到MOVAH,09H;显示信息INT21H第37页,讲稿共38张,创作于星期六微机原理与接口技术精品课程感感谢谢大大家家观观看看第38页,讲稿共38张,创作于星期六