收藏 分销(赏)

第5章-STC89C52单片机中断系统教学文案.ppt

上传人:a199****6536 文档编号:6640129 上传时间:2024-12-18 格式:PPT 页数:57 大小:1.02MB
下载 相关 举报
第5章-STC89C52单片机中断系统教学文案.ppt_第1页
第1页 / 共57页
第5章-STC89C52单片机中断系统教学文案.ppt_第2页
第2页 / 共57页
第5章-STC89C52单片机中断系统教学文案.ppt_第3页
第3页 / 共57页
第5章-STC89C52单片机中断系统教学文案.ppt_第4页
第4页 / 共57页
第5章-STC89C52单片机中断系统教学文案.ppt_第5页
第5页 / 共57页
点击查看更多>>
资源描述

1、单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第五章 STC89C52单片机中断系统,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第5章-STC89C52单片机中断系统,中断定义:,当机器正在执行程序的过程中,一旦遇到一些异常或特殊请求时,就停止正在执行的程序,而转入必要的处理,并在处理完毕后,立即返回断点继续执行。,中断响应过程,图,5-1,关于中断有如下术语:,中断源:,发出中断请求的设备称为中断请求源,简称中断源。,中断向量:,所谓中断向量就是中断服务程序的入口地址。,中断响应:,对于中断请求给出的处理。,中断嵌套:,在中断服务程序中又响应了其它中断请求

2、,该过程称为中断嵌套。,高优先级中断请求可以打断低优先级中断,反之,低优先级中断请求不可以打断高优先级及同优先级中断。当两个相同优先级中断同时产生时,将由查询次序来决定系统先响应哪个中断。,中断嵌套实现过程,:,图,5-2,5.2 STC89C52单片机中断系统,5.2.1中断系统结构,STC89C51RC/RD+系列单片机的中断系统结构示意图如,图5-2,所示,该中断系统由中断源、中断标志、中断允许控制寄存器和中断优先级控制寄存器等构成。,5.2.2,中断源,传统的,51,系列单片机,5,个基本中断源为:,外部中断,0,(),中断服务程序入口地址为,0003H,,中断请求标志为,IE0,。,

3、定时器,0,,中断服务程序入口地址为,000BH,,中断请求标志为,TF0,。,外部中断,1,(),中断服务程序入口地址为,0013H,,中断请求标志为,IE1,定时器,1,,中断服务程序入口地址为,001BH,,中断请求标志为,TF1,。,串行口中断(,UART,),中断服务程序入口地址为,0023H,,中断请求标志为,TI,和,RI,,,STC89C52,单片机在,5,个中断源基础上增加三个中断源为:,定时器,2,,中断服务程序入口地址为,002BH,,中断请求标志为,TF2,和,EXF2,。,外部中断,2,(),中断服务程序入口地址为,0033H,,中断请求标志为,IE2,。,外部中断,

4、3,(),中断服务程序入口地址为,003BH,,中断请求标志为,IE3,。,注意:此处,INTi(i=0,,,1,,,2,,,3),,低电平有效。当外部有中断触发信号时,硬件自动将标志,IEi,(,i=0,,,1,,,2,,,3,)置,1,,定时器,i,(,i=0,,,1,,,2,)当定时时间到时,硬件自动将标志,TFi,(,i=0,,,1,,,2,)置,1,。,表,5-1,中断源、中断向量地址和中断请求标志表,返回,5.2.3,中断请求标志,STC89C52,单片机中断请求标志由,TCON,、,SCON,、,T2CON,、,XICON,特殊功能寄存器相应位来锁定。,TCON,TF1,TR1,

5、TF0,TR0,IE1,IT1,IE0,IT0,IT1,:外部中断1的中断触发方式控制位,IE1,:外部中断,1,的中断请求标志,IT1,IE1含义类同外部中断0,IT0:,外部中断0的中断触发方式控制位。,若,IT0=0,,电平触发,若,IT0,1,,下降沿触发,I,E0:,外部中断,0,的中断请求标志,若,IE0=0,,无中断请求,若,IE0=1,,有中断请求,1.TCON,方式寄存器,TCON,(定时,/,计数器的控制寄存器),字节地址:,88H,D7,D6,D5,D4,D3,D2,D1,D0,TCON,TF1,TR1,TF0,TR0,IE1,IT1,IE0,IT0,位地址,8FH,8E

