复习单片机:中断系统(内含1.中断概念+2 中断结构及相关寄存器)(注:相关寄存器是重点)

简介: 复习单片机:中断系统(内含1.中断概念+2 中断结构及相关寄存器)(注:相关寄存器是重点)

1.中断概念

在前面章节,我们通过介绍 51 单片机 IO 口学习了很多相关的实验。从最简

单的 LED 到数码管动态扫描再到 LED 点阵以及电机控制,无不体现学习 51 单片

机 IO 口操作的重要性。在前面章节,我们还提到了学习 51 单片机的重点及难点

主要有中断、定时器、串口等内容,这部分内容大家一定要认真掌握,这部分没

有学好就不能说学会了51单片机。因此专门用一章来介绍51单片机的中断系统,

为后面学习外部中断、定时器中断、串口中断做好铺垫。

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

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

单片机在执行程序时其程序流程图如下:


91f863f9d7934246acddaeec0f8f7c3a.png


引起 CPU 中断的根源称为中断源。中断源向 CPU 提出中断请求,CPU 暂时

中断原来的事务 A,转去处理事件 B,对事件 B 处理完毕后,再回到原来被中断

的地方(即断点),称为中断返回。实现上述中断功能的部件称为中断系统(中断

机构)。

当 CPU 正在处理一个中断源请求的时候(执行相应的中断服务程序),发生 了另外一个优先级比它还高的中断源请求。如果 CPU 能够暂停对原来中断源的 服务程序,转而去处理优先级更高的中断请求源,处理完以后,再回到原低级中 断服务程序,这样的过程称为中断嵌套。这样的中断系统称为多级中断系统,没 有中断嵌套功能的中断系统称为单级中断系统。

2 中断结构及相关寄存器

(1) 中断结构

STC89C5X 系列单片机提供了 8 个中断请求源,它们分别是:外部中断

O(INTO)、外部中断 1(INT1)、外部中断 2(INT2)、外部中断 3(INT3)、定时器 0

中断、定时器 1 中断、定时器 2 中断、串口(UART)中断。( 注意:51 系列单片

机一定有基本的 5 个中断,但不全有 8 个中断,需要查看芯片手册,通常我

们使用的都是基本的 5 个中断:INT0、INT1、定时器 0/1,串口中断 )。所有的

中断都具有四个中断优先级(基本型只有两个)。


ab69d01c9a5d497490142b30aa178d67.png


①INT0 对应的是 P3.2 口的附加功能,可由 IT0(TCON.0)选择其为低电平有 效还是下降沿有效。当 CPU 检测到 P3.2 引脚上出现有效的中断信号时,中断标 志 IE0(TCON.1)置 1,向 CPU 申请中断。

②INT1 对应的是 P3.3 口的附加功能,可由 IT1(TCON.2)选择其为低电平有 效还是下降沿有效。当 CPU 检测到 P3.3 引脚上出现有效的中断信号时,中断标 志 IE1(TCON.3)置 1,向 CPU 申请中断。

③T0 对应的是 P3.4 口的附加功能,TF0(TCON.5),片内定时/计数器 T0 溢 出中断请求标志。当定时/计数器 T0 发生溢出时,置位 TF0,并向 CPU 申请中断。

④T1 对应的是 P3.5 口的附加功能,TF1(TCON.7),片内定时/计数器 T1 溢出中断请求标志。当定时/计数器 T1 发生溢出时,置位 TF1,并向 CPU 申请中

断。

⑤RXD 和 TXD 对应的是 P3.0 和 P3.1 口的附加功能,RI(SCON.0)或 TI (SCON.1),串行口中断请求标志。当串行口接收完一帧串行数据时置位 RI 或 当串行口发送完一帧串行数据时置位 TI,向 CPU 申请中断。

2.2 中断相关寄存器


( 1)中断允许控制

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

IE 控制的。


80a560eef0654074977d6f24522f93d8.png


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

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

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

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

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

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

( 2)中断请求标志 TCON


febb04d19ca843a3a233b6533458de3a.png


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

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

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

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

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

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

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

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

( 3)中断优先级


5e12a0f1633e4095a7c674aa0412ee24.png


同一优先级中的中断申请不止一个时,则有中断优先权排队问题。同一优先

级的中断优先权排队,由中断系统硬件确定的自然优先级形成,其排列如所示:

( 4)中断号


7c851726ad1e4b6786f9abf94583e935.png


( 5)中断响应条件

主程序中需要有以下代码:

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

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

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

中断服务函数:


void int0() interrupt 0 using 1
{
//编写用户所需的功能代码
}

在中断函数中 int0 是函数名,可自定义,但必须符合 C 语言标识符定义规

则,interrupt 是一个关键字,表示 51 单片机中断。后面的“0”是中断号,外

部中断 0 中断号为 0,这个可参考前面的内容。后面的 using 1 可省略不写。


相关文章
|
7月前
|
开发框架 .NET 网络性能优化
MCS-51单片机的基本结构
MCS-51单片机的基本结构
521 1
|
2月前
|
传感器 编解码 人机交互
基于51单片机的温室大棚环境检测系统
基于51单片机的温室大棚环境检测系统
72 0
|
7月前
|
传感器 数据采集 监控
LabVIEW单片机的废气再循环EGR检测系统
LabVIEW单片机的废气再循环EGR检测系统
54 0
|
7月前
|
存储 监控 芯片
单片机的扩展结构
单片机的扩展结构
196 2
|
7月前
|
存储
MCS-51单片机的中断源
MCS-51单片机的中断源
290 1
|
7月前
|
传感器
基于51单片机的车辆倒车雷达报警系统
该文描述了一个基于51单片机的超声波倒车雷达系统设计,要求包括:2cm至4m的测量范围,3mm精度,集成DS18B20温度传感器以校准声速,使用LCD1602显示距离和温度,具备按键设置预警距离及蜂鸣器报警功能。系统由AT89C51单片机、HC-SR04超声波模块、DS18B20温度模块、报警电路和LCD显示电路组成。文中还展示了Proteus仿真电路图和部分仿真结果分析,包括LCD显示示例和预警距离设置操作。
|
7月前
|
芯片
AT89S52单片机的最小应用系统
AT89S52单片机的最小应用系统
120 0
|
7月前
|
传感器 数据处理 芯片
基于51单片机的自动售货机系统
该项目设计了一个基于AT89C51单片机的自动售货机系统,采用4×4矩阵键盘选择货物和投入货币,LCD1602液晶显示购物状态和货币状态,LED显示货物选择和出货情况。系统通过货币传感器检测投入的真伪和金额,根据商品价格进行找零。功能包括选择货物、货币识别、自动计算总价、出货与找零。仿真电路展示了从欢迎界面到购物、投币、出货或找零的过程。程序设计中包含了状态定义和延时函数等。
|
7月前
|
存储
【51单片机】初学者必读的一文【探究定时计数器与中断系统是如何配合起来的?】(9)
【51单片机】初学者必读的一文【探究定时计数器与中断系统是如何配合起来的?】(9)