Contents
- 1> 定义
- 2> 作用
- 3> 组成
- 3.1> 中断系统结构
- 3.2> 8个中断源
- 3.3> 中断向量
- 3.4> 中断优先级
- 4> 原理
- 5> 应用
1> 定义
中断(interrupt)是指:
CPU执行某一程序过程中,由于系统内,或外部某种原因,
必须中止原程序的执行,
转去执行相应的处理程序,
处理结束后,再回来继续执行原程序的【过程】
2> 作用
解决CPU与外设之间速度匹配问题,使计算机可以及时处理系统中许多随机的参数和信息;
3> 组成
3.1> 中断系统结构
3.2> 8个中断源
4种中断控制:硬件实现,软件设置;
1》中断触发方式;
2》中断允许控制;
3》中断请求标志;
4》中断优先级控制;
3.3> 中断向量
中断向量(Interrupt Vector):是程序存储器的一个地址,表明一个中断服务程序从这里开始存放。
中断发生后要通过它引导CUP转【向】相应的中断服务
正因为具有【指定性】,所以称其为中断向量。
3.4> 中断优先级
中断原则:
只有【高】优先级中断 打断【低】优先级;
硬件设计,同级中断优先级:
0> 外部中断 0;
1> 定时器0中断;
2> 外部中断1;
3> 定时器1中断;
4> 串口中断;
5> 定时器2中断;
6> 外部中断2;
7> 外部中断3;
4> 原理
CPU中断响应过程,以外部中断0(INT0#)为例:
Step 1> CPU每个机器周期对芯片引脚P3.2(INT0)采样;
Step 2> CPU根据采样结果设置中断标志位(IE0);
Step 3> CPU中断查询,CPU逐个检测中断标志位;
Step 4> 中断响应,程序计数器PC的值压栈;
Step 5> 外部中断入口地址(0003H)装入程序计数器PC,执行中断服务服务程序,此时中断标志位硬件清0;
Step 6> 中断返回,将PC值从栈中取出,执行主程序;
- 内部中断不需要 Step 1> 对引脚采用;
5> 应用
硬件平台:普中-A7开发板, STC89C516R
功能实现:
主程序中,数码管循环显示0~F;
用外部中断0,实现按键按下的下降沿,LED1状态翻转;
在这里插入代码片