单片机原理及应用教学课件第6章mcs51单片机中断系统1rev2_第1页
单片机原理及应用教学课件第6章mcs51单片机中断系统1rev2_第2页
单片机原理及应用教学课件第6章mcs51单片机中断系统1rev2_第3页
单片机原理及应用教学课件第6章mcs51单片机中断系统1rev2_第4页
单片机原理及应用教学课件第6章mcs51单片机中断系统1rev2_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第 6 章 MCS51单片机中断系统 6.1 中断的概念 计算机在执行既定程序时,被其它事件打断而停止原程序的执行,转而去执行相应的处理程序,待处理完成后,再返回去继续执行被暂时中止的原程序,这一过程称为中断。第1页,共65页。作用:采用中断技术可以提高CPU效率、解决速度矛盾、实现并行工作、分时操作、实时处理、故障处理、应付突发事件,可使多项任务共享一个资源(CPU)。 中断与子程序的最主要区别:子程序是预先安排好的,中断是随机发生的。中断涉及的几个环节:中断源、 中断申请、开放中断、保护现场、中断服务、恢复现场、中断返回。第2页,共65页。中断过程示意图中断请求第3页,共65页。引起CPU

2、中断正在执行的程序而转向相应的处理程序的根源,称为中断源;CPU响应中断请求并进行相应处理的过程叫中断服务;处理完中断事件后,再回到原来被中断的地方(即断点),称为中断返回;实现从产生中断请求、进行中断服务并返回断点等一系列功能的部件称为中断系统。第4页,共65页。中断系统功能对于一个中断源,需要:响应请求进行中断服务(保护现场)实现中断返回 对于有多个中断源的系统,还需要:对中断请求进行屏蔽或允许对同时产生的多个中断请求进行排序,按优先级别顺序服务中断服务再被其它中断请求中断而进行中断嵌套等管理功能 第5页,共65页。MCS51单片机系统中,中断系统的功能是通过设置和访问与中断系统有关的特殊

3、功能寄存器完成的。与中断系统有关的特殊功能寄存器有:IE、IP以及TCON和SCON的有关位。 第6页,共65页。 中断请求: 定时和外中断控制寄存器TCON; 串行控制寄存器SCON; 中断允许控制寄存器IE; 中断优先级控制寄存器IP。 80C51单片机中涉及中断控制的有3个方面4个特殊功能寄存器:中断控制寄存器:第7页,共65页。6.2 MCS51单片机的中断源 MCS-51单片机中断系统有5个中断源(其中2个为外部中断源,3个为内部中断源),2个优先级,可实现二级中断嵌套;51子系列允许5个(52子系列6个)中断源: 2个外部中断请求:INT0,INT1 2个片内定时器/计数器T0和T

4、1中断请求: TF0,TF1,(TF252子系列有T2) 1个串行口中断请求:TI/RI中断源是指能发出中断请求,引起中断的装置或事件。第8页,共65页。INT0:外部中断0,中断请求信号由P3.2输入。INT1:外部中断1,中断请求信号由P3.3输入。T0:定时/计数器0溢出中断,对外部脉冲计数由P3.4输入。T1:定时/计数器1溢出中断,对外部脉冲计数由P3.5输入。串行中断:包括串行接收中断RI和串行发送中断TI。具体来说:第9页,共65页。CPU在每个机器周期的S5P2期间,会自动查询各个中断申请标志位,若查到某标志位被置位,将启动中断机制。CPU识别中断申请的依据: Tc=1/fos

5、c Ts=6Tc Tm=12Tc=6TsTcTsTmTmS5S6S4S3S2S5S6S4S3S2S1第10页,共65页。INT0、INT1、T0、T1中断请求标志放在TCON中。1. 中断请求控制寄存器 字节地址为88HTCOND7D6D5D4D3D2D1D0位名称TF1TF0IE1IT1IE0IT0位地址8FH8EH8DH8CH8BH8AH89H88H功能 T1 中断标志T0中断标志 中断标志 触发方式 中断标志触发方式TCON的结构、位名称、位地址和功能如下:第11页,共65页。 TCON位功能: TF1 T1溢出中断请求标志 T1计数溢出后,TF1=1 TF0 T0溢出中断请求标志 T0