6、H,8DH,8CH,8BH,8AH,89H,88H,若,TF1=1,,有中断请求,;,若,TF1=0,无中断请求,TCON,TF1,TR1,TF0,TR0,IE1,IT1,IE0,IT0,TF0,:定时,/,计数器,0,溢出中断请求标志,计数器满产生溢出,它由硬件置位,若,TF0=1,有中断请求,;,若,TF0=0,无中断请求,注意,:,中断响应时,硬件会自动清标志位,也可由软件清,0.,TR1,、,TR0,这,2,位与中断系统无关,将在第,6,章定时器,/,计数器中介绍,TF1:,定时,/,计数器,1,溢出中断请求标志,2.SCON,串行口控制寄存器,SCON,字节地址:,98H,可位寻址,

7、D7,D6,D5,D4,D3,D2,D1,D0,SCON,TI,RI,位地址,99H,98H,TI,:串行口发送中断请求标志位,TI=1,,,CPU,向串口的发送缓冲器,SBUF,写入,1B,的数据,就启动,1,帧串行数据的发送,送完后,硬件自动置位,TI.,TI=0,,无发送中断请求,RI,:串行口接收中断请求标志位,RI=1,串行口接收完,1,个串行数据帧,硬件自动置位,RI.,RI,0,无接收中断请求,注:响应串口中断时,硬件并不清中断标志位,由软件清,0.,复位后(,SCON,),=00H,SCON,TI,RI,3.T2CON,方式寄存器,T2CON,(定时,/,计数器,2,的控制寄存

8、器)字节地址:,C8H,可位寻址,D7,D6,D5,D4,D3,D2,D1,D0,T,2,CON,TF2,-,-,-,-,-,-,-,位地址,CFH,CEH,CDH,CCH,CBH,CAH,C9H,C8H,T2CON,TF2,-,-,-,-,-,-,-,D7,位为定时器,/,计数器,2,的溢出中断请求标志位,TF2,,,若,TF2=1,有中断请求,;,若,TF2=0,无中断请求,D6-D0,这,7,位与中断系统无关,将在第,6,章定时器,/,计数器中介绍,4.XICON,XICON,寄存器为附加的控制寄存器,字节地址为,C0H,,可位寻址,D7,D6,D5,D4,D3,D2,D1,D0,XIC

9、ON,-,-,IE3,IT3,-,-,IE2,IT2,位地址,C7H,C6H,C5H,C4H,C3H,C2H,C1H,C0H,XICON,-,-,IE3,IT3,-,-,IE2,IT2,IT3,:外部中断,3,的中断触发方式控制位,IE3,:外部中断,3,的中断请求标志,IT3,和,IE3,含义类同外部中断,2.,IT2:,外部中断,2,的中断触发方式控制位。,若,IT2=0,,电平触发,若,IT2,1,,下降沿触发,IE2:,外部中断,2,的中断请求标志,若,IE2=0,,无中断请求,若,IE2=1,,有中断请求,注意:对于,D2,、,D3,、,D6,、,D7,位功能将在本章,5.2.4,节

10、讲解,5.2.4,中断控制寄存器,STC89C52,单片机中断控制寄存器由,IE,、,XICON,、,IP,、,IPH,组成,各中断源的中断控制寄存器见,表,5-6,所示。,表,5.6,表,5-6 RC/RD+,系列,8051,单片机中断特殊功能寄存器,一、中断允许控制寄存器,1.IE,寄存器,IE,寄存器的字节地址为,A8H,,可位寻址,,D7,D6,D5,D4,D3,D2,D1,D0,IE,EA,ET2,ES,ET1,EX1,ET0,EX0,位地址,AFH,ADH,ACH,ABH,AAH,A9H,A8H,ET1,:定时,/,计数器,1,的溢出中断允许位。,EX1,:外部中断,1,中断允许位

11、,ET0,:定时,/,计数器,0,的溢出中断允许位,.,EX0,:外部中断,0,中断允许位,.,IE,EA,ET2,ES,ET1,EX1,ET0,EX0,注意:各位都是:“,1”,允许中断,“,0”,禁止中断,ES,;,串行口中断允许位,ET2,:定时,/,计数器,2,的溢出,/,外部触发中断允许位,.,EA,:,中断,允许总开关,若,(IE)=85H,问,:,那些中断源打开,那些被屏蔽,?,(IE)=1000 0101,外部中断,0,和外部中断,1,打开,定时中断,0,、,1,、,2,和串行口中断被屏蔽。,若,(IE)=05H,问,:,那些中断源打开,那些被屏蔽,?,(IE)=0000 01

