微机原理与应用-05 中断系统

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

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

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

资源描述

第5章MCS-51的中断系统南京航空航天大学机电学院机械电子工程系2006年《微机原理及应用》课件2主要内容中断的概念中断系统结构及中断控制中断处理过程外部中断源的应用南京航空航天大学机电学院机械电子工程系2006年《微机原理及应用》课件3§5-1中断的概念1.输入输出方式1.无条件传送不需要测试外部设备的状态,CPU可以根据需要随时进行数据传送操作2.查询传送CPU在传输数据之前进行查询3.DMA方式直接存储器存取方式,CPU让出数据总线,使得外部设备和存储器之间直接传输。4.中断方式实现计算机对外界发生的事件进行及时实时处理。南京航空航天大学机电学院机械电子工程系2006年《微机原理及应用》课件42.中断的概念计算机暂时中止正在执行的主程序,转去执行中断服务程序,并在中断服务程序执行完了之后能自动回到原主程序处继续执行,这个过程叫做“中断”。南京航空航天大学机电学院机械电子工程系2006年《微机原理及应用》课件5某人看书执行主程序日常事务电话铃响中断信号INT=0中断请求暂停看书暂停执行主程序中断响应书中作记号当前PC入栈保护断点电话谈话执行I/O程序中断服务继续看书返回主程序中断返回2.中断的概念日常事务主程序中断服务程序中断系统:实现处理功能的硬件和软件系统中断源:产生中断的请求源中断请求:中断源向CPU提出处理要求断点:原来程序被中断的地方中断服务:对中断事件响应的处理过程中断返回:结束中断服务程序,返回被中断的主程序南京航空航天大学机电学院机械电子工程系2006年《微机原理及应用》课件63.中断的产生I/O设备:I/O设备向CPU发出中断请求数据通道中的中断源:如磁盘、磁带等硬件故障:如电源掉电、存储出错等实时时钟与计数为调试程序而设置的中断南京航空航天大学机电学院机械电子工程系2006年《微机原理及应用》课件74.中断的功能1.分时操作。在多项外部设备同时提出中断请求情况下,CPU能根据轻重缓急响应外设的中断请求;CPU可以分时为多个I/O设备服务,提高了计算机的利用率;2.CPU与外部设备并行工作,以中断方式相联系,提高工作效率;3.实时响应。根据现场随时变化的各种参数、信息,做出实时监控;对突发事故,做出紧急处理;4.可靠性高。CPU具有处理设备故障及掉电等突发性事件的能力,从而使系统可靠性提高。南京航空航天大学机电学院机械电子工程系2006年《微机原理及应用》课件8§5-2中断系统的结构一.中断源信号2个外部中断请求:INT0、INT12个定时器计数器溢出中断请求:T0、T11个串行口1串行帧数据发送、接收结束中断请求:TI、RI二.中断允许控制总允许开关:EA源允许开关:ES、ET1、EX1、ET0、EX0三.2级中断优先级控制优先级选择开关:PS、PT1、PX1、PT0、PX0P3.2P3.3P3.4P3.5P3.0P3.1南京航空航天大学机电学院机械电子工程系2006年《微机原理及应用》课件9寄存器名称D7D6D5D4D3D2D1D0TCON(88H)TF1TF0IE1IT1IE0IT0定时器/计数器控制寄存器位地址8FH8EH8DH8CH8BH8AH89H88HSCON(98H)TIRI串行口控制寄存器位地址9FH9EH9DH9CH9BH9AH99H98HIE(A8H)EAESET1EX1ET0EX0中断允许寄存器位地址AFHACHABHAAHA9HA8HIP(B8H)PSPT1PX1PT0PX0中断优先寄存器位地址BCHBBHBAHB9HB8H一.中断控制寄存器§5-3中断系统的控制1.中断标志位TF1、TF0、IE1、IE0——TCON;RI、TI——SCON=1,有中断请求;=0,无中断请求。CPU响应中断后,中断标志位自动清零,但TI/RI标志位须软件清零。2.外部中断触发方式选择位:IT0、IT1——TCON=1:负跳沿触发中断请求;=0:低电平触发中断请求。3.中断允许控制位:EA、ES、ET1、EX1、ET0、EX0——IE=1开中断;=0关中断。4.中断优先级控制位:PS、PT1、PX1、PT0、PX0——IP2级优先级:=1,为高优先级;=0,为低优先级。同一优先级别按内部查询顺序排列优先级:高INT0、T0、INT1、T1、RX/TX低。5.单片机复位时TCON、SCON、IE、IP清0,所有中断请求被禁止,5个中断源均为低级中断,按中断系统硬件确定的自然优先级排列:高INT0、T0、INT1、T1、RX/TX低南京航空航天大学机电学院机械电子工程系2006年《微机原理及应用》课件10二.中断的嵌套CPU执行主程序CPU执行低级中断服务程序CPU执行高级中断服务程序CPU同一时间只能响应一个中断请求,同时多个中断申请时必须有先有后:☞不同优先级的中断同时申请——先高后低☞相同优先级的中断同时申请——按序执行☞正处理低优先级中断又接到高级别中断——高打断低☞正处理高优先级中断又接到低级别中断——高不理低图5-62级中断嵌套图5-62级中断嵌套南京航空航天大学机电学院机械电子工程系2006年《微机原理及应用》课件11§5-4中断的处理过程1.中断请求2.中断判优3.中断条件4.中断响应5.中断处理6.中断返回硬件自动完成用户编程完成南京航空航天大学机电学院机械电子工程系2006年《微机原理及应用》课件121.中断请求被响应的条件一个中断源的中断请求被响应的基本条件:CPU开中断:EA=1,允许所有中断源申请中断;中断源的中断请求标志位为1;中断源的中断允许标志位为1;无同级或更高级的中断正在被服务;南京航空航天大学机电学院机械电子工程系2006年《微机原理及应用》课件132.中断被封锁的情况1.CPU正在处理一个同级或更高级别的中断请求。因为此时相应的中断优先级状态触发器被置12.当前正执行指令,不是该指令的最后一个周期。3.当前正执行的指令是返回指令(RETI)(本次中断还没有处理完)或访问IP、IE寄存器(可能会开、关中断或改变中断的优先级)的指令,则CPU至少再执行一条指令才响应中断。CPU每个机器周期顺序检查每个中断源,当检测到有中断请求时,能否响应中断,还要看下述情况是否存在:存在上述情况之一,CPU不对中断进行响应。南京航空航天大学机电学院机械电子工程系2006年《微机原理及应用》课件143.外部中断的响应时间外部中断响应时间:从CPU查询外部中断请求标志位到转入中断服务程序的入口地址所需的时间。对于1个单一中断:o中断响应时间最短3个机器周期:恰在当前正执行指令的最后1个机器周期查询中断请求标志位+执行LCALL指令(响应中断时由硬件自动生成)需2个机器周期;o中断响应时间最长8个机器周期:恰在当前正执行RETI或与IP、IE寄存器有关的指令需2个机器周期+4(再执行一条最长的乘、除法指令)+2(执行LCALL指令)南京航空航天大学机电学院机械电子工程系2006年《微机原理及应用》课件154.外部中断的触发方式外部中断触发方式选择位:IT0、IT1=1:负跳沿触发中断请求;=0:低电平触发中断请求。低电平触发方式:外部中断请求触发器的状态随外部中断输入电平的变化而变化,适合外部中断以低电平输入且中断程序能使输入的低电平变为高电平的情况;负跳沿触发方式:CPU在前一机器周期采到INT0/INT1引脚为高,后一机器周期采到为低,则外部中断请求触发器被置1并锁存负跳变,适合以负脉冲(负脉冲宽度至少保持1个机器周期,持续到中断发生)形式输入的外部中断请求。南京航空航天大学机电学院机械电子工程系2006年《微机原理及应用》课件165.中断的撤销CPU在中断返回前,把它响应的中断标志位(TCON、SCON中的IE0、IE1、TF0、TF1、TI、RI位)复位成“0”状态。中断源撤消中断标志的方法INT0/INT1负跳沿触发中断时,硬件置位,硬件复位。中断请求信号自动撤销。电平触发中断时,硬件置位,尽管CPU响应中断时可用硬件自动复位成“0”状态,但必须人为撤消中断请求信号(软硬件结合)T0/T1由硬件置位和复位(也可由软件清零),硬件自动撤消中断请求。RI/TI由硬件置位,必须由软件清零(CLRRI,CLRTI)南京航空航天大学机电学院机械电子工程系2006年《微机原理及应用》课件17电平方式外部中断请求信号的软硬件结合撤销(教材P90页)5.中断的撤销所需的负脉冲可通过在中断服务程序中增加3条指令得到:0RLP1,#01H;P1.0为1ANLP1,#0FEH;P1.0为0中断服务程序0RLP1,#01H;P1.0为1利用D触发器的置位端SD实现中断请求的撤销南京航空航天大学机电学院机械电子工程系2006年《微机原理及应用》课件186.中断的响应过程CPU自动完成:CPU在T机器的S5P2,查询中断源,设置中断标志位;判断中断响应条件满足,CPU响应中断;由硬件自动生成LCALL指令(例如对INT1的响应产生的LCALL指令为:LCALL0013H),自动把断点地址压入堆栈,并将对应中断入口地址装入PC,执行中断服务程序。用户必须完成:中断初始化:开相应中断源的中断(IE)、设定中断优先级(IP)、设定外部中断的触发方式;在中断入口地址存放跳转指令,使程序跳转到用户编写的中断服务程序起始地址;开发设计中断服务程序。南京航空航天大学机电学院机械电子工程系2006年《微机原理及应用》课件191.主程序结构ORG0000HAJMPMAINORG0003HLJMPINT1ORG000BHLJMPINT2┆ORG主程序入口地址MAIN:中断初始化程序┆HERE:SJMPHERE;原地等待中断申请(或:执行其它任务)ORG中断服务程序1入口地址INT1:┆RETIORG中断服务程序2入口地址INT2:┆RETI§5-5中断服务程序设计复位后,PC置成0000H,CPU从0000H单元开始执行指令,所以用无条件转移指令跳转到主程序。每个中断向量地址间隔8个单元,完成中断程序空间少,在中断处安排一个无条件转移指令中断源入口地址INT00003HT0000BHINT10013HT1001BHTI/RI0023H南京航空航天大学机电学院机械电子工程系2006年《微机原理及应用》课件202.中断初始化§5-5中断服务程序设计例5-1设置IP寄存器的初始值,使得MCS-51的2个外中断请求为高优先级,其它中断请求为低优先级。(1)用位操作指令SETBPX0;2个外中断为高优先级SETBPX1CLRPS;串行口、2个定时器/计数器为低优先级中断CLRPT0CLRPT1(2)用字节操作指令MOVIP,#05H或者用:MOV0B8H,#05H;B8H为IP寄存器的字节地址MOVIP,#00000101B;南京航空航天大学机电学院机械电子工程系2006年《微机原理及应用》课件21例5-3假设允许外部中断0中断,并设定它为高级中断,其它中断源为低级中断,采用跳沿触发方式。在主程序中应有如下程序段:SETBEA;EA位置1,CPU开中断SETBEX0;EX0位置1,允许外部中断0产生中断SETBPX0;PX0位置1,外部中断0为高级中断SETBIT0;IT0位置1,外部中断0为跳沿触发方式2.中断初始化§5-5中断服务程序设计南京航空航天大学机电学院机械电子工程系2006年《微机原理及应用》课件22§5-5中断服务程序设计SETBEACLREAPUSHPSWPUSHACCPUSHDPHPUSHDPLPOPDPLPOPDPHPOPACCPOPPSW3.中断服务程序保护现场:当前PC值,PSW、工作寄存器和SFR等。恢复现场:完成中断服务后,将保存在堆栈中的现场数据恢复。如果当前中断服务程序不允许被中断,则其前后的开中断和关中断2条指令可去掉。RETI可去掉南京航空航天大学机电学院机械电子工程系2006年《微机原理及应用》课件23响应过程:(假设已使某中断请求标志置1)(1)先使相应优先级状态触发器置1;(2)执行一个子程序的调用:1)硬件清零相应中

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

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

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

×
保存成功