6、计数溢出后,TF0=1TF0/TF1:定时器溢出中断申请标志位: =0:定时器未溢出; =1:定时器溢出申请中断,进中断后自动清零。 IE1 外中断中断请求标志 当P3.3引脚信号有效时,IE1=1 IE0 外中断中断请求标志 当P3.2引脚信号有效时,IE0=1IE0/IE1:外部中断申请标志位: =0:没有外部中断申请; =1:有外部中断申请,CPU响应后自动清零?。第12页,共65页。 IT1 外中断触发方式控制位 IT1=1,边沿触发方式,即P3.3出现下跳边 脉冲有效; IT1=0,电平触发方式,低电平有效。 IT0 外中断触发方式控制位 其意义和功能与IT1相似。IT0/IT1:外

7、部中断请求的触发方式选择位: =0:在INT0/INT1端申请中断的信号低电平有效; =1:在INT0/INT1端申请中断的信号负跳变有效.第13页,共65页。低电平触发 引脚上的低电平须持续到中断发生。若中断返回前仍未及时撤除低电平,将再次中断。下降沿触发 CPU在前一机器周期采到INT0/INT1引脚为高,后一机器周期采到为低才认为是一次中断请求。CPU 可记忆申请、可自动撤除中断申请。注意:第14页,共65页。2. 串行控制寄存器SCON字节地址为98H。串行口的发送中断和接收中断的中断请求标志TI和RI,TCOND7D6D5D4D3D2D1D0位名称TIRI位地址99H98H功能 串行

8、发送中断标志串行接收中断标志 TI 串行口发送中断请求标志 RI 串行口接收中断请求标志第15页,共65页。 各标志位的功能: (1)TI发送中断请求标志位。串口每发送完一帧串行数据后,硬件自动置“1”TI。必须在中断服务程序中用软件对TI标志清“0”。 (2)RI接收中断请求标志位。串口接收完一个数据帧,硬件自动置“1”RI标志。必须在中断服务程序中用软件对RI标志清“0”。第16页,共65页。MCS51单片机中断系统结构第17页,共65页。6.3 中断允许和中断优先级 1.中断允许控制寄存器IE 中断源是否允许向CPU发出请求,由中断允许寄存 器IE控制 IE可位寻址,字节地址A8H,位地

9、址为A8HAFHIED7D6D5D4D3D2D1D0位名称EAESET1EX1ET0EX0位地址AFHACHABHAAHA9HA8H中断源CPU串行口T1T0第18页,共65页。 EA CPU中断允许控制位(总开关) EA=1,CPU开中; EA=0,CPU关中,且屏蔽所有5个中断源。 EX0 外中断INT0中断允许控制位 EX0=1,INT0开中;EX0=0,INT0关中。 EX1 外中断INT1中断允许控制位 EX1=1,INT1开中;EX1=0,INT1关中。 ET0 定时/计数器T0中断允许控制位 ET0=1,T0开中;ET0=0,T0关中。 ET1 定时/计数器T1中断允许控制位 E

10、T1=1,T1开中;ET1=0,T1关中。 ES 串行口中断(包括串发、串收)允许控制位 ES=1,串行口开中;ES=0,串行口关中。说明: 80C51对中断实行两级控制,总控制位是EA,每一中断源还有各自的控制位。首先要EA=1,其次还要自身的控制位置“1”。第19页,共65页。例如:要使INT0开中(其余关中),可执行下列指令: MOV IE,#1000000lB ; 或者: SETB EA ; SETB EX0 ; IED7D6D5D4D3D2D1D0位名称EAESET1EX1ET0EX0位地址AFHACHABHAAHA9HA8H中断源CPU串行口T1T0中断允许控制寄存器IE第20页,

11、共65页。注意:改变IE的内容,可由位操作指令来实现,即: SETB bit ;对某一位置1 CLR bit ;对某一位清0例6-1 若允许片内2个定时器/计数器中断,禁止其它中断源的中断请求。编写设置IE的相应程序段(1)用位操作指令来编写如下程序段:CLR ES ;禁止串行口中断 CLR EX1 ;禁止外部中断1中断CLR EX0;禁止外部中断0中断 SETB ET0 ;允许定时器/计数器T0中断 SETB ET1 ;允许定时器/计数器T1中断 SETB EA ;CPU开中断第21页,共65页。(2)用字节操作指令来编写: MOV IE,#8AH ;100010010或者用: MOV 0A