12、01,因总中断允许为,0,,所有中断都被屏蔽。,【,例,1,】,若允许片内,3,个定时器,/,计数器中断,并禁止其他中断源的中断请求,请编写设置,IE,的相应程序段。,(,1,)用位操作指令,CLRES,CLREX0,CLREX1,SETBET0,SETBET1,SETBET2,SETBEA,(,2,)用字节操作指令,MOV IE,,,#AAH;10101010B,上述两段程序对,IE,的设置是相同的。,26,2.XICON,寄存器,XICON,寄存器的字节地址为,C0H,,可位寻址,,数据位,D7,D6,D5,D4,D3,D2,D1,D0,XICON,EX3,IE3,IT3,EX2,IE2,

13、IT2,位地址,C7H,C6H,C5H,C4H,C3H,C2H,C1H,C0H,XICON,EX3,IE3,IT3,EX2,IE2,IT2,注意:,XICON,寄存器中,D7,、,D3,功能在本章本节中断优先级控制寄存器叙述,.,XICON,寄存器中,D0,、,D1,、,D4,、,D5,位功能在本章,5.2.3,节已有介绍,此处不重复叙述。,(,1,),EX2,附加的外部中断,2,中断允许位,,EX2=1,中断允许,,EX2=0,中断禁止。,(,2,),EX3,附加的外部中断,3,中断允许位,,EX3=1,中断允许,,EX3=0,中断禁止。,二、中断优先级控制寄存器,STC89C52,单片机,

14、8,个中断源硬件自动配置了相同优先级别的中断查询次序见表,5-1,,外部中断,0,最优先,依次是定时,/,计数器,0,、外部中断,1,、定时,/,计数器,1,、串行口中断、定时,/,计数器,2,、外部中断,2,、外部中断,3,为最低。,STC89C52,单片机有四级中断,通过软件来配置,由中断控制寄存器,IP,、,IPH,、,XICON,来设置。,表,5-1,数据位,D7,D6,D5,D4,D3,D2,D1,D0,IP,PT2,PS,PT1,PX1,PT0,PX0,位地址,BDH,BCH,BBH,BAH,B9H,B8H,IP,寄存器,IP,寄存器是中断优先级低位寄存器,字节地址为,B8H,,可

15、位寻址,返回,(D0)PX0,外部中断,0,中断优先级控制位,低位,(D1)PT0,定时器,0,中断优先级控制位,低位,(D2)PX1,外部中断,1,中断优先级控制位,低位,(D3)PT1,定时器,1,中断优先级控制位,低位,(D4)PS,串行口中断优先级控制位,低位,(D,5,)PT2,定时器,2,中断优先级控制位,低位,注意:,IP,为各中断源中断优先级低位寄存器与各中断源中断优先级高位寄存器,IPH,配合来配置各个中断源的中断优先级,共有,4,级。,IP,PT2,PS,PT1,PX1,PT0,PX0,数据位,D7,D6,D5,D4,D3,D2,D1,D0,IPH,PX3H,PX2H,PT

16、2H,PSH,PT1H,PX1H,PT0H,PX0H,2.IPH,寄存器,IPH,寄存器是中断优先级高位寄存器,字节地址为,B7H,,不能进行位寻址,返回,(D0)PX0H,外部中断,0,中断优先级控制位高位,(D1)PT0H,定时器,0,中断优先级控制位高,位,(D2)PX1H,外部中断,1,中断优先级控制位高,位,(D3)PT1H,定时器,1,中断优先级控制位高,位,(D4)PSH,串行口中断优先级控制位高,位,(D5)PT2H,定时器,2,中断优先级控制位高,位,(D6)PX2H,外部中断,2,中断优先级控制位高位,(D7)PX3H,外部中断,3,中断优先级控制位高位,注意:,IP,为各

17、中断源中断优先级低位寄存器与各中断源中断优先级高位寄存器,IPH,配合来配置各个中断源的中断优先级,共有,4,级。,IPH,PX3H,PX2H,PT2H,PSH,PT1H,PX1H,PT0H,PX0H,XICON,PX3,EX3,IE3,IT3,PX2,EX2,IE2,IT2,注意:,STC89C52,单片机,4,级中断优先级由软件配置,它是由各个中断源的优先级高位和低位一起来配置,例如:外部中断,2,优先级高位,PX2H,和低位,PX2,配置,,PX2H PX2=00,,,01,,,10,,,11,,分别配置外部中断,2,为优先级,0,(最低),优先级,1,,优先级,2,,优先级,3,(最高

18、),同理知,8,个中断源各优先级配置方法见,表,5-1,中断优先级设置。,PX2,位对应附加外部中断,2,优先级配置的低位,,PX3,位对应附加外部中断,3,优先级配置的低位。,例如:将定时,/,计数器,2,设置为最高中断优先级,3,级,则有:,MOVIP,#20H,MOVIPH,#20H,返回,35,IP,【,例,2】,IP,、,IPH,寄存器初始化,,STC89C52,的,两个外部中断,0,和,1,请求为最,高优先级即,3,级,,定时,/,计数器,0,和,1,为中断优先级,2,级,,,其他中断请求为最低优先级,。编写初始化程序。,根据题意知:,PX0HPX0=11,,,PX1HPX1=11

