中断如何接收信号的.ppt

上传人:za****8 文档编号:3179987 上传时间:2019-12-06 格式:PPT 页数:39 大小:504.51KB
返回 下载 相关 举报
中断如何接收信号的.ppt_第1页
第1页 / 共39页
中断如何接收信号的.ppt_第2页
第2页 / 共39页
中断如何接收信号的.ppt_第3页
第3页 / 共39页
点击查看更多>>
资源描述
5.189C51单片机的中断系统5.1.1计算机中断技术的概念1中断中断是一项重要的计算机技术。现代的计算机之所以具有实时处理功能,即能对外界发生的事件做出及时处理的功能,就是依靠它们的中断系统。,所谓中断就是指计算机在执行某一程序的过程中(A程序),由于计算机系统内、外的某种原因,而必须中止原程序的执行,转去执行相应的处理程序(B程序),待处理结束之后,再回来继续执行被中止的原程序的过程(A程序)。其中,A程序我们称为主程序,B程序称为中断服务程序,某种原因称为中断请求,执行B程序的过程称为中断响应。如图5-1所示。,图5-1中断响应示意图,采用了中断技术后的计算机,可以解决CPU与外设之间速度匹配的问题,使计算机可以及时处理系统中许多随机的参数和信息,同时,它也提高了计算机处理故障与应变的能力。而且还具有以下优点:(1)使用中断方式,可允许多个外围设备与CPU同时工作,实现分时操作,大大提高计算机的利用率。,(2)利用中断技术,CPU能够及时处理测试、控制系统中许多随机的参数和信息,实现实时处理,大大提高计算机处理问题的实时性和灵活性。(3)中断技术是CPU具有处理设备故障、掉电等突发事件的能力,提高计算机系统本身的可靠性。,2.中断的响应过程中断响应过程如图5-1所示。(1)中断查询。在每条指令结束后,系统都自动检测中断请求信号,如果有中断请求,且CPU处于开中断状态下,则响应中断。(2)保护现场。在保护现场前,一般要关中断,以防止现场被破坏。保护现场一般是用堆栈指令将原程序中用到的寄存器压入堆栈。(3)中断服务。即为相应的中断源服务。,(4)恢复现场。用堆栈指令将保护在堆栈中的数据弹出来,在恢复现场前要关中断,以防止现场被破坏。在恢复现场后应及时开中断。(5)返回。此时CPU将压入到堆栈的断点地址弹回到程序计数器,从而使CPU继续执行刚才被中断的程序。,3MCS-51中断系统的结构MCS-51单片机具有功能较强的中断系统。其中,共有5个中断源,可实现二级中断服务嵌套,由片内特殊功能寄存器中的中断允许寄存器IE控制CPU是否响应中断请求;中断优先级寄存器IP安排5个中断源的优先级。同一优先级内各中断同时提出中断请求时,由内部的查询逻辑确定其响应次序。MCS-51单片机的中断系统的结构如图5-2所示,它由中断请求标志位、中断允许寄存器IE、中断优先级寄存器IP硬件查询电路组成。,图5-2MCS-51单片机的中断系统,5.1.2中断源及中断的控制1MCS-51的中断源中断源是指在计算机系统中向CPU发出中断请求的来源。中断源可以人为设定,也可以将突发性随机事件设置为中断源。MCS-51单片机共有5个中断源:外部中断源2(和);2个片内定时器/计数器T0和T1的溢出中断TF0和TF1;1个片内串行口的发送中断TI和接收中断RI。这5个中断源的优先级分为两级:高级中断和低级中断。其中任何一个中断源的优先级均可由软件设定为高级或低级,能实现两级中断服务程序嵌套。,这5个中断源的优先级分为两级:高级中断和低级中断。其中任何一个中断源的优先级均可由软件设定为高级或低级,能实现两级中断服务程序嵌套。(1):外部中断0请求,由P3.2引脚输入。它有两种触发方式,通过IT0(TCON.0)来决定是电平触发方式还是边沿触发方式。一旦输入信号有效,则将中断标志IE0置1,并且向CPU发出中断请求。(2):外部中断1请求,由P3.3引脚输入。通过IT1(TCON.2)来决定是电平触发方式还是边沿触发方式。一旦输入信号有效,则将中断标志IE1置1,并且向CPU发出中断请求。,(3)TF0:片内定时器/计数器T0溢出中断请求。当定时器/计数器T0产生溢出时,TF0置1,并向CPU发出中断请求。(4)TF1:片内定时器/计数器T1溢出中断请求。当定时器T1产生溢出时,TF1置l,并向CPU发出中断请求。(5)RI/TI:片内串行口发送/接收中断请求。当通过串行口发送或接收完一帧串行数据时,串行口中断请求标志TI或RI置1,并向CPU发出中断请求。,2中断源请求标志MCS-51单片机的中断系统中,使用何种中断,采用何种触发方式,可通过定时器/计数器控制寄存器TCON和串行控制寄存器SCON的有关位来规定。只要根据这些位的状态就能确定有无中断请求及中断的来源。,1)定时器/计数器控制寄存器(TCON)TCON是定时器/计数器控制寄存器,字节地址为88H,位地址88H8FH。它用于保存外部中断请求以及定时器的计数溢出,寄存器的内容及位地址表示如下(与中断有关的位有6位):,(1)IE0和IE1外部中断请求标志。当CPU采样到(或)端出现中断请求时,IE0(或IE1)位由硬件置“1”。在中断响应完成后转向中断服务时,再由硬件自动清0。,(2)IT0和IT1选择外部中断源触发方式控制位。当IT0=0时,为电平触发方式。在这种方式下,CPU在每个机器周期的S5P2期间采样(P3.2)引脚输入电平。若采样为低电平,认为有中断申请,则置IE0标志为1;若采样为高电平,认为无中断申请或中断申请已撤除,则将IE0标志清0。注意,在电平触发方式下,CPU响应中断后不会自动清除IE0标志,也不能由软件清除IE0标志,所以在中断返回前,一定要撤消引脚上的低电平,使IE0置0,否则将再次引起中断。,当IT0=1时,为边沿触发方式。CPU在每个机器周期的S5P2期间采样引脚输入电平。如果连续两次采样,一个机器周期中采样为高电平,接着下个机器周期中采样为低电平,则置IE0标志为1,表示外部中断0正在向CPU申请中断。当CPU响应该中断时,IE0由硬件自动清0。由于每个机器周期采样一次外部中断输入电平,在边沿触发方式中,为保证CPU在两个机器周期内检测到由高到低的负跳变,必须保证外部中断源输入的高电平和低电平的持续时间在12个时钟周期以上。,IT1是选择外部中断1()触发方式的控制位。其操作功能与IT0类同。(3)TF0和TF1片内定时器/计数器计数溢出标志。定时器/计数器被启动后,从初始值开始进行加1计数,当最高位产生溢出时置该标志位为1(TF0/TF1),向CPU申请中断,直到CPU响应该中断时,才由硬件自动将该标志位清0。定时器/计数器的计数溢出标志位的使用有两种情况:采用中断方式时,作中断请求标志位来使用;采用查询方式时,作查询状态位来使用。,2)串行口控制寄存器(SCON)SCON是串行口控制寄存器,寄存器地址98H,位地址98H9FH。寄存器的内容及位地址(与中断有关的只有它的低两位TI和RI)如下:,(1)TI(SCON.1)串行口发送中断请求标志位。当CPU将一个要发送的数据写入串行口发送缓冲器时,就启动发送。每发送完一个串行帧,由硬件置位TI。注意:当CPU响应中断时,TI不能由硬件清0,必须由软件清0。,(2)RI(SCON.0)串行口接收中断请求标志位。当允许串行口接收数据时,每接收完一个串行帧,由硬件置位RI。同样,RI必须由软件清0。串行中断请求由TI和RI的逻辑或得到,即无论是发送标志TI还是接收标志RI,都会产生串行中断请求。注意:CPU复位后,TCON和SCON各位清0。,5.1.3中断响应的控制在MCS-51单片机的中断系统中,由中断源向CPU发出中断请求,但CPU是否响应,怎样响应,就得由中断允许控制寄存器以及中断优先级控制寄存器来决定。,1中断允许控制寄存器(IE)中断允许控制寄存器IE的字节地址为A8H,位地址为0A8H0AFH。通过对IE的编程写入,控制CPU对中断源的开放或禁止,以及对每一中断源是否允许中断。寄存器的内容及地址表示(与中断有关的控制位共有6位)如下:,(1)EACPU中断允许总控制位。EA=1,CPU开放中断,这时每个中断源的中断请求被允许或禁止,取决于各自中断允许位的置1或清0。EA=0,CPU屏蔽所有的中断请求,即关中断。(2)ES串行口中断允许控制位。ES=1,允许串行口中断。ES=0,禁止串行口中断。(3)ET1和ET0定时器/计数器中断允许控制位。ETl(ET0)=1,允许T1(T0)中断。ET1(ET0)=0,禁止T1(T0)中断。,(4)EX1和EX0外部中断允许控制位。EX1(EX0)=1,允许外部中断1(0)中断。EX1(EX0)=0,禁止外部中断1(0)中断。在MCS-51单片机系统复位后,IE中各位均被清0,即处于禁止所有中断源的状态,可在系统初始化程序中对IE寄存器编程。注意:以上所说“禁止”并不能禁止中断源的中断请求,它只是禁止CPU去响应中断请求。,2中断优先级控制寄存器(IP)MCS-51单片机中断系统具有两级中断优先级管理。每一个中断源均可通过对中断优先级寄存器IP的设置,选择高优先级中断或低优先级中断,并可实现二级中断嵌套。中断优先级寄存器IP的字节地址为0B8H,位地址为0B8H0BFH。通过对IP的编程,可实现将l个中断源分别设置为高优先级中断或低优先级中断。其格式如下:,(1)PS串行口中断优先级设定位。PS=1,高优先级;PS=0,低优先级。(2)PT1片内定时器T1中断优先级设定位。PTl=1,高优先级;PT1=0,低优先级。(3)PX1外部中断1中断优先级设定位。PX1=1,高优先级;PX1=0,低优先级。(4)PT0片内定时器T0中断优先级设定位。PT0=1,高优先级;PT0=0,低优先级。(5)PX0外部中断0中断优先级设定位。PX0=1,高优先级;PX0=0,低优先级。,MCS-51单片机中断优先级管理遵循的基本原则是:高优先级中断源可中断正在执行的低优先级中断服务程序,除非在执行低优先级服务程序时,设置了CPU关中断或禁止某些高优先级中断源的中断;同级或低优先级中断源不能中断正在执行的中断服务程序。为了符合上述原则,在中断系统内部设置了两个用户不可访问的优先级状态触发器。其中一个是高优先级状态触发器,置1时表示当前服务的中断是高优先级的,以阻止其他中断申请;另一个是低优先级状态触发器,置1时表示当前服务的中断是低优先级的,它允许被高优先级的中断申请所中断。,当系统复位时,IP寄存器被清0,将5个中断源均设置为低优先级中断。如果同一级的几个中断源同时向CPU申请中断,CPU便通过内部硬件查询逻辑按自然优先级决定响应顺序。各中断源按自然优先级由高到低的排列顺序如表5-1所示。,表5-1同级中断源内部自然优先级顺序,5.1.4中断服务的流程1响应中断的条件及过程中断处理过程一般分为3个阶段,即中断响应、中断处理和中断返回。1)中断响应中断响应是指在满足CPU的中断响应条件之后,CPU对中断源中断请求的回答。在这个阶段,CPU要完成中断服务以前的所有准备工作,包括保护断点及把程序转向中断程序的入口地址。,(1)CPU响应中断的基本条件如下:有中断源发出中断申请;中断总允许位EA=1,即CPU开放中断;请求中断的中断源的中断允许位置1,即该中断源可以向CPU发中断申请。CPU在每个机器周期的S5P2期间,采样中断源,而在下一个机器周期的S6期间按优先级顺序查询各中断标志,如查询到某个中断标志为1,将在再下一个机器周期S1期间按优先级顺序进行中断处理。但在下列任何一种情况存在时,中断响应会被阻止。,CPU正在执行同级或高一级的中断服务程序;现行机器周期不是正在执行的指令的最后一个机器周期,即现行指令完成前不响应任何中断请求;当前正在执行的是中断返回指令RETI或访问特殊功能寄存器IE或IP的指令。也就是说,在执行RETI或是访问IE、IP的指令后,至少需要再执行条其他指令,才会响应中断请求。中断查询在每个机器周期都要重复执行。如果CPU响应中断的基本条件已满足,但由于上述3个封锁条件之一而未被及时响应,待封锁中断的条件撤消后,若中断标志也已消失,则本次被拖延的这个中断请求就不会被响应。,(2)中断响应过程。如果中断响应的条件满足,且不存在中断封锁的情况,则CPU将响应中断源的中断请求,进入中断响应周期。CPU在中断响应周期要完成下列操作:将相应的优先级状态触发器置1;由硬件清除相应的中断请求标志;执行一条由硬件生成的长调用指令LCALL。该指令将自动把断点地址(PC值)压入堆栈保护起来。然后将对应的中断入口地址送入程序计数器PC,使程序转向该中断入口地址(见表5-2)去执行中断服务程序。,表5-2中断源入口地址表,(3)中断服务与返回。中断服务程序从入口地址开始执行,一直到返回指令“RETI”为止,这个过程称为中断服务。在编写中断服务程序时应注意以下几点:因各入口地址之间只相隔8个字节,一般的中断服务程序是存放不下的。所以通常在中断入口地址单元处存放一条无条件转移指令,这样就可使中断服务程序灵活地安排在64KB程序存储器的任何空间。若要在执行当前中断程序时禁止更高优先级中断,可先用软件关闭CPU中断,或禁止某中断源中断,在中断返回前再开放中断。,在保护现场和恢复现场时。为了不使现场数据受到破坏或造成混乱,通常规定CPU不响应新的中断请求。因此在编写中断服务程序时,应注意在保护现场之前要关中断,在保护现场之后根据需要开中断,以便允许更高级的中断请求中断它。在恢复现场之前也应关中断,恢复现场后再开中断。中断服务程序的最后一条是返回指令RETI。RETI指令的执行标志着中断服务程序的结束,该指令将清除响应中断时被置位的优先级状态触发器,然后自动将断点地址从栈顶弹出,装入程序计数器PC,使程序返回到被中断的程序断点处,继续向下执行。,2)中断请求的撤除CPU响应中断请求后,在中断返回(RETI)前,该中断请求信号必须撤除,否则会引起另外一次中断。,但以上几种中断被响应时,中断请求标志并非都能被清除,这一点应引起注意。采用边沿触发的外部中断标志IE0或IE1和定时器中断标志TF0或TF1,CPU响应中断后,能用硬件自动清除,无需采取其他措施。但在电平触发时,IE0或IE1受外部引脚中断信号(或)的直接控制,CPU无法控制IE0或IE1,需要另外考虑撤除中断请求信号的措施。如通过外加硬件电路,并配合软件来解决;串行口中断请求标志TI和RI也不能由硬件自动清除,需要在中断服务程序中用软件来清除相应的中断请求标志。,
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!