12、8H,#8AH ;A8H为IE寄存器字节地址IED7D6D5D4D3D2D1D0位名称EAESET1EX1ET0EX0位地址AFHACHABHAAHA9HA8H中断源CPU串行口T1T0注意:当MCS-51复位后,IE被清0,则CPU关中断,所有中断请求被禁止。第22页,共65页。2.中断优先级控制寄存器IP MCS-51单片机有5个中断源,划分为2个中断优先级:高优先级和低优先级。可以进行中断嵌套。 当CPU正在执行某个中断服务程序时,如果发生更高一级的中断源请求中断,CPU可以“中断”正在执行的低优先级中断,转而响应更高一级的中断,这就是中断嵌套。 中断嵌套只能高优先级“中断”低优先级,低

13、优先级不能“中断”高优先级,同一优先级也不能相互“中断”。第23页,共65页。 中断嵌套结构类似与调用子程序嵌套,不同的是: 子程序嵌套是在程序中事先按排好的;中断嵌套是随机发生的。 子程序嵌套无次序限制,中断嵌套只允许高优先级“中断”低优先级。第24页,共65页。5个中断源可通过设置中断优先级控制寄存器IP中的相关位,程控为高或低优先级中断优先级控制寄存器IP字节地址为B8H,可位寻址,位地址为B8HBFH,只有低6位有效系统复位时,IP清零,即所有中断源为低优先级 IPD7D6D5D4D3D2D1D0位名称PSPT1PX1PT0PX0位地址BCHBBHBAHB9HB8H中断源串行口T1IN

14、T1T0INT0IP的结构、位名称和位地址如下:第25页,共65页。 PX0 :INT0中断优先级控制位。PX0=1,为高优先级;PX0=0,为低优先级; PX1 :INT1中断优先级控制位。控制方法同上。 PT0 :T0中断优先级控制位。控制方法同上。 PT1 :T1中断优先级控制位。控制方法同上。 PS :串行口中断优先级控制位。控制方法同上。 IPD7D6D5D4D3D2D1D0位名称PSPT1PX1PT0PX0位地址BCHBBHBAHB9HB8H中断源串行口T1INT1T0INT0第26页,共65页。例如:若要将INT1、串行口设置为高优先级,其余中断源设置为低优先级,可执行下列指令:

15、 MOV IP,#00010100B;需要指出的是,若置5个中断源全部为高优先级,就等于不分优先级。 IED7D6D5D4D3D2D1D0位名称PSPT1PX1PT0PX0位地址BCHBBHBAHB9HB8H中断源串行口T1INT1T0INT0中断优先级控制寄存器IP第27页,共65页。中断系统针对中断优先级的三条原则CPU同时接收到几个中断时,首先响应优先级别最高的中断请求。正在进行的中断过程不能被新的同级或低优先级的中断请求所中断。正在进行的低优先级中断服务,能被高优先级中断请求所中断 ,反之则不能。第28页,共65页。由软件可改变各中断源的中断优先级。 MCS- 51的中断系统有两个不可

16、寻址的“优先级状态触发器”:一个用来指示某高优先级的中断正在执行,所有后来的中断均被阻止。另一个用来指示某低优先级的中断正在执行,所有同级中断都被阻止,但不阻断高优先级的中断请求。在同时收到几个同一优先级的中断请求时,优先响应哪一个中断,取决于内部的硬件查询顺序。优先级状态触发器第29页,共65页。硬件查询顺序 多个同级中断源同时提出请求时,通过“硬件查询顺序”确定先响应哪个请求查询顺序中 断 源硬件优先级别1外部中断0最高最低2定时/计数器03外部中断14定时/计数器15串行口优先级状态触发器解决了不同优先级中断请求的响应顺序问题,而且保证高优先级请求可以中断已开始的低优先级服务。 第30页

17、,共65页。对同时发生多个中断申请时:不同优先级的中断同时申请(很难遇到) 先高后低相同优先级的中断同时申请(很难遇到) 按序执行正处理低优先级中断又接到高级别中断 高打断低正处理高优先级中断又接到低级别中断 高不理低中断优先级处理原则第31页,共65页。6.4 响应中断请求的条件及过程 一个中断请求被响应,需满足以下必要条件:(1)IE寄存器中的中断总允许位EA=1。(2)该中断源发出中断请求,即该中断源对应的中断请求标志为“1”。(3)该中断源的中断允许位=1,即该中断没有被屏蔽。(4)无同级或更高级中断正在被服务。第32页,共65页。如果存在以下任一情况,不产生硬件LCALL指令,对中断

