1 浅谈51单片机的中断控制-德赢Vwin官网 网

浅谈51单片机的中断控制

控制/MCU

1890人已加入

描述

51系列单片机有5个中断源,2个优先级,可以实现二级中断服务嵌套结构。

现在很多兼容51的单片机已经有4个优先级(或更多)和更多的中断源了。

51单片机

想要研究中断的嵌套,应该从中断优先级入手。

一些资料中,把有关中断优先级的中断响应原则,写成如下三条:

1、CPU同时接收到几个中断申请时,首先响应优先级级别最高的中断请求;

2、正在进行的中断过程不能被新的同级或低优先级的中断请求所中断;

3、正在进行的低优先级中断过程,能被高优先级中断请求所中断。

中断优先级的设置,是在IP寄存器中进行,IP称为中断优先级控制寄存器。

把IP中的某位置为1,则相应的中断源为高优先级;为0,则为低优先级。

当把5个中断源,划分成两个优先级之后,它们的中断程序之间,就可以呈现出嵌套的现象了。

根据前面所说的中断响应原则,可以看出:

出现中断嵌套的要求比较高,只有高优先级的中断源,才可以中断正在进行的低优先级的中断过程。

而同级别的中断源,则不能互相中断,不能形成中断嵌套;低级别中断申请,就更不能中断高级别中断过程的了。

中断的优先级,是个实现嵌套的关键因素。

---------------------

响应中断前,CPU首先要查询各个中断源的申请标志。

当各个中断源的级别相同的时候,CPU的查询次序是:

外部中断0、定时/计数0、外部中断1、定时/计数1 和 串行接口

这个次序称为“自然优先级”。

“自然优先级”,并非是“优先级”。

自然优先级的不同,并不能引出中断的嵌套现象,因为它们的“优先级”是相同的。

----------------------

根据前面所介绍的可知:

优先级,能够影响中断的嵌套;

自然优先级,只是CPU查询的次序,不影响中断的嵌套。

----------------------

在百度知道中,发现有些网友对此基本概念不很清楚。

网友用“自然优先级”,代替了“优先级”,来讨论中断嵌套的问题,这个观点是明显错误的。

为了澄清基本概念,做而论道特写出本篇短文。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分
vConsole
Object {abort: [object Function], always: [...
GET <script> error: https://zz.bdstatic.com/linksubmit/push.js
      Location: https://www.hzfubeitong.com/m/article/670510.html
      Client: Unknown
      UA: Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
      navigationStart: 1736857631027
      navigation: 902ms
      dns: 244ms
      tcp (ssl): 129ms (64ms)
      request: 2421ms
      response: 1ms
      Name (5)
      Method
      Status
      Time
      getListByPlaAndLoc
      POST
      0
      259
      General
      URL
      https://advert-server.elecfans.com/api/advert/getListByPlaAndLoc
      Method
      POST
      Type
      xhr
      Request Headers
      X-Requested-With
      XMLHttpRequest
      Content-type
      application/x-www-form-urlencoded;charset=UTF-8
      Request Payload
      platform
      elecfans
      location
      47
      user_id
      0
      status
      1
      page
      1
      limit
      100
      url
      https://www.hzfubeitong.com/m/article/670510.html
      tag_id
      681,4642
      Response
            
      getListByPlaAndLoc
      POST
      0
      272
      General
      URL
      https://advert-server.elecfans.com/api/advert/getListByPlaAndLoc
      Method
      POST
      Type
      xhr
      Request Headers
      Content-Type
      application/x-www-form-urlencoded; charset=UTF-8
      Accept
      */*
      Request Payload
      platform
      elecfans
      location
      73
      user_id
      0
      status
      1
      page
      1
      limit
      100
      url
      https%3A%2F%2Fwww.hzfubeitong.com%2Fm%2Farticle%2F670510.html
      tag_id
      681%2C4642
      Response
            
      arcinfo?dopost=arcinfo&aid=670510
      GET
      Pending
      0
      General
      URL
      https://www.hzfubeitong.com/webapi/arcinfo?dopost=arcinfo&aid=670510
      Method
      GET
      Type
      xhr
      Request Headers
      Accept
      application/json, text/javascript, */*; q=0.01
      X-Requested-With
      XMLHttpRequest
      Query String Parameters
      dopost
      arcinfo
      aid
      670510
      Response
            
      getSchooleList
      POST
      Pending
      0
      General
      URL
      /home/Article/getSchooleList
      Method
      POST
      Type
      xhr
      Request Headers
      Accept
      */*
      Request Payload
      [object Object]
      Response
            
      getList?aid=670510&page=1
      GET
      Pending
      0
      General
      URL
      /comment/getList?aid=670510&page=1
      Method
      GET
      Type
      xhr
      Request Headers
      Accept
      application/json, text/javascript, */*; q=0.01
      X-Requested-With
      XMLHttpRequest
      Query String Parameters
      aid
      670510
      page
      1
      Response
            
      Key
      Value
      Empty