Chapter6:中断系统:《单片机》笔记

Chapter6:中断系统

6.1 中断的基本概念

  1. 中断:

    CPU暂停正在执行的程序而转去为外设服务(或处理紧急事件),处理完毕再回到原程序继续执行的过程。

  2. 中断源:

    引起中断的原因,中断申请的来源。中断源可以是I/O设备、故障、时钟等。

  3. 中断优先级:

    当有多个中断源时,CPU优先响应最需紧急处理(优先级别高)的中断请求。

  4. 中断的嵌套:

    在中断系统中,高优先级的中断请求能中断正在进行的较低优先级的中断源处理。

  5. 中断系统:

    能实现中断功能并能对中断进行管理的硬件和软件。

6.2 中断系统结构(51单片机)

6.2.1 中断源:

8XX51有5个中断源,3个在片内,2个在片外(外部中断)。

每一个中断都有一个固定的中断入口地址,CPU响应中断时,会自动转入这些中断地址。

5个中断源有两级中断优先级,可形成中断嵌套。

5个中断源的符号、名称、产生条件及中断服务程序的入口地址如下:
在这里插入图片描述

6.2.2 中断控制的有关寄存器

  1. 中断允许寄存器IE (地址A8H)

    IE寄存器的各位对应相应的中断源,如果允许该中断源中断则该位置1,禁止中断则该位置0

    EA:中断总控开关。EA=1后才能进行中断。与后面的相当于是总开关,分开关。
    在这里插入图片描述

  2. 寄存器TCON(地址88H)
    在这里插入图片描述

  3. 中断优先级寄存器IP(地址B8H)
    在这里插入图片描述

  • 51单片机中断结构
    在这里插入图片描述

6.3 中断的响应过程

6.3.1 中断处理过程

  • 中断处理过程分为四个阶段:中断请求,中断响应,中断处理(服务)、中断返回

    中断请求、中断响应:由硬件完成
    中断服务:程序应根据需要进行编写。程序中要注意保护现场和恢复现场。
    中断返回:是通过执行一条RETI中断返回指令(子程序才用RET),使堆栈中被压入的断点地址送PC,从而返回主程序继续执行。另外RETI还有恢复优先级状态触发器(IP)的作用,因此不能以RET指令代替RETI指令。

  • 何时单片机不响应中断:

    ①当前正在执行的那条指令没执行完;
    ②当前响应了同级或高级中断;
    ③正在操作IE、IP寄存器或正在执行RETI指令。

  • 正常情况下,从中断请求到中断得到响应,通常需要3~8个机器周期,绝对不是中断一请求就能得到相应的。

6.3.2 中断请求的撤除

  • CPU响应中断后,应撤除该中断请求标志,否则会再次中断。

  • 边沿触发的外部中断INT1和INT0,CPU响应中断后,硬件自动清除中断请求标志IE0和IE1。

  • 电平触发的外部中断,CPU不会自动清除中断标志,因此,在CPU响应中断后应立即撤除INT1或INT0的低电平信号。

  • 对定时计数器T0、T1的中断,CPU响应中断后,硬件自动清除中断请求标志TF0、 TF1。ch7

  • 对于串行口中断,CPU响应中断后,中断请求标志TI、RI不会自动清除,必须用软件清除,这在编写串行通信中断服务中应该注意的。ch8

6.4 中断的应用编程

6.4.1 概述

  • 用户对中断的控制和管理,实际是对4个与中断有关的寄存器IE、TCON、IP、SCON进行控制或管理。

  • 这几个寄存器在单片机复位时是清零的,因此必须根据需要对这几个寄存器的有关位进行预置。

  • 在中断程序的编制中应注意:

    1. 中断总控开关EA=1,某中断源的中断允许位=1
    2. 对外部中断INT0、INT1应选择中断触发方式
    3. 多个中断源中断,应设定中断优先级,预置IP
  • 实际操作

    51单片机5个中断服务程序的中断入口地址为:0003H、000BH 、0013H、001BH、0023H,

    由于这五个中断入口地址之间相距很近,可能装不下一个中断服务程序。

    通常将中断服务程序安排在程序存贮器的其他地址空间,而在入口地址的单元中安排一条转移指令。

6.4.2 程序设计实例

在这里插入图片描述

6.5 小结

(1)中断技术是实时控制中的常用技术,51系列单片机有3个内部中断,2个外部中断。所谓外部中断就是在外部引脚上有产生中断所需要的信号。
每个中断源有固定的中断服务程序的入口地址(或称向量地址)。当CPU响应中断后,单片机内部硬件能自动的跳转到该地址。因此,应该熟记这些中断入口地址。(编程时或在此存放一条转移指令)

(2)单片机的中断是靠内部的寄存器管理的,这就是中断允许寄存器IE和中断优先权寄存器IP ,必须在CPU开中断(即开全局中断)EA=1,以及开各中断源的中断开关时,CPU才能响应该中断源的中断请求,其中缺一不可。

(3)本章重点应掌握中断的基本概念,并能熟练编制中断程序。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值