18、请求标志的采样结果被取消:CPU正在处理同级或高优先级中断;当前机器周期不是所执行指令的最后一个周期,只有在当前指令执行完毕后,才能进行中断响应 ;当前指令为 RETI 或访问 IE 、IP寄存器的指令。需要再去执行完一条指令,才能响应新的中断请求。 第33页,共65页。将相应的优先级状态触发器置“1”,阻断后来的同级或低级的中断请求;保留断点地址(将PC的内容压入堆栈以保护断点),以备中断服务完成后返回断点处继续执行;根据中断源不同,对中断请求标志进行不同处理;将相应的中断服务程序的入口地址送入PC,执行一条硬件LCALL addr16指令,使程序转入中断服务程序。 注意:各中断源服务程序的

19、入口地址固定!如果没有上述阻止情况,中断将得到响应,并由硬件执行以下功能 :第34页,共65页。中断请求标志及入口地址 分类中断源中断请求标志位中断入口地址外部中断外部中断0IE0 (TCON.1)0003H外部中断1IE1 (TCON.3)000BH内部中断定时/计数器0中断TF0 (TCON.5)0013H定时/计数器1中断TF1 (TCON.7)001BH串口中断接收中断RI (SCON.0)0023H发送中断TI (SCON.0)中断优先级最高优先级最低优先级第35页,共65页。在CPU已经开放了外部中断允许的前提下:在INT0/INT1引脚输入一个负脉冲或低电平, TCON寄存器中的

20、IE0/IE1标志位自动变“1”,检测到IE0/IE1变“1”后,将产生指令: LCALL 0003H(/0013H)执行中断服务程序,并将IE0/IE1标志位自动清“0”,以备下次申请。外部中断(INT0,INT1)申请过程第36页,共65页。总结:中断处理过程中断处理过程大致可分为五步:中断请求、中断响应、中断服务、中断返回、中断请求的撤除 中断请求 中断源发出中断请求信号,相应的中断请求标志位(在中断控制寄存器TCON、SCON中)置“1”。 中断响应 CPU查询(检测)到某中断标志为“1”,在满足中断响应条件下,响应中断。 中断响应条件: 该中断已经“开中”; CPU此时没有响应同级或

21、更高级的中断; 当前正处于所执行指令的最后一个机器周期; 正在执行的指令不是RETI或者是访向IE、IP的指令,否则必须再另外执行一条指令后才能响应。第37页,共65页。 中断响应操作: CPU响应中断后,进行下列操作: 保护断点地址; 撤除该中断源的中断请求标志; 关闭同级中断; 将相应中断的入口地址送入PC; MCS-51五个中断入口地址: INT0:0003H; T0:000BH; INT1:0013H; T1:001BH; 串行口:0023H第38页,共65页。 执行中断服务程序 中断服务程序应包含以下几部分: 保护现场 执行中断服务程序主体,完成相应操作 恢复现场保护现场:在中断服务

22、程序中,通常会涉及到一些特殊功能寄存器,如Acc、PSW和DPTR等,而这些特殊功能寄存器中断前的数据在中断返回后还要用到,若在中断服务程序中被改变,返回主程序后将会出错。因此,要求把这些特殊功能寄存器中断前的数据保存起来,待中断返回时恢复。 第39页,共65页。 中断返回 在中断服务程序最后,必须安排一条中断返回指令RETI,当CPU执行RETI指令后,自动完成下列操作: 恢复断点地址。 开放同级中断,以便允许同级中断源请求中断。恢复断点地址: 将原来压入堆栈中的PC断点地址从堆栈中弹出,送回PC。这样CPU就返回到原断点处,继续执行被中断的原程序。初学者容易模糊的是,中断返回,返回哪里?

23、答案是:从什么地方来,回什么地方去。不是返回到相应中断的入口地址,而是返回到中断断点地址。 第40页,共65页。 5 中断请求的撤除(重点) 中断源发出中断请求,相应中断请求标志置“1”。 CPU响应中断后,必须清除中断请求“1”标志。否则中断响应返回后,将再次进入该中断,引起死循环出错。 对定时/计数器T0、T1中断,外中断INT0、INT1,若采用边沿触发方式,CPU响应中断时就用硬件自动清除了相应的中断请求标志TF0、TF1、IE0、IE1。 对外中断INT0、INT1,若采用电平触发方式,需要采取软硬结合的方法消除后果(为什么?)。 对串行口中断,用户应在串行中断服务程序中用软件清除T

