单片机中断系统 单片机中断系统是指计算机在执行某一程序的过程中,由于计算机系统内、外的某种原因,而必须中止原程序的执行,转去执行相应的处理程序,待处理结束之后,再回来继续执行被中止的原程序的过程。 中断系统的应用非常广泛,例如在实时控制系统中,可以及时处理系统中许多随机的参数和信息,同时也提高了计算机处理故障与应变的能力。 中断系统的组成部分包括中断源、中断优先级和中断响应。中断源是指在计算机系统中可以向CPU发出中断请求的来源,通常有I/O设备、实时控制系统中的随机参数和信息故障源等。中断优先级越高,则响应优先权就越高。当CPU正在执行中断服务程序时,又有中断优先级更高的中断申请产生,这时CPU就会暂停当前的中断服务转而处理高级中断申请,待高级中断处理程序完毕再返回原中断程序断点处继续执行,这一过程称为“中断嵌套”。 中断响应的一般过程包括检测中断请求信号、保护现场、中断服务、恢复现场和返回。 Firstly, 在每条指令结束后,系统都自动检测中断请求信号,如果有中断请求且CPU处于开中断状态下,则响应中断。 Secondly, 保护现场,即在保护现场前, 一般要关中断,以防止现场被破坏。保护现场一般是用堆栈指令将原程序中用到的寄存器推入堆栈。 Thirdly, 中断服务,即为相应的中断源服务。 Fourthly, 恢复现场,用堆栈指令将保护在堆栈中的数据弹出来,在恢复现场前要关中断,以防止现场被破坏。在恢复现场后应及时开中断。 Lastly, 返回,此时 CPU将推入到堆栈的断点地址弹回到程序计数器,从而使CPU继续执行刚才被中断的程序。 MCS-51单片机中断系统是指MCS-51单片机中的中断系统。MCS-51单片机有5个(8052有6个)中断源,即外部中断0、外部中断1、定时器/计数器0、定时器/计数器1和串行口中断。为了使每个中断源都能独立地被允许或禁止,以便用户能灵活使用,CPU内部在每个中断信号的通道中设置了一个中断允许触发器,它控制CPU能否响应中断。 中断控制寄存器包括中断允许控制寄存器IE和中断优先级控制寄存器IP。中断允许控制寄存器IE用于控制每个中断源的允许触发器,而中断优先级控制寄存器IP用于控制每个中断源的优先级。 例如,在某软件中,对寄存器IE、IP设置如下:MOV IE, #8FH MOV IP, #06H 则此时该系统中:CPU中断允许;允许外部中断0、外部中断1、定时器/计数器0、定时器/计数器1提出的中断申请。 此外,中断响应还遵循两条规则:低优先级中断可以被高优先级中断所中断,反之不能;一种中断(不论哪个优先级)一旦得到响应,与它同级的中断不能再中断它。 在同时收到处于同一优先级的多个中断请求时,哪一个中断能得到响应,取决于“内部查询次序”,相当于在每个优先级中,还有一个“内部优先级”,如下表所示: 单片机中断系统是计算机系统中一个非常重要的组成部分,它可以使计算机系统更加灵活和高效。但是,中断系统的设计和实现也需要非常小心和仔细,以免引起系统的不稳定和崩溃。
剩余42页未读,继续阅读
- 粉丝: 3815
- 资源: 59万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
评论0