上午1时54分13秒广东松山职业技术学院课件制作组第5章中断系统及定时/计数器中断的基本概念和MCS-51中断系统的结构。MCS-51定时/计数器的组成。定时/计数器的四种工作方式。MCS-51中断系统和定时/计数器的使用方法。上午1时54分13秒广东松山职业技术学院课件制作组本章主要内容5.1MCS-51单片机的中断系统5.2中断系统的编程和应用举例5.3MCS-51单片机的定时/计数器5.4定时/计数器应用举例上午1时54分13秒广东松山职业技术学院课件制作组5.1MCS-51单片机的中断系统5.1.1MCS-51中断系统的结构及功能1.中断的概念看电视中断处理中断请求中断返回电话铃响接听电话看电视主程序事件发生事件处理主程序实际生活计算机上午1时54分13秒广东松山职业技术学院课件制作组5.1.1MCS-51中断系统的结构及功能上午1时54分13秒广东松山职业技术学院课件制作组中断:在计算机执行程序的过程中,当外部设备发生某一事件去请求CPU处理时(中断发生);CPU暂时中断当前程序的执行,转去处理所发生的事件(中断响应和中断服务);待处理完毕后,再返回来执行原来被中断的程序(中断返回),这一处理过程称之为中断。中断要注意2点:保护断点和保护现场5.1.1MCS-51中断系统的结构及功能上午1时54分13秒广东松山职业技术学院课件制作组IE0TCONSCONINT0IT0=0IT0=1INT1IT1=0IT1=1TF0IE1TF1T0T1TIRITXDRXDESET0EX0EX1ET1EA自然优先级矢量地址高级中断请求自然优先级矢量地址低级中断请求PX0PT0PX1PT1PSIEIP中断标志位中断源允许总允许EA中断优先级5.1.1MCS-51中断系统的结构及功能2.MCS-51中断系统的结构上午1时54分13秒广东松山职业技术学院课件制作组MCS-51系列单片机的中断系统有5个中断源分别是:,,T0,T1和串行端口。0INT1INT3.中断的功能(1)提高CPU的工作效率(2)处理故障(3)实现实时控制(4)实现人机交互5.1.1MCS-51中断系统的结构及功能上午1时54分13秒广东松山职业技术学院课件制作组5.1.2中断源与中断请求1.中断源(5个)INT0:由IT0选择为低电平有效还是下降沿有效。此引脚上出现有效的中断信号时,中断标志IE0置1,申请中断。INT1:由IT1选择为低电平有效还是下降沿有效。此引脚上出现有效的中断信号时,中断标志IE1置1,申请中断。TF0(TCON.5):片内定时/计数器T0溢出中断请求标志。当定时/计数器T0发生溢出时,置位TF0,向CPU申请断。上午1时54分13秒广东松山职业技术学院课件制作组TF1(TCON.7):片内定时/计数器T1溢出中断请求标志。当定时/计数器T1发生溢出时,置位TF1,向CPU申请中断。RI、TI:串行口中断请求标志。当串行口接收完一帧数据时置位RI或当串行口发送完一帧数据时置位TI,向CPU申请中断。5.1.2中断源与中断请求上午1时54分13秒广东松山职业技术学院课件制作组2.中断申请标志(TCON和SCON)(1)定时/计数器控制寄存器TCONTF1TR1TF0TR0IE1IT1IE0IT0TCON(88H)IT0(TCON.0):外中断0触发方式控制位。IT0=0,电平触发方式。IT0=1,边沿触发方式(下降沿有效)。IT1(TCON.2):选择外部中断1的中断触发方式同IT0IE0(TCON.1):外中断0中断请求标志位。TF0,T0溢出中断请求标志位。IT1、IE1、TF1类同5.1.2中断源与中断请求上午1时54分13秒广东松山职业技术学院课件制作组(2)串行口控制寄存器SCONSCON(98H)SM0SM1SM2RENTB8RB8TIRIRI(SCON.0):串行口接收中断请求标志位。TI(SCON.1):串行口发送中断请求标志位。注意:RI和TI由硬件置位、由软件清除。5.1.2中断源与中断请求上午1时54分13秒广东松山职业技术学院课件制作组中断允许控制EAESET1EX1ET0EX0IE(A8H)EX0:外中断0允许位;ET0:T0中断允许位;EX1:外中断0允许位;ET1:T1中断允许位;ES:串口中断允许位;EA:CPU中断允许(总允许)位。5.1.3中断允许控制上午1时54分13秒广东松山职业技术学院课件制作组【例5-1】假设允许打开及定时/计数器T0、T1中断,禁止其他中断,试对IE进行设置。INT1解:由给定条件IE应为10001110B。(1)用字节操作指令MOVIE,#8EH或MOVA8H,#8EH(2)用位操作指令SETBEASETBET1SETBEX1SETBET05.1.3中断允许控制上午1时54分13秒广东松山职业技术学院课件制作组中断优先级控制PSPT1PX1PT0PX0IP(B8H)IP寄存器各位的含义如下:PX0:外中断0优先级设定位;PT0:T0优先级设定位;PX1:外中断0优先级设定位;PT1:T1优先级设定位;PS:串口优先级设定位。5.1.4中断优先级控制上午1时54分13秒广东松山职业技术学院课件制作组各中断源响应优先级及中断服务程序入口表如下:中断源中断标志中断服务程序入口优先级顺序外部中断0IE00003H高定时/计数器0(T0)TF0000BH↓外部中断1IE10013H↓定时/计数器1(T1)TF1001BH↓串行口中断RI或TI0023H低5.1.4中断优先级控制上午1时54分13秒广东松山职业技术学院课件制作组【例5-2】将T1定义为最高优先级,其他中断定义为低优先级,如何设置IP?解:只要使PT1=1,即将00001000B(08H)送入IP即可。MOVIP,#08H或:SETBPT15.1.5中断处理过程MCS-51单片机的中断处理过程可分为三个阶段即中断响应中断处理和中断返回5.1.4中断优先级控制上午1时54分13秒广东松山职业技术学院课件制作组MCS-51单片机的中断处理过程可分为三个阶段中断响应中断处理中断返回5.1.5中断处理过程程序被中断前断点中断处理后中断响应(1)响应条件:①有中断请求;②EA=1,中断开放;③请求中断的中断源中断允许为1,开中断。(2)响应过程:①保存断点,CPU自动把断点压入堆栈进行保存;②把对应的中断服务子程序入口地址装入。中断返回执行RETI指令:中断服务子程序最后一条指令是中断返回指令RETI它的功能是将断点地址弹出送回PC中,使程序能返回到原来被中断的程序继续执行。中断处理(1)保护现场:现场通常有PSW、工作寄存器、专用寄存器等,若在中断服务子程序中要用这些寄存器,则在进入中断服务子程序前将它们保护起来,以便在执行RETI指令前将它们恢复。(2)执行中断服务子程序,为中断源服务。上午1时54分13秒广东松山职业技术学院课件制作组5.2中断系统的编程和应用举例5.2.1关于具体的中断服务程序编写中断服务程序时应注意以下几点:各中断源的入口向量地址之间,只相隔8个单元,一般的中断服务程序是容纳不下的,因而最常用的方法是在中断入口向量地址单元处存放一条转移指令,转至存储器其他的任何空间去。若在执行当前中断程序时禁止更高优先级中断,应用软件关闭CPU中断或屏蔽更高级中断源的中断,在中断返回前再开放中断。在保护现场和恢复现场时,一般应关闭CPU中断,使CPU暂时不响应新的中断请求;在保护现场之后若允许响应高优先级中断,则应开中断。同样在恢复现场之前应关中断,恢复之后再开中断。上午1时54分13秒广东松山职业技术学院课件制作组1.单外部中断源示例解:(1)用字节指令写的初始化程序:MOVIE,#81H;开总中断与外中断0中断MOVIP,#01H;外部中断0为高级优先MOVTCON,#00H;外部中断0为电平触发方式5.2.2中断程序举例【例5-3】使用外部中断INT0,电平触发方式,设为高优先级中断,写出初始化程序。(2)用位操作指令写的初始化程序:SETBEA;开总中断SETBET0;外部中断0开中断SETBPX0;外部中断0为高级优先CLRIT0;外部中断0为电平触发方式上午1时54分13秒广东松山职业技术学院课件制作组2.多外部中断源示例【例5-5】多外部中断如图5-7所示,设有5个外中断源EX1、EX2、EX3、EX4和EX5,高电平时表示请求中断,要求执行相应中断服务程序,试编制程序。5.2.2中断程序举例上午1时54分13秒广东松山职业技术学院课件制作组5.2.2中断程序举例多外部中断源程序流程图上午1时54分13秒广东松山职业技术学院课件制作组ORG0000H;复位地址LJMPMAIN;转主程序ORG0003H;中断入口地址LJMPPROG0;转中断服务程序ORG0013H;中断入口地址LJMPPROG1;转中断服务程序ORG0100H;主程序首地址MAIN:MOVSP,#60H;置堆栈指针ORLTCON,#05H;置、为边沿触发方式SETBPX0;置为高优先级MOVIE,#0FFH;全部开中断…;主程序内容ORG1000H;中断服务程序首地址5.2.2中断程序举例上午1时54分13秒广东松山职业技术学院课件制作组PROG0:PUSHACC;中断,保护现场LCALLWORK1;调用EX1服务子程序POPACC;恢复现场RETI;中断返回ORG2000H;中断服务程序首地址PROG1:CLREA;CPU禁中断PUSHACC;保护现场PUSHDPHPUSHDPLSETBEA;CPU开中断JBP1.0,LWK2;P1.0=1,EX2请求中断JBP1.1,LWK3;P1.1=1,EX3请求中断JBP1.2,LWK4;P1.2=1,EX4请求中断LCALLWORK5;P1.3=1,调用EX5服务子程序5.2.2中断程序举例上午1时54分13秒广东松山职业技术学院课件制作组LRET:CLREA;CPU禁中断POPDPL;恢复现场POPDPHPOPACCSETBEA;CPU开中断RETI;中断返回LWK2:LCALLWORK2SJMPLRET;转中断返回LWK3:LCALLWORK3SJMPLRET;转中断返回LWK4:LCALLWORK4SJMPLRET;转中断返回5.2.2中断程序举例上午1时54分13秒广东松山职业技术学院课件制作组5.3MCS-51单片机的定时/计数器5.3.1定时/计数器的结构及工作原理1.定时/计数器组成框图上午1时54分13秒广东松山职业技术学院课件制作组加1计数器(高8位、低8位)TMOD,工作方式设置;TCON,启动、停止及设置溢出标志2.定时/计数器工作原理计数器脉冲来源:振荡器脉冲经过12分频;T0或T1引脚的外部脉冲。计数器全1时,再输入1个脉冲就回零,并发生溢出(TCON中TF0或TF1置1),发中断请求。计数值:溢出时计数器值-计数初值。定时模式,对内部机器周期计数定时时间t=计数值NxTcy5.3.1定时/计数器的结构及工作原理上午1时54分13秒广东松山职业技术学院课件制作组1.工作方式寄存器TMODGATEC/TM1M0GATEC/TM1M0TMOD(89H)T0T1M1、M2控制的四种工作方式00:13位计数器01:16位计数器10:可自动重装的8位计数器11:T0分为2个8位计数器;T1此时停止工作5.3.2定时/计数器的控制C/T:计数器/定时器选择位为“0”,选择定时方式为“1”,选择计数方式,上午1时54分13秒广东松山职业技术学院课件制作组GATE:门控位为“0”,允许软件控制位TR0或TR1启动定时器为“1”,允许外部中断0或1引脚为高电平,且由软件使TR0(或TR1)置1时,才能启动定时器工作。5.3.2定时/计数器的控制上午1时54分13秒广东松山职业技术学院课件制作组2.控制寄存器TCON5.3.2定时/计数器的控制上午1时54分13秒广东松山职业技术学院课件制作组初始化步骤如下:(1)确定工作方式,对T