第5章80C51的中断系统及定时计数器.ppt
《第5章80C51的中断系统及定时计数器.ppt》由会员分享,可在线阅读,更多相关《第5章80C51的中断系统及定时计数器.ppt(42页珍藏版)》请在课桌文档上搜索。
1、2023/11/6,1,第5章 80C51的中断系统及定时/计数器,80C51单片机的中断系统,5.1,80C51单片机的中断处理过程,5.2,80C51单片机的定时/计数器,5.3,80C52的定时/计数器2,5.4,2023/11/6,2,5.1 80C51单片机的中断系统,5.1.1 80C51中断系统的结构,CPU进行工作A时发生了事件B,请求CPU马上处理 CPU暂时中断当前工作A,转去处理事件B 事件B处理完后,回到工作A被中断的地方继续处理A工作,中断的概念,中断源 中断请求 中断服务 中断返回 中断系统,中断的优点 利用率高 实时性强 可靠性好,2023/11/6,3,80C5
2、1中断系统的结构,5个中断源、2个优先级,2023/11/6,4,中断源,5.1.2 80C51的中断源,外部中断0(INT0)外部中断1(INT1)T0溢出中断(TF0)T1溢出中断(TF1)串行口中断(RI或TI),2023/11/6,5,触发方式设置及中断标志,电平方式(ITx=0),INTx引脚低电平时IEx=1,响应中断后IEx不自动清0(INTx引脚状态)。边沿方式(ITx=1),INTx引脚负跳变时IEx=1,响应中断后IEx自动清0。,外部中断标志IE1、IE0(用IEx表示),2023/11/6,6,两种触发方式比较:,电平方式时,INTx低电平必须保持到响应时,否则就会漏掉
3、;在中断服务结束前,INTx低电平必须撤除,否则中断返回之后将再次产生中断。例,8255的中断请求线在接受读或写操作后即被复位,因此以其去请求电平触发方式的中断比较方便。,边沿方式时,采样到有效下降沿后,在IEx中将锁存一个1。若CPU暂时不能响应,申请标志也不会丢失,直到响应时才清0。例,ADC0809的转换结束信号EOC为正脉冲,经反相后就可以作为80C51的INTx信号。,2023/11/6,7,溢出中断标志TF1、TF0(用TFx表示),溢出中断请求标志TFx,Tx启动后就开始由初值进行加1计数,直至最高位产生溢出使TFx=1向CPU请求中断。CPU响应中断后TFx自动清0。,SCON
4、的中断标志,RI:串口接收中断标志,响应中断时不能自动清除 TI:串口发送中断标志,响应中断时不能自动清除,2023/11/6,8,5.1.3 80C51中断的控制,中断允许控制,中断源的开放和屏蔽由IE控制(1,开放;0,禁止),EX0:外中断0允许 ET0:T0中断允许 EX1:外中断1允许,ET1:T1中断允许 ES:串口中断允许 EA:CPU中断允许,2023/11/6,9,中断优先级控制,中断优先级由IP控制(1,高级;0,低级),PX0:外中断0优先级 PT0:T0中断优先级 PX1:外中断1优先级,PT1:T1中断优先级 PS:串口中断优先级,同一优先级的自然顺序:自高至低:IN
5、T0、TO、INT1、T1、串口。,2023/11/6,10,中断优先级遵循的原则,几个中断同时申请,先响应高级的中断 正进行的中断服务,同级或低级中断不能对其中断,但可以被高级中断所中断。,为此,中断系统内设有对应高、低2个优先级状态触发器(用户不能寻址)。状态触发器的复位由中断返回指令RETI控制。,2023/11/6,11,5.2 80C51单片机中断处理过程,5.2.1 中断响应条件和时间,中断响应条件,有中断请求 相应的中断允许位为1CPU开中断(即EA=1),遇下面情况之一将不被响应(此间中断条件失效,中断丢失),正在处理同级或高级中断 当前查询周期不是所执行指令的最后一个机器周期
6、 正在执行RETI或访问IE或IP 的指令,2023/11/6,12,中断响应时间,中断响应至少需要3个完整的机器周期(38个)!,受阻时要附加35个机器周期(无同级或高级中断正进行),查询周期不是当前指令的最后机器周期(如MUL,+3)查询周期恰逢RETI类指令(且后跟MUL指令+5),2023/11/6,13,5.2.2 中断响应过程,CPU响应中断过程,将相应优先级状态触发器置1(阻断后来同级或低级中断)执行硬件LCALL指令(PC入栈,中断服务程序入口址送PC)执行中断服务程序,编写中断服务程序注意,中断服务程序入口存放指令LJMP或AJMP现场保护与现场恢复,2023/11/6,14
7、,5.2.3 中断返回,中断服务程序最后指令必须是RETI,其功能:,将断点从堆栈弹送PC,CPU从原断点继续执行 将相应优先级状态触发器清0,恢复原来工作状态,注意,不能用RET代替RETI 中断服务程序中PUSH和POP必须成对使用,2023/11/6,15,5.2.4 中断程序举例,【例5-1】单外部中断源示例,ORG 0000HSTART:LJMP MAIN ORG 0003H LJMP INTO ORG 0030H MAIN:CLR IT0;电平 SETB EA SETB EX0 MOV DPTR,#1000H,主程序:,2023/11/6,16,中断服务程序:,ORG 0200HI
8、NT0:PUSH PSW PUSH ACC CLR P3.0;由P3.0输出0 NOP NOP SETB P3.0 MOV P1,#0FFH;置P1口为输入 MOV A,P1;输入数据 MOVX DPTR,A;存入数据存储器 INC DPTR;修改数据指针,指向下一个单元 POP ACC;恢复现场 POP PSW RETI,2023/11/6,17,【例5-2】多外部中断源示例,中断服务程序:,ORG 0003H LJMP INSE0 ORG 0013H LJMP INSE1 INSE0:PUSH PSW;XI0中断服务 PUSH ACC POP ACC POP PSW RETI(转下页),2
9、023/11/6,18,INSE1:PUSH PSW(接上页)PUSH ACC JB P1.0,DV1;P1.0为1,转XI1中断服务程序 JB P1.1,DV2;P1.1为1,转XI2中断服务程序 JB P1.2,DV3;P1.2为1,转XI3中断服务程序 JB P1.3,DV4;P1.3为1,转XI4中断服务程序INRET:POP ACC POP PSW RETI DV1:;XI1中断服务程序 AJMP INRET DV4:;XI4中断服务程序 AJMP INRET,2023/11/6,19,5.3 80C51单片机的定时/计数器,定时/计数器的结构,基本型:T0,定时、计数。T1,定时、
10、计数、串口波特率发生器。,增强型:增加了T2。见5.3.4节。,5.3.1 定时/计数器的结构和工作原理,TH1、TL1TH0、TL0TCONTMOD,2023/11/6,20,定时/计数器的工作原理,实质是16位加1计数器,定时器模式时,是对内部机器周期计数。计数值乘以机器周期就是定时时间 计数器模式时,是对外部事件计数。脉冲由T0(P3.4)或T1(P3.5)引脚输入。,注意:(若计数值为N,计数初值为X)溢出信号使TF0或TF1置1,并发出中断请求,16位时有:N=65536-X,或X=65536-N12MHz晶振时,计数频率低于0.5MHz,2023/11/6,21,5.3.2 定时/
11、计数器的控制,工作方式寄存器TMOD,GATE:门控位。GATE0时,只要TRx为1,就可启动定时/计数器工作;GATE1时,要TRx为1,定时/计数器的启动还要加上INTx引脚为高电平这一条件。C/T:模式选择位。清0为定时模式,置1为计数方式。M1M0:工作方式设置位。可设置四种工作方式(见下页)。,2023/11/6,22,注意:TMOD不能进行位寻址,2023/11/6,23,控制寄存器TCON,TFx:Tx溢出标志位。响应中断后TFx有硬件自动清0。用软件设置TFx可产生同硬件置1或清0同样的效果。TRx:Tx运行控制位。置1时开始工作;清0时停止工作。TRx要由软件置1或清0(即启
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 80 C51 中断 系统 定时 计数器

链接地址:https://www.desk33.com/p-747246.html