《第5章80C51的中断系统及定时计数器.ppt》由会员分享,可在线阅读,更多相关《第5章80C51的中断系统及定时计数器.ppt(42页珍藏版)》请在优知文库上搜索。
1、2023-11-151第第5 5章章 80C5180C51的中断系统及定时的中断系统及定时/计数器计数器80C51单片机的单片机的中断系统中断系统5.180C5180C51单片机的单片机的中断处理过程中断处理过程5.280C5180C51单片机的单片机的定时定时/计数器计数器5.380C5280C52的定时的定时/计数器计数器2 25.42023-11-1525.1 80C51单片机的中断系统单片机的中断系统5.1.1 80C515.1.1 80C51中断系统的结构中断系统的结构 CPUCPU进行工作进行工作A A时发生了事件时发生了事件B B,请求,请求CPUCPU马上处理马上处理 CPUC
2、PU暂时中断当前工作暂时中断当前工作A A,转去处理事件,转去处理事件B B 事件事件B B处理完后,回到工作处理完后,回到工作A A被中断的地方继续处理被中断的地方继续处理A A工作工作 中断的概念中断的概念 中断源中断源 中断请求中断请求 中断服务中断服务 中断返回中断返回 中断系统中断系统中断的优点中断的优点v 利用率高利用率高v 实时性强实时性强v 可靠性好可靠性好 2023-11-153 80C51 80C51中断系统的结构中断系统的结构5 5个中断源、个中断源、2 2个优先级个优先级2023-11-154 中断源中断源5.1.2 80C515.1.2 80C51的中断源的中断源外部
3、中断外部中断0 0(INT0INT0)外部中断外部中断1 1(INT1INT1)T0T0溢出中断(溢出中断(TF0TF0)T1T1溢出中断(溢出中断(TF1TF1)串行口中断(串行口中断(RIRI或或TITI)2023-11-155 触发方式设置及中断标志触发方式设置及中断标志 76543210TCONTF1TR1TF0TR0IE1IT1IE0IT0字节地址:字节地址:88H 电平方式(电平方式(ITxITx=0=0),),INTxINTx引脚引脚低电平低电平时时IExIEx=1=1,响应中响应中断后断后IExIEx不自动清不自动清0 0(INTxINTx引脚状态)。引脚状态)。边沿方式(边沿
4、方式(ITxITx=1=1),),INTxINTx引脚引脚负跳变负跳变时时IExIEx=1=1,响应中响应中断后断后IExIEx自动清自动清0 0。外部中断标志外部中断标志IE1IE1、IE0IE0(用(用IExIEx表示)表示)2023-11-156两种触发方式比较:两种触发方式比较:电平方式时,电平方式时,INTxINTx低电平必须保持到响应时,否则就会低电平必须保持到响应时,否则就会漏掉;在中断服务结束前,漏掉;在中断服务结束前,INTxINTx低电平必须撤除,否则中断低电平必须撤除,否则中断返回之后将再次产生中断。返回之后将再次产生中断。例,例,82558255的中断请求线在接受读或写
5、操作后即被复位,因的中断请求线在接受读或写操作后即被复位,因此以其去请求电平触发方式的中断比较方便。此以其去请求电平触发方式的中断比较方便。边沿方式时,采样到有效下降沿后,在边沿方式时,采样到有效下降沿后,在IExIEx中将锁存一个中将锁存一个1 1。若若CPUCPU暂时不能响应,申请标志也不会丢失,直到响应时才暂时不能响应,申请标志也不会丢失,直到响应时才清清0 0。例,例,ADC0809ADC0809的转换结束信号的转换结束信号EOCEOC为正脉冲,经反相后就可为正脉冲,经反相后就可以作为以作为80C5180C51的的INTxINTx信号信号。2023-11-157 溢出中断标志溢出中断标
6、志TF1TF1、TF0TF0(用(用TFxTFx表示)表示)溢出中断请求标志溢出中断请求标志TFxTFx ,TxTx启动后就开始由初值进行加启动后就开始由初值进行加1 1计数,直至最高位产生溢出使计数,直至最高位产生溢出使TFxTFx=1=1向向CPUCPU请求中断。请求中断。CPUCPU响应中断后响应中断后TFxTFx自动清自动清0 0。SCONSCON的中断标志的中断标志76543210SCONTIRI字节地址:字节地址:98HRIRI:串口:串口接收接收中断标志,响应中断时中断标志,响应中断时不能自动清除不能自动清除 TITI:串口:串口发送发送中断标志,响应中断时中断标志,响应中断时不
7、能自动清除不能自动清除 2023-11-1585.1.3 80C515.1.3 80C51中断的控制中断的控制 中断允许控制中断允许控制中断源的开放和屏蔽由中断源的开放和屏蔽由IEIE控制(控制(1 1,开放;,开放;0 0,禁止,禁止)76543210IEEAESET1EX1ET0EX0字节地址:字节地址:A8H EX0:外中断外中断0允许允许 ET0:T0中断允许中断允许 EX1:外中断外中断1 1允许允许 ET1:T1中断允许中断允许 ES :串口中断允许串口中断允许 EA:CPU中断允许中断允许 2023-11-159 中断优先级控制中断优先级控制中断优先级由中断优先级由IPIP控制(
8、控制(1 1,高级;,高级;0 0,低级,低级)76543210IPPSPT1PX1PT0PX0字节地址:字节地址:B8H PX0:外中断外中断0优先级优先级 PT0:T0中断中断优先级优先级 PX1:外外中断中断1 1优先级优先级 PT1:T1中断中断优先级优先级 PS :串口中断串口中断优先级优先级同一优先级的自然顺序:同一优先级的自然顺序:自高至低:自高至低:INT0INT0、TOTO、INT1INT1、T1T1、串口。、串口。2023-11-1510 中断优先级遵循的原则中断优先级遵循的原则几个中断同时申请,先响应高级的中断几个中断同时申请,先响应高级的中断 正进行的中断服务,同级或低
9、级中断不能对其正进行的中断服务,同级或低级中断不能对其中断,但可以被高级中断所中断。中断,但可以被高级中断所中断。为此,中断系统内设有对应高、低为此,中断系统内设有对应高、低2 2个个优先级状优先级状态触发器态触发器(用户不能寻址)。(用户不能寻址)。状态触发器的复位由中断返回指令状态触发器的复位由中断返回指令RETIRETI控制。控制。2023-11-15115.2 80C51单片机中断处理过程单片机中断处理过程5.2.1 5.2.1 中断响应条件和时间中断响应条件和时间 中断响应条件中断响应条件有中断请求有中断请求 相应的中断允许位为相应的中断允许位为1 1CPUCPU开中断(即开中断(即
10、EA=1EA=1)遇下面情况之一将不被响应(遇下面情况之一将不被响应(此间中断条件失效,中断丢失此间中断条件失效,中断丢失)正在处理同级或高级中断正在处理同级或高级中断 当前查询周期不是所执行指令的最后一个机器周期当前查询周期不是所执行指令的最后一个机器周期 正在执行正在执行RETIRETI或或访问访问IEIE或或IPIP 的指令的指令 2023-11-1512 中断响应时间中断响应时间中断响应至少需要中断响应至少需要3 3个完整的机器周期个完整的机器周期(3 38 8个)!个)!受阻时要附加受阻时要附加3 3 5 5个机器周期(个机器周期(无同级或高级中断正进行无同级或高级中断正进行)查询周
11、期不是当前指令的最后机器周期查询周期不是当前指令的最后机器周期(如如MULMUL,+3+3)查询周期恰逢查询周期恰逢RETIRETI类指令类指令(且后跟且后跟MULMUL指令指令+5+5)2023-11-15135.2.2 5.2.2 中断响应过程中断响应过程 CPUCPU响应中断过程响应中断过程将相应优先级状态触发器置将相应优先级状态触发器置1 1(阻断后来同级或低级中断阻断后来同级或低级中断 )执行硬件执行硬件LCALLLCALL指令(指令(PCPC入栈,中断服务程序入口址送入栈,中断服务程序入口址送PCPC)执行中断服务程序执行中断服务程序 编写中断服务程序注意编写中断服务程序注意中断服
12、务程序入口存放指令中断服务程序入口存放指令LJMPLJMP或或AJMPAJMP现场保护与现场恢复现场保护与现场恢复2023-11-15145.2.3 5.2.3 中断返回中断返回 中断服务程序最后指令必须是中断服务程序最后指令必须是RETIRETI,其功能:,其功能:将断点从堆栈弹送将断点从堆栈弹送PCPC,CPUCPU从原断点继续执行从原断点继续执行 将相应优先级状态触发器清将相应优先级状态触发器清0 0,恢复原来工作状态,恢复原来工作状态 注意注意不能用不能用RETRET代替代替RETRETI I 中断服务程序中中断服务程序中PUSHPUSH和和POPPOP必须成对使用必须成对使用2023
13、-11-15155.2.4 5.2.4 中断程序举例中断程序举例【例例5-15-1】单外部中断源示例单外部中断源示例 ORG 0000HSTART:LJMP MAIN ORG 0003H LJMP INTO ORG 0030H MAIN:CLR IT0 ;电平电平 SETB EA SETB EX0 MOV DPTR,#1000H 主程序:主程序:2023-11-1516中断服务程序中断服务程序:ORG 0200H ORG 0200HINT0:PUSH PSW INT0:PUSH PSW PUSH ACC PUSH ACC CLR P3.0 CLR P3.0 ;由;由P3.0P3.0输出输出0
14、0 NOP NOP NOP NOP SETB P3.0 SETB P3.0 MOV P1,#0FFH MOV P1,#0FFH;置;置P1P1口为输入口为输入 MOV A,P1 MOV A,P1 ;输入数据;输入数据 MOVX DPTR,A MOVX DPTR,A ;存入数据存储器;存入数据存储器 INC DPTR INC DPTR ;修改数据指针,指向下一个单元;修改数据指针,指向下一个单元 POP ACC POP ACC ;恢复现场;恢复现场 POP PSWPOP PSW RETI RETI 2023-11-1517【例例5-25-2】多外部中断源示例多外部中断源示例 中断服务程序中断服务
15、程序:ORG 0003HORG 0003H LJMP INSE0 LJMP INSE0 ORG 0013HORG 0013H LJMP INSE1 LJMP INSE1 INSE0:PUSH PSW;XI0INSE0:PUSH PSW;XI0中断服务中断服务 PUSH ACCPUSH ACC POP ACC POP ACC POP PSW POP PSW RETI RETI (转下页转下页)2023-11-1518INSE1:PUSH PSW INSE1:PUSH PSW (接上页接上页)PUSH ACC PUSH ACC JB P1.0,DV1 JB P1.0,DV1;P1.0P1.0为为1
16、 1,转,转XI1XI1中断服务程序中断服务程序 JB P1.1,DV2 JB P1.1,DV2;P1.1P1.1为为1 1,转,转XI2XI2中断服务程序中断服务程序 JB P1.2,DV3 JB P1.2,DV3;P1.2P1.2为为1 1,转,转XI3XI3中断服务程序中断服务程序 JB P1.3,DV4 JB P1.3,DV4;P1.3P1.3为为1 1,转,转XI4XI4中断服务程序中断服务程序INRET:POP ACCINRET:POP ACC POP PSW POP PSW RETI RETI DV1:DV1:;XI1XI1中断服务程序中断服务程序 AJMP INRETAJMP INRET DV4:DV4:;XI4XI4中断服务程序中断服务程序 AJMP INRETAJMP INRET 2023-11-15195.3 80C51单片机的定时单片机的定时/计数器计数器定时定时/计数器的结构计数器的结构基本型:基本型:T0T0,定时、计数。,定时、计数。T1 T1,定时、计数、串口波特率发生器。,定时、计数、串口波特率发生器。增强型:增加了增强型:增加了T2T2。见。见5.3