STC8A8K64S4A12系列单片机中断原理详解

描述

前言

今天来说说单片机中断原理,概念搞清楚很重要!

一、关于中断的一些概念

  1. 中断的概念:当CPU正在处理某件事的时候外界发生了紧急事件请求,要求CPU暂停当前的工作,转而去处理这个紧急事件,处理完以后,再回到原来被中断的地方,继续原来的工作,这样的过程称之为中断。
  2. 中断系统:实现中断功能的部件称为中断系统,中断系统是为CPU具有对外界紧急事件的实时处理能力而设置的。
  3. 中断请求源:请示CPU中断的请求源即为中断请求源,简称中断源。
  4. 中断优先级:中断系统一般允许多个中断源,当几个中断源同时向CPU请求中断,那就诞生一个优先处理哪个中断源的问题,这样中断优先级便产生了。
  5. 中断嵌套:CPU按照中断源的中断优先级处理一个低优先级中断的时候,假如有另外一个更高优先级的中断源发出中断请求,那CPU需要暂停原来中断源的服务程序,转而去处理更高优先级的中断源,待处理结束后,再回到原低优先级的中断服务程序,这个过程就是中断嵌套。

二、STC8A8K64S4A12系列的中断请求源

■ STC8A8K64S4A12系列单片机有22个中断请求源。具体如下:

  • 5个外部中断:外部中断0/INT0、外部中断1/INT1、外部中断2/INT2、外部中断3/INT3、外部中断4/INT4 。
  • 5个定时器中断:定时器0中断、定时器1中断、定时器2中断、定时器3中断、定时器4中断 。
  • 4个串口中断:串口1中断、串口2中断、串口3中断、串口4中断 。
  • 1个A/D转换中断。
  • 1个低压检测(LVD)中断。
  • 1个CCP/PWM/PCA中断。
  • 1个SPI中断。
  • 1个比较器中断。
  • 1个PWM中断。
  • 1个PWM异常检测中断。
  • 1个I2C中断。

■ 比较常用的中断是:外部引脚中断、定时器中断、串行口(UART)中断。
■ 在讲到每一部分知识时,我们都会详细讲解相关的中断使用原理。
■ 下图是STC8A8K64S4A12系列的中断结构图,大家需要了解的是:

  • 所有中断使能的话都必须有个“总闸”控制,那就是总中断允许位EA。
  • 有多个中断一起触发时,如何仲裁以保证有序的先后执行顺序,那就存在中断优先级的问题。
  • 关于中断,有个不可回避的概念,那就是中断向量。

三、关于中断的一些概念STC8A8K64S4A12系列的中断结构图

计数器

四、STC8A8K64S4A12系列的中断优先级

STC8A8K64S4A12系列单片机自然优先级:手册里面称之为辅助优先级结构或者内部的查询次序。如下图。

计数器

在C语言编程时,中断查询次序号就是中断号,例如,针对外部中断0的中断服务函数:

void INT0_Isr (void) interrupt  0
         {
               ;   //添加中断处理语句
           }	


STC8A8K64S4A12系列单片机中断优先级的设置: STC8A8K64S4A12系列单片机通过设置特殊功能寄存器(IP、IPH、IP2和IP2H)中的相应位,对有4个优先级中断的中断请求源进行编程。

计数器

仅有1个中断优先级(最低优先级0)的是:外部中断2/INT2、外部中断3/INT3、定时器2、定时器3、定时器4、串行口3、串行口4。(共7个)

STC8A8K64S4A12系列IP和IPH寄存器各位含义介绍如下:

计数器

STC8A8K64S4A12系列IP2和IP2H寄存器各位含义介绍如下:

STC8A8K64S4A12系列单片机中断嵌套: 中断优先级高的中断请求可以中断CPU正在处理的优先级低的中断服务程序,待完成了中断优先级高的中断服务程序后,再继续被打断的低优先级的中断服务程序。

下图描述了主程序和中断服务程序的示意图,也诠释了中断嵌套的含义。

中断比喻举例,以下情形:

  • 只有排长或者团长给士兵打电话;
  • 排长和团长同时给士兵打电话;
  • 士兵已在排长地里接到团长电话;
  • 士兵已在团长地里接到排长电话;
  • 士兵同时接到两个排长的电话;
  • 士兵同时接到两个团长的电话。

STC8A8K64S4A12系列单片机中断产生而且被CPU响应,主程序被中断,接下来将执行如下操作:

  • 当前正被执行的指令全部执行完毕。
  • PC值被压入栈。
  • 现场保护。
  • 阻止同级别或更低级别其他中断。
  • 将中断向量地址装载到程序计数器PC。
  • 执行响应的中断服务程序。

中断向量:当某中断被响应时,被装载到程序计数器PC的数值称为中断向量,是该中断源相对应的中断服务程序的起始地址。具体各中断源服务程序的入口地址就不一一列举了。

总结

不知道说的够不够清楚,望大家指正!

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

全部0条评论

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

×
20
完善资料,
赚取积分