51单片机基础篇系列-单片机中断系统

🌈个人主页:会编程的果子君

💫个人格言:"成为自己未来的主人~"

引言

单片机的中断系统是解决突发事件和多任务实时处理的最佳方法,熟练掌握中断技术的应用是一个合格电子工程师必备的能力。

为什么要引入中断程序

一个高速主机和一个低速外设连接时,效率极低,低速外设工作时无端占用大量CPU时间,一个高速主机和多个低速外设连接时,高速主机无法进行多任务并行处理。

中断的概念

CPU在处理某一事件A时,发生了另一事件B的请求(中断请求),CPU暂时中断当前的工作,转去处理事件B(中断相应和中断服务),待CPU将事件B处理完毕后,在返回原来事件A被中断的地方继续处理事件A(中断返回),这一过程称为中断。

引起CPU中断的根源,称为中断源,中断源向CPU提出的中断请求,CPU暂时中断原来的事物A,转去处理事物B,对事物B处理完毕后,再返回原来被中断的地方(即断点),称为中断返回,实现上述中断功能的部件称为中断系统(中断机构)

中断的优点

早期的计算机系统是不包含中断系统的,后来为了解决快速主机与慢速外设的数据传送问题,引入了中断系统,它的优点:

分时操作,CPU可以分时为多个外设服务,提高了计算机的利用率,

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

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

中断功能强弱是计算机性能优劣的重要标志

80C51中断系统的结构

80C51的中断系统有5个中断源(8052有6个),2个优先级,可实现二级中断嵌套

(P3.2)可由ITO(TCON.0)选择其为低电平有效还是下降沿有效,当CPU检测到P3.2引脚上出现有效的中断信号时,中断标志IEO(TCON.1)置1,向CPU申请中断。

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

TFO(TCON.5),片内定时/计数器TO溢出中断请求标志,当定时/计数器TO发生溢出时,置位TFP,并向CPU申请中断

TF1*=(TCON.7),片内计时/计数器T1溢出中断请求标志,当定时/计数器T1发生溢出时,置位TF1,并向CPU申请中断

RI(SCON.0)或TI(SCON.1),串行口中断请求标志,当串行口接收完一帧串行数据时置位RI或当串行口发送完一帧串行数据时置位TI,向CPU申请中断

SCON的中断标志

RI(SCON.0),串行口接受中断标志位IE,当允许串行口接收数据时,每接收完一个串行帧,由硬件置位RI,注意,RI必须由软件清楚

TI(SCON.1),串行口发送中断标志位,当CPU将一个发送数据写入串行口发送缓冲器时,就启动了发送过程,每发送完一个串行帧,由硬件置位TI,CPU响应中断时,不能自动清楚TI,必须由软件清楚

80C51中断的控制

中断允许控制

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

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

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

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

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

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

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

中断优先级控制

80C51单片机有两个中断优先级,即可实现二级中断服务嵌套,每个中断源的中断优先级都是由中断优先级寄存器IP中的相应位的状态来规定的。

PX0(IP.0),外部中断0优先级设定位

PT0(IP.1),定时/计数器T0优先级设定位

PX1(IP.2),外部中断0优先级设定位

PT1(IP.3),定时/计数器T1优先级设定位

PS(IP.4),串行口优先级设定位

PT2(IP.5),定时/计数器T2优先级设定位

80C51单片机的中断优先级由三条原则

CPU同时接收到几个中断时,首先响应优先级别最高的中断请求

正在进行的中断过程不能被新的同级或低优先级的中断请求所中断

正在进行的低优先级中断服务,能被高优先级中断请求所中断

为了实现上述后两条原则,中断系统内部设有两个用户不能寻址的优先级状态触发器,其中一个置1,表示正在响应高优先级的中断,它将阻断后来所有的中断请求,另一个置1,表示正在响应低优先级中断,它将阻断后来所有的低优先级中断请求。

相关推荐
星河单片机2 小时前
STM32驱动WaterSensor水位传感器+OLED显示完整原理与实验
stm32·单片机·嵌入式硬件
子文雨2 小时前
基于 uC3845 与 ATtiny13 双芯片架构的 8.4V/2.5Ah 锂电池智能充电器设计
单片机·嵌入式硬件·算法
快秃头的码农3 小时前
esp32-s3移植lvgl总结
嵌入式硬件·esp32-s3
恒锐丰科技林技术员4 小时前
EG1191 宽压降压 DC‑DC 芯片解析:高性价比工业电源方案
经验分享·嵌入式硬件·硬件工程
智购科技无人售货机工厂店5 小时前
2026自动售货机大屏交互设计原则:从信息层级到视觉动线的工程实践~YH
运维·python·单片机·嵌入式硬件·自动化·交互
艾芯微科技8 小时前
SKY13370‑374LF|0.5‑6GHz SPDT 射频开关,WLAN/LTE 射频前端实用器件
网络·单片机·嵌入式硬件·集成测试·51单片机
jianqiang.xue9 小时前
收官:从v0.1到“研发新常态“,一套嵌入式智能体的落地与边界
stm32·单片机·物联网·架构·esp32
HUI-4749 小时前
EG1131|SOT23‑6 30V/1.5A 电流模式同步降压 DC‑DC,小体积消费类电源优选
嵌入式硬件·硬件工程
天空'之城10 小时前
单片机基础核心知识点汇总(三十)
单片机·嵌入式硬件
笨笨饿10 小时前
#137_死机恢复现场_Armino平台AP系统swd调试
git·python·stm32·单片机·嵌入式硬件·物联网·vim