19、,,,PT0HPT0=10,PT1HPT1=10,PT2HPT2=00,,,PSHPS=00,,,PX2HPX2=00,,,PX3HPX3=00,MOVIP,#05H;00000101,MOVIPH,#0FH;00001111,MOVXICON,#55H;,外部中断,2,和,3,下降沿触发,中断允许,IPH,XICON,5.3,中断响应,中断响应的过程:,首先由硬件,自动生成一条长调用指令,“,LCALL addr16”,。,就是程序存储区中,相应的中断入口地址,。,例如,,对于外部中断,0,的响应,硬件自动生成的长调用指令为,LCALL 0003H,首先将程序计数器,PC,的内容,压入堆栈,

20、以保护断点,再将,中断入口地址装入,PC,,使程序转向响应中断请求的中断入口地址。,各中断源服务程序的,入口地址,,如表,5-1,所示。,36,表,5-1,1.,响应中断请求的条件,:,必要条件,:,1)CPU,开中断,即,EA=1.,2),该中断源对应的中断请求标志为,1.,3),该中断源的中断允许位,=1,4),无同级或更高级中断正在被服务,.,5.3.1 中断响应条件,中断响应是有条件的,当遇到下列,三种情况,之一时,中断响应被封锁:,(,1,),CPU,正在处理同级或更高优先级,的中断。,(,2,)所查询的机器周期,不是当前正在执行指令的最后一个机器周期,。只有在当前指令执行完毕后,才

21、能进行中断响应,以确保当前,指令执行的完整性,。,(,3,)正在执行的指令是,RETI,或是访问,IE,或,IP,的指令。因为按照,AT89S51,中断系统的规定,在执行完这些指令后,需要再执行完一条指令,才能响应新的中断请求。,如果存在上述三种情况之一,,CPU,将丢弃中断查询结果,不能对中断进行响应。,38,5.5,外部中断的响应时间,使用,外部中断,时,需考虑从,外部中断请求到转向中断入口地址所需的时间,。,外部中断的,最短,响应时间为,3,个机器周期,。其中中断请求,标志位查询占,1,个机器周期,,而这个机器周期,恰好处于指令的最后一个机器周期。,在这个机器周期结束后,中断即被响应,,

22、CPU,接着执行一条,硬件子程序调用指令,LCALL,到相中断服务程序入口,,需要,2,个机器周期,。,外部中断响应的,最长,时间为,8,个机器周期,。,在,CPU,进行中断标志查询时,刚好才开始执行,RETI,或访问,IE,或,IP,的指令,需执行完指令再继续执行一条指令后,才响应中断。,39,执行,RETI,或访问,IE,或,IP,的指令,最长需要,2,个机器周期,接着再执行一条指令,最长指令(乘法指令,MUL,和除法指令,DIV,)来算,也只有,4,个,机器周期,。再加上硬件子程序调用指令,LCALL,的执行,需要,2,个,机器周期,,所以,外部中断响应的最长时间为,8,个机器周期。,如

23、果已经在,处理同级或更高级中断,,外部中断请求的响应时间取决于正在执行的中断服务程序的处理时间,这种情况下,响应时间就无法计算了。,这样,在一个,单一中断,的系统里,,STC,89C52,单片机对外部中断请求的响应时间总是在,3,8,个机器周期,之间,5.3.3,中断请求的撤销,某个中断请求被响应后,就存在着一个中断请求的撤销问题。,1,定时器,/,计数器中断请求的撤销,在中断响应后,硬件,会自动把中断请求标志位(,TF0,、,TF1,)清,0,,,自动撤销,,,TF2,或,EXF2,使用软件清零。如,CLR TF2,或,CLR EXF2,2,外部中断请求的撤销,(,1,)跳沿方式外部中断请求

24、的撤销,包括两项:,中断标志位清,0,和,外中断信号的撤销,。,中断标志位清,0,是在中断响应后由硬件自动完成的。,外中断请求信号的撤销,,由于跳沿信号过后也就消失了,自动撤销。,(,2,)电平方式外部中断请求的撤销,电平方式外中断请求的撤销,其中中断请求标志自动撤销,但中断请求信号的低电平可能继续存在,为此,除了标志位清“,0,”,之外,还需在中断响应后,把中断请求信号输入引脚从,低电平,强制改变为,高电平,,如,图,5-3,所示。,42,图,5-3,电平方式的外部中断请求的撤销电路,由图,5-3,,用,D,触发器锁存,外来的中断请求,低电平,,并通过,D,触发器的输出端,Q,接到 (或,)

