目标:中断系统的理解
1.中断简介
中断
中断:cpu在正常执行程序的过程中,计算机内部或外部发生了另一件事请求cpu迅速去处理,cpu暂停停止当前程序的运行,而转去处理所发生的事件,处理完就返回原来暂停的地方,继续执行原来的任务
随着计算机技术的应用,人们发现中断技术不仅解决了快速主机与慢速I/O设备的数据传送问题,而且还具有如下优点:
①分时操作。CPU可以分时为多个I/O设备服务,提高了计算机的利用率;
②实时响应。CPU能够及时处理应用系统的随机事件,系统的实时性大大增强;
③可靠性高。CPU具有处理设备故障及掉电等突发性事件能力,从而使系统可靠性提高。
2.中断系统结构
系统构造
①INT0(P3.2),当CPU检测到P3.2引脚上出现有效的中断信号时,中断标志IE0(TCON.1)置1,向CPU申请中断。可由IT0(TCON.0)选择其为低电平有效(置0)还是下降沿有效(置1)。
②INT1(P3.3),当CPU检测到P3.3引脚上出现有效的中断信号时,中断标志IE1(TCON.3)置1,向CPU申请中断。可由IT1(TCON.2)选择其为低电平有效(置0)还是下降沿有效(置1)。
③T0(P3.4),它的中断请求标志是TF0--(TCON.5 ),T0发生溢出时,置位TF0为1,并向CPU申请中断。
④T1(P3.5),它的中断请求标志位是TF1--(TCON.7),T1发生溢出时,置位TF1为1,并向CPU申请中断。
⑤RI(SCON.0)或TI(SCON.1),串行口中断请求标志。
当串行口接收完送完一帧串行数据置位RI,向CPU申请中断。
当串行口发送完一帧串行数据时置位TI,向CPU申请中断。
3.中断寄存器
(一)定时器控制寄存器TCON
定时器控制寄存器TCON
IT0:外部中断0触发方式控制位。当IT0=0时,为电平触发方式。当IT0=1时,为边沿触发方式(下降沿有效)。
IE0:外部中断0中断请求标志位。
IT1:外部中断1触发方式控制位。
IE1:外部中断1中断请求标志位。
TF0:定时/计数器T0溢出中断请求标志位。
TF1:定时/计数器T1溢出中断请求标志位。
TR0: T0运行控制位。TR0置1时,T0开始工作;TR0置0时,T0停止
工作。
TR1:T1运行控制位。TR1置1时,T1开始工作;TR1置0时,T1停止
工作。
(2)中断允许寄存器IE
IE
EX0:外部中断0允许位;
ET0:定时/计数器T0中断允许位;
EX1:外部中断0允许位;
ET1:定时/计数器T1中断允许位;
ES: 串行口中断允许位;
EA :CPU中断允许(总允许)位。(总开关)
IE相当于一个开关的角色
(3)中断优先级寄存器IP
IP
PT2:定时器/计数器2中断优先级控制位(仅8052);1:高优先级,
0:低优先级
PS:串行口优先级控制位;1:高优先级,0:低优先级
PT0/PT1:定时器/计数器0/1中断优先级控制位;1:高优先级,0:
低优先级
PX0/PX1:外部中断管0/1中断优先级控制位;1:高优先级,0:低优
先级
4.中断优先级
我们会遇到多个中断同时请求的情况,这时候就需要看自然优先级了
自然优先级
中断执行原则:
①CPU同时接收到几个中断时,首先响应优先级别最高的中断请求。
②正在进行的中断过程不能被新的同级或低优先级的中断请求所中
断。
③正在进行的低优先级中断服务,能被高优先级中断请求所中断。
5.中断的使用
(1)中断响应条件
①中断源要有中断请求
②中断源的中断允许位为1
③打开总中断(即EA=1)
例如:外部中断0(INT0)产生中断
#include "reg52.h"
void main()
{
EA=1;//打开总中断开关
EX0=1;//开外部中断0
IT0=0;//设置外部中断的触发方式
while(1)
{
}
}
//中断服务函数
void int0() interrupt 0 //0是中断号,具体看是什么中段
{
...do anything that you want
中断号
上一篇:单片机小白学习之路(十三)---外部中断0实现led闪烁
下一篇:单片机小白学习之路(十二)---直流电机的控制
推荐阅读最新更新时间:2024-11-12 17:56
设计资源 培训 开发板 精华推荐
- LTC1147-5、3.3V 低压差高效稳压器的典型应用电路
- 适用于SPC570S50E1 MCU探索套件
- MASTERGAN3 高功率密度半桥高压驱动器演示板,带有两个 650V 增强型 GaN HEMT
- SWM181CBT6_CoreBoard_V1.0
- LT3486EFE 演示板,具有 PWM 调光功能的双路 1.3A 白光 LED 升压转换器
- 使用 ON Semiconductor 的 CAT3643 的参考设计
- 使用 NXP Semiconductors 的 UC3842 的参考设计
- LTC3119EFE 5V、2MHz 宽输入稳压器的典型应用电路
- S32K358电池管理单元(BMU),用于高压电池管理系统(HVBMS)参考设计板
- 100W, 12V AC 到 DC 单路输出电源,用于 UPS 电源