24、I或RI。第41页,共65页。补讲:外部中断的触发方式选择两种触发方式:电平触发方式和跳沿触发方式。 电平触发方式外部中断源必须保持低电平有效,直到该中断被响应。同时在中断返回前外部中断请求输入必须无效(即变为高电平)必须使电平变高,否则CPU返回主程序后会再次响应中断。适于外中断以低电平输入且中断服务程序能清除外部中 断请求(即外部中断输入电平又变为高电平)的情况。 跳沿触发方式 连续两次采样,一个机器周期采样到外部中断输入为高,下一个机器周期采样为低,则置“1”中断请求标志,直到CPU响应此中断时,该标志才清0。这样不会丢失中断,但输入的负脉冲宽度至少保持1个机器周期。 第42页,共65页

25、。关键点: 下降沿触发是锁存中断信号D触发器记忆的,意即:即使当时CPU来不及响应中断,外部中断信号撤消后,由于D触发器的记忆作用,消失的中断信号仍然有效,直到被响应并进入中断,记忆的中断信号才会由硬件清除; 而低电平触发是即时的,当外部中断信号撤消时,中断申请信号随之消失。也就是:如果在外部中断信号作用申请期间,CPU来不及响应此中断,那么有可能,这次中断申请就漏掉了。显然下降沿触发不会漏掉短暂的中断申请信号。 低电平触发信号低电平宽度显然不能大于中断响应执行时间,否则,当中断处理完成,RETI退出中断时,将再次被低电平触发,如此反复响应中断,因为硬件不能自动清除中断申请标志。第43页,共6

26、5页。例: 硬件电路如图所示。当外部设备有中断请求时,中断请求信号经反相,加到锁存器CP端,作为CP脉冲。由于D端接地为0,Q端输出低点平,触发 INT0生中断。此题会造成什么结果?怎样解决?第44页,共65页。解决办法:只要P1.0端输出一个负脉冲就可以使D触发器置“1”,从而撤消了低电平的中断请求信号。当CPU响应中断后,应在该中断服务程序中按排几条指令: ORL P1,#01H ;P1.0为“1” ANL P1,#0FEH ;P1.0为“0” ORL P1,#01H;P1.0为“1” 或者: SETB P1.0 CLR P1.0 SETB P1.0 从而撤消引起重复中断的INT0低电平信

27、号。 因此一般来说,对外中断INT0、INTl,应尽量采用边沿触发方式,以简化硬件电路和软件程序。 第45页,共65页。小结:中断请求的撤消1定时器/计数器中断请求的撤消 中断请求被响应后。硬件会自动清TF0或TF1。2外部中断请求的撤消 (1)跳沿方式外部中断请求的撤消是自动撤消的。(2)电平方式外部中断请求的撤消:除了用软件把标志位清“0”之外,还需在中断响应后把中断请求信号引脚从低电平强制改变为高电平。电平方式的外部中断请求信号的完全撤消,是通过软硬件相结合的方法来实现的。3串行口中断请求的撤消 响应串行口的中断后,CPU无法知道是接收中断还是发送中断,还需测试这两个中断标志位的状态,以

28、判定是接收操作还是发送操作,然后才能清除。所以串行口中断请求的撤消只能用软件清除而不能由硬件自动清除:CLR TI ;清TI标志位CLR RI ;清RI标志位第46页,共65页。6.5 中断响应时间 从中断标志建立到开始执行相应的服务程序,这段时间称为中断响应时间。不同情况下,中断响应时间长短不同。最顺利的情况下,中断响应时间如图(延迟3个机器周期)第47页,共65页。最不利情况下的响应时间查询到中断标志的机器周期是RETI指令或修改IE、IP指令的第一个机器周期,则需等待2个机器周期让上述指令执行完成 ;下一条指令正好是执行周期最长的乘除法指令,则需继续等待4个机器周期 硬件LCALL指令本