25、。所以,增加的,D,触发器不影响中断请求。,中断响应后,利用,D,触发器的,SD,端接,AT89S51,的,P1.0,端。因此,只要,P1.0,端输出一个负脉冲就可以使,D,触发器置“,1,”,,,撤销低电平的中断请求信号。,负脉冲,可在中断服务程序中增加如下指令:,ORL P1,,,#01H,;,P1.0,为“,1,”,ANL P1,,,#0FEH,;,P1.0,为“,0,”,ORL P1,,,#01H,;,P1.0,为“,1”,43,3,串行口中断请求的撤销,响应串行口的中断后,,CPU,无法知道是接收中断还是发送中断,还需测试这两个中断标志位,以,判定是接收操作还是发送操作,,然后才清除

26、。所以串行口中断请求的撤销,只能使用,软件,的方法,,在中断服务程序中进行,即用如下指令在中断服务程序中对串行口中断标志位进行清除:,CLR TI,;清,TI,标志位,CLR RI,;清,RI,标志位,44,汇编语言:中断程序的设计,一、中断程序设计任务,1),设置,IE,2),设置,IP,3),若为外部中断,需设置触发方式,.,4),编写中断服务程序,处理中断请求,.,二、,采用中断时的程序结构,:,ORG0000H,LJMPMAIN,ORG,中断入口地址,LJMPINT,MAIN:,INT:,主程序,中断服务程序,三、中断服务程序流程,关中断,现场保护,开中断,中断处理,关中断,现场恢复,

27、开中断,中断返回,根据中断服务程序流程,编写中断服务程序。设现场保护只将,PSW,寄存器和累加器,A,的内容压入堆栈中保护。一个典型的中断服务子程序如下:,INT,:,CLR EA,;,CPU,关中断,PUSH PSW,;现场保护,PUSH Acc,SETB EA,;总中断允许,中断处理段,CLR EA,;关中断,POP Acc,;现场恢复,POP PSW,SETBEA,;总中断允许,RETI,;中断返回,恢复断点,48,【,例,5-3】,根据,图,5-,3.DSN,所示,外部中断,1,为边沿触发的外部中断源,当按下按键,K1,,产生外部中断,1,信号,单片机读取输入信号,P1.0-P1.3,

28、引脚,将采样到信号转换为输出信号去驱动相应发光二极管的亮灭,单片机的工作频率为,11.0592MHz,,编写相应驱动程序。,图,5-,5,程序清单,:,1.,汇编程序 中断方式,ORG 0000H,LJMP MAIN ;,上电转向主程序,ORG 0013H;,外部中断,1,入口地址,LJMP EXINT1,;,指向中断服务子程序,ORG 0100H ;,主程序,MAIN:MOVSP,#50H,SETB IT1;,选择边沿触发方式,SETB EX1 ;,允许外部中断,1,SETB EA ;CPU,允许中断,HERE:AJMP HERE,;,主程序踏步,以下是中断服务子程序:,EXINT1:MOV

29、 P1,#0FFH,MOV A,P1;,读取,P1,口输入信号,SWAP A;,将采样到信号转换为输出信号,MOV P1,A;,输出信号驱动发光二极管,RETI ;,中断返回,END,Keil,2.C,语言程序、中断方式,#include,#define uchar unsigned char,void main(),uchar p1_Value=0;,SP=0X50;/,设置堆栈,IT1=1;/,设置外部中断,1,边沿触发,EX1=1;/,开放外部中断,1,中断申请,EA=1;/,开放总中断申请开关,while(1),/,踏步等待中断,void exint0(void)interrupt 2/外部中断1中断服务子程序,uchar p1_Value=0;,P1=0 xff;,p1_Value=P1 /读取PI口低4位键值,p1_Value=p1_Value4;,P1=p1_Value;/输出键值,驱动发光二极管,汇编语言查询方式,ORG 0000H,START:SETB IT1,HERE:JBP3.3,HERE,EXINT1:MOVP1,#0FFH,MOV A,P1,SWAP A,MOV P1,A,AJMPHERE,END,谢谢光临!,结束放映,返回本章首页,此课件下载可自行编辑修改,仅供参考!感谢您的支持,我们努力做得更好!谢谢,

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服