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,表示正在响应低优先级中断,它将阻断后来所有的低优先级中断请求。

相关推荐
weixin_468466852 小时前
树莓派32位与64位系统安装teamviewer远程软件
linux·单片机·自动化·树莓派·远程控制·vnc·teamviewer
沐欣工作室_lvyiyi2 小时前
2025-2026单片机物联网毕业设计题目推荐(定稿付款)
单片机·物联网·课程设计
曙曙学编程3 小时前
stm32——独立看门狗,RTC
c语言·c++·stm32·单片机·嵌入式硬件
sheepwjl3 小时前
《嵌入式硬件(四):温度传感器DS1820》
单片机·嵌入式硬件
三之又三4 小时前
PowerPMAC配置EtherCAT设备
嵌入式硬件·cnc·powerpmac
朝颜_祝余4 小时前
在电路浪涌测试中,TVS(瞬态电压抑制二极管)的防护效果确实会受到陪测设备中去耦网络(Decoupling Network,DN)的显著影响
单片机·嵌入式硬件
mei_you_n5 小时前
JLINK 调试器单步调试单片机
单片机·嵌入式硬件
HIZYUAN5 小时前
AG32 ( MCU+FPGA二合一 )是如何卷入了三相电能计量市场的
单片机·嵌入式硬件
pengfei_M5 小时前
四、FVP启动linux
linux·单片机·嵌入式硬件
weixin_471525786 小时前
【ARMday02】
单片机·嵌入式硬件