29、身需要2个执行周期,则从中断请求标志置“1”到进入相应的中断服务需要8个完整的机器周期 第48页,共65页。如果一个中断请求标志建立后,CPU没有在处理同级或高优先级中断,则中断响应时间为38个完整机器周期; 如果一个中断请求标志建立后,CPU正在处理同级或高优先级中断,则额外的等待时间取决于正在执行的中断服务程序所需的时间 。第49页,共65页。 中断服务程序与主程序没有本质区别,但要注意保证中断服务程序与主程序(被中断程序)的正确衔接,即应注意以下问题:在整个中断服务程序执行期间必须维持堆栈平衡,以保证正确返回主程序断点处;中断服务程序中用到的所有寄存器和存储器单元只要是在主程序中也要使用

30、的,都必须加以保护;为了保证CPU能对优先级状态触发器进行正确设置,不能用“RET”指令代替“RETI”指令;几个中断源的入口地址相对集中,一般在中断入口地址上放一条LJMP指令,使中断服务程序安排在64K程序存储器的适当地方。6.6 中断服务程序编写第50页,共65页。 单片机响应中断后,只保护断点而不保护程序现场。PC断点的保护由是硬件自动完成,而对ACC、PSW、DPTR、B、Rn等应用程序现场的保护则必须由软件在中断服务程序中完成 。注意第51页,共65页。中断应用前后要做的几项工作 中断前 开中断允许:必须 选择优先级:根据需要选择,可有/可无 设置控制位:INTx触发方式(ITx)

31、 TxTCON,TMOD,TRx,初值 RI/TISCON,REN,RB8,TB8,中断后进入中断服务后:保护现场,(关中断),退出中断服务前:恢复现场,(开中断),设Tx的初 值,清TI/RI,中断服务程序的最后一条指令必是 RETI第52页,共65页。中断系统程序编写 中断初始化 设置堆栈指针SP 定义中断优先级 定义外中断触发方式 开放中断 安排好等待中断或中断发生前主程序应完成的操作内容。 中断服务主程序 中断服务子程序内容要求: 在中断服务入口地址设置一条跳转指令,转移到中断服务程序的实际入口处。 根据需要保护现场。 中断源请求中断服务要求的操作。 恢复现场。与保护现场相对应,注意先

32、进后出、后进先出操作原则。 中断返回,最后一条指令必须是RETI。第53页,共65页。中断服务程序的流程第54页,共65页。中断应用程序举例:例:通过外部中断1,在中断服务中将B寄存器里的内容左环移一位。 已知: (B)=01h,要求采用边沿触发,低优先级。此例的实际意义:在INT1引脚接一个按钮开关到地,每按一下按钮就申请一次中断,中断服务则是:依次点亮八盏灯中的一盏。 P1.0P1.7INT1300第55页,共65页。 ORG 0000H LJMP MAIN ORG 0013H ;中断矢量 LJMP INTMAIN:SETB EA ;开总中断允许“开关” SETB EX1 ;开分中断允许“

33、开关” CLR PX1 ;0 优先级(也可不要此句) SETB IT1 ;边沿触发 MOV B,#01H ;给 B 寄存器赋初值HERE:SJMP HERE ;原地等待中断申请INT:MOV A,B ;自B寄存器中取数 RL A ;左环移一次 MOV B,A ;存回B,备下次取用 MOV P1,A ;输出到P1口 RETI ;中断返回中断服 务程序第56页,共65页。6.7 中断系统小结CPU在执行程序的时候监测其它事件的发生常用的方法有两种:查询和中断。查询就是每执行若干条指令或经过一段时间后检查一遍是否有其它事件发生-很难及时发现其它事件的请求;而更多情况是查询一遍一无所获,经过成百上千次

34、查询以后才检测到某个其它事件的请求-查询方法实时性和效率永远是难以统一的矛盾。 第57页,共65页。中断监测其它事件发生的方法在本质上仍然是“查询”,不同之处在于中断是每个机器周期查询一次,且不影响正常程序的执行;中断方式的实时性好;中断系统对其它事件请求的响应与主程序的执行在宏观上是并行的,但在微观上仍然是串行的,其根本原因在于CPU在任一时刻只能执行一条指令;只有多CPU系统才能实现真正意义上的并行处理。第58页,共65页。结束第59页,共65页。补充: 中断系统的应用 中断初始化 设置堆栈指针SP 定义中断优先级 定义外中断触发方式 开放中断 安排好等待中断或中断发生前主程序应完成的操作内容。 中断服务主程序 中断服务子程序内容要求: 在中断服务入口地址设置一条跳转指令,转移到中断服务程序的实际入口处。 根据需要保护现场。 中断源请求中断服

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论