当前位置: 首页 > news >正文

单片机学习4——中断的概念

中断的概念:

CPU在处理A事件的时候,发生了B事件,请求CPU迅速去处理。(中断产生)

CPU暂时中断当前的工作,转去处理B事件。(中断响应和中断服务)

待CPU将B事件处理完毕后,再回到原来A事件中断的地方继续处理A事件。(中断返回)

这个过程,就叫做中断。

 

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

随着计算机技术的应用,人们发现中断技术不仅解决了快速主机与慢速I/O设备的数据传送问题,而且还具有如下的特点:

1)分时操作:CPU可以分时为多个I/O设备服务。

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

3)可靠性高:CPU具有处理设备故障和掉电等突发性事件的能力。从而使系统的可靠性提高。

8051中断系统的结构:

8051中断系统有5个中断源,2个优先级,可实现二级中断嵌套。

第二个中断请求的优先级比第一个中断请求要高。

中断嵌套,也叫抢占。

抢占优先级的概念,优先级高的中断可以打断优先级低的中断执行,从而形成嵌套。

INT0、T0、INT1、T1、RXTX,一共是五个中断源。

外部中断源INT0和INT1;

T0和T1:片内定时器计数器;

RX和TX:数据传输中断请求。串行口。

当中断源满足条件产生中断请求的时候,中断请求标志位会置1,向CPU申请中断。

CPU响应中断的时候,TCON的中断请求标志位由硬件自动清除,则须为软件清零。

IT0外部中断0(INT0)触发方式选择位由软件设置。

1、低电平触发方式,INT0(P3.2)引脚上低电平可引起中断。

2、下降沿触发方式,INT0(P3.2)引脚上电平由高低负跳变可引起中断。

IT0 IT1

IE: 中断使能寄存器

EX0

ET0

EX1

ET1

ES

这是5个中断使能。

EA

中断总开关。

 reg51.h文件:

IP:中断优先级寄存器:

当把某一位设置为1的时候,这一位的优先级就比其他位的优先级高了。

设置为1的时候,表示高优先级;

设置为0的时候,表示低优先级。

下图中表示的是固有优先级(自然优先级),上面的优先级高于下面的优先级。这里的优先级不具有抢占性。

当多个中断同时存在的时候,就进行判断比较,或者叫仲裁。就是当中断使能的情况之后,突然同时多个中断请求响应,这个时候必须有先后的顺序,这就是非抢占式的作用。

抢占优先级和非抢占优先级的协同,可以使得单片机有条不紊地工作,既不会无休止地嵌套,又可以保证必要时紧急任务得到优先处理。在后面会大量地使用到中断系统。

 

http://www.lryc.cn/news/245816.html

相关文章:

  • Go语言网络爬虫工程经验分享:pholcus库演示抓取头条新闻的实例
  • Git安装
  • 以太网通讯协议小结--持续更新中
  • Excel换不了行怎么解决?
  • Flink CDC -Sqlserver to Sqlserver java 模版编写
  • 4.前端--HTML标签-表格列表表单【2023.11.25】
  • MySQL的Redo Log跟Binlog
  • 定制手机套餐---python序列
  • 线性分类器--数据处理
  • 一些可能被忽视的 Vue3 API 附带案例
  • Linux git
  • 136. 只出现一次的数字
  • redis的性能管理及集群架构(主从复制、哨兵模式)
  • 【自然语言处理】正向最大匹配算法(FMM),反向最大匹配算法(BMM)和双向最大匹配算法(BM)原理及实现
  • 数据结构 | 堆排序
  • 编程语言发展史:Go语言的设计和特点
  • FinGPT:金融垂类大模型架构
  • 24. 深度学习进阶 - 矩阵运算的维度和激活函数
  • 杰发科技AC7801——keil工程移植到IAR
  • Word怎么看字数?简单教程分享!
  • 万字解析设计模式之观察者模式、中介者模式、访问者模式
  • 【MySQL | TCP】宝塔面板结合内网穿透实现公网远程访问
  • Python break用法详解
  • 【C++初阶】STL详解(五)List的介绍与使用
  • MySQL特点和基本语句
  • Gin 学习笔记03-参数绑定
  • 【100天精通Python】Day73:python机器学习入门算法详解与代码示例
  • Node.js入门指南(四)
  • Java LeetCode篇-深入了解关于数组的经典解法
  • LeeCode前端算法基础100题(4)- 无重复字符的最长子串