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

相关推荐
模拟IC攻城狮27 分钟前
华为海思招聘-芯片与器件设计工程师-模拟芯片方向- 机试题-真题套题题目——共8套(每套四十题)
嵌入式硬件·华为·硬件架构·芯片
IT B业生33 分钟前
51单片机教程(六)- LED流水灯
单片机·嵌入式硬件·51单片机
一枝小雨39 分钟前
51单片机学习心得2(基于STC89C52):串口通信(UART)
单片机·嵌入式硬件·51单片机
IT B业生2 小时前
51单片机教程(一)- 开发环境搭建
单片机·嵌入式硬件·51单片机
海绵波波1074 小时前
Webserver(4.8)UDP、广播、组播
单片机·网络协议·udp
好想有猫猫4 小时前
【51单片机】串口通信原理 + 使用
c语言·单片机·嵌入式硬件·51单片机·1024程序员节
云卓科技4 小时前
无人车之路径规划篇
人工智能·嵌入式硬件·算法·自动驾驶
stm 学习ing5 小时前
C语言 循环高级
c语言·开发语言·单片机·嵌入式硬件·算法·嵌入式实时数据库
w微信150135078126 小时前
小华一级 代理商 HC32F005C6PA-TSSOP20 HC32F005系列
c语言·arm开发·单片机·嵌入式硬件
北京迅为7 小时前
【北京迅为】《STM32MP157开发板嵌入式开发指南》-第七十八章 Qt控制硬件
linux·stm32·单片机·嵌入式硬件