51单片机中断基本概念

发布时间:2023-01-12  

问题引入

在了解基本概念之前,先看三个问题:

1.你想使用的中断是哪个?

2.你所希望的触发条件是什么?

3.你希望在中断之后做什么?

可以边看边思考,文章最后给出答案


中断概念

为什么引入中断?

中断是为使单片机具有对外部或内部随机发生的事件实时处理而设置的,中断功能的存在,很大程度上提高了单片机处理外部或内部事件的能力。

中断系统特点:

①分时操作。CPU 可以分时为多个 I/O 设备服务,提高了计算机的利用率;

②实时响应。CPU 能够及时处理应用系统的随机事件,系统的实时性大大增强;

③可靠性高。CPU 具有处理设备故障及掉电等突发性事件能力,从而使系统可靠性提高

中断过程

对于单片机来讲,中断是指CPU在处理某一时间A时,发生了另一事件B请求CPU立刻去处理(中断发生或中断请求);CPU暂时停止当前的工作(中断响应),转而去处理事件B(中断服务),待CPU处理事件B完成后,再回到原来事件A被中断的地方继续处理事件A(中断返回)。这一过程称为中断,注意是整个过程,而不是单一的停止一件事的意思。

举例:你打开火,烧上一壶水。然后去洗衣服,在洗衣服的过程中,突然听到水壶发出水开的报警声,这时,你停止洗衣服动作,立即去关掉火,然后将开水灌入暖水瓶中,灌完开水后,你又回去继续洗衣服。这个过程中实际上就发生了一次中断。

对照图:

程序流程图

单片机在执行程序时,中断也随时有可能发生,但无论何时发生,只要一旦发生,单片机将立即暂停当前程序,赶去处理中断程序,处理完中断程序后再返回刚才暂停处接着执行原来的程序。


中断系统:实现中断过程

中断源:请示CPU中断的请求源。微型机的中断系统一般允许多个中断源,当几个中断源同时向 CPU 请求中断,要求为它服务的时候,这就存在CPU 优先响应哪一个中断源请求的问题。通常根据中断源的轻重缓急排队,优先处理最紧急事件的中断请求源,即规定每一个中断源有一个优先级别。CPU 总是先响应优先级别最高的中断请求。

中断嵌套:当单片机正在执行中断请求时,又出现了一个比正在执行的优先级更高的中断请求,则先停止正在执行的中断请求,执行优先级高的中断请求,等执行完后再执行原来优先级较低的中断请求。

拥有中断嵌套的中断系统称为多级中断系统,没有嵌套功能的为单级中断系统。

中断结构

大多数单片机共提供8个中断请求源,但是一定有最基本的5个中断。

中断:

外部中断0(INTO)、外部中断 1(INT1)、外部中断 2(INT2)、外部中断 3(INT3)、定时器 0中断、定时器 1 中断、定时器 2 中断、串口(UART)中断。

基本中断:

INT0、INT1、定时器 0,定时器1,串口中断。

中断请求标志位TCON


IT0(TCON.0),外部中断 0 触发方式控制位。

当 IT0=0 时,为电平触发方式。

当 IT0=1 时,为边沿触发方式(下降沿有效)。

IE0(TCON.1),外部中断 0 中断请求标志位。

IT1(TCON.2),外部中断 1 触发方式控制位。

IE1(TCON.3),外部中断 1 中断请求标志位。

TF0(TCON.5),定时/计数器 T0 溢出中断请求标志位。

TF1(TCON.7),定时/计数器 T1 溢出中断请求标志位。

注:外部中断0和1(IT0和IT1)为0或1时是两种触发方式,低电平触发和边沿触发,是控制位不是标志位。


中断允许控制

CPU 对中断系统所有中断以及某个中断源的开放和屏蔽是由中断允许寄存器IE 控制的。

各中断的中断允许位:

EX0(IE.0),外部中断 0 允许位;

ET0(IE.1),定时/计数器 T0 中断允许位;

EX1(IE.2),外部中断 1允许位;

ET1(IE.3),定时/计数器 T1 中断允许位;

ES(IE.4),串行口中断允许位;

EA (IE.7), CPU 中断允许(总允许)位。

注意:总中断允许位就是是总开关一样,只有总允许位有效的前提下,其它中断置允许位才能使中断有效。


中断优先级

同一优先级中的中断申请不止一个时,则有中断优先权排队问题。同一优先级的中断优先权排队,由中断系统硬件确定的自然优先级形成,其排列如所示:

中断优先级三条原则:


首先响应高优先级的中断请求。

2.高优先级的中断请求可以打断低优先级的中断。

3.低优先级的中断请求不可以打断高优

先级及同优先级的中断。

中断号

中断号在编程时非常重要,当中断来临时,只有中断号正确才能进入中断。

中断响应条件

①中断源有中断请求;

②此中断源的中断允许位为 1;

③CPU 开中断(总允许位)(即 EA=1)。

以上三条同时满足时,CPU 才有可能响应中断

如图,为中断内部结构框图:

TCON为中断请求标志,其中外部中断0和外部中断1可选择控制方式低电平有效还是下降沿有效。

,IE为中断允许位,可以看到,只有EA等于1时,其他中断允许才可能有效。

从图中可以看出,一个中断过程:中断位(确定哪一个中断)->中断标志位->中断允许位->中断总允许位->中断执行功能。


问题引入及解答(中断应用举例)

回到上面的三个问题

1.你想使用的中断是哪个?

每一个中断都对应一个中断号,要想使用某一中断就选择对应的中断号。

2.你所希望的触发条件是什么?

外部中断的触发调件触发条件可分为低电平触发和下降沿触发,要明确触发条件。

3.你希望在中断之后做什么?

即中断服务函数,函数里要做什么,执行什么样的功能。

以外部中断0为例:

EA=1;//打开总中断开关

EX0=1;//开外部中断 0

IT0=0/1;//设置外部中断的触发方式


/*中断服务函数*/

void int0() interrupt 0 using 1//intterrupt表示中断,0表示中断号,using1可省略

{

//编写用户所需的功能代码

}


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>