51单片机 | 中断系统概念及结构
————————————————————————————————————————————
中断的过程:
对于单片机来讲,中断是指CPU在处理某一时间A时,发生了另一事件B请求CPU立刻去处理(中断发生);CPU暂时停止当前的工作(中断响应),转而去处理事件B(中断服务),待CPU处理事件B完成后,再回到原来事件A被中断的地方继续处理事件A(中断返回)。
① 中断源 // 5个中断源都有一个中断入口地址,当某个中断源产生中断时,CPU响应中断便到相应的中断入口地址执行中断服务程序
② 中断的嵌套与优先级处理
③ 中断的响应过程
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
中断系统结构
- 外部中断请求源:INT0、INT1
外部中断0(INT0)由外部引脚P3.2引入,外部中断1(INT1)由外部引脚P3.3引入
- 内部中断请求源:T0、T1、串口中断
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
程序定义方式
- 定义中断函数的一般形式
void 函数名() interrupt 中断号 using 寄存器工作组
p.s.如果中断函数中调用了其他函数,则被调用函数所使用的寄存器组必须与中断函数相同。中断函数不能参数传递,没有返回值,不能直接被调用。
- 中断序号
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
中断优先级
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
中断系统寄存器
- TCON:低4位给外部中断请求源使用,高4位给内部中断请求源定时器T0 T1使用
外部请求源
- IT0:INT0触发方式控制位,可由软件进行置位和复位。IT0=0时,INT0为低电平触发方式。IT0=1时,INT0为负跳变触发方式。
- IE0:INT0中断请求标志位。当有外部的中断请求时,该位置1(这由硬件来完成),在CPU响应中断后,由硬件将IE0清0。
- IT1、IE1的用途和IT0、IE0相似。
内部请求源
- TF0:定时/计数器T0溢出中断标记,当T0产生溢出时,TF0置位。当CPU响应中断后,硬件将TF0复位
- TR0:T0的开闭控制位,TR0=1时定时计数器打开,TR0=0时定时计数器关闭
- TF1、TR1与TF0、TR0相似。
- SCON:低2位与串口中断相关
内部请求源
- TI、RI:串行口发送、接收中断
- IE:中断允许寄存器
- EA:中断总控制位。EA=1,CPU开放所有中断;EA=0,CPU禁止所有中断。
- ES:串行口中断控制位。ES=1,允许串行口中断;ES=0,屏蔽串行口中断。
- ET1:定时/计数器TI中断控制位。ET1=1,允许T1中断;ET1=0,禁止T1中断。
- EX1:外部中断1中断控制位。EX1=1,允许外部中断1中断;EX1=0,禁止外部中断1中断。
- ET0:定时/计数器T0中断控制位。ET0=1,允许T0中断;ET0=0,禁止T0中断。
- EX0:外部中断0中断控制位。EX0=1,允许外部中断0中断;EX0=0,禁止外部中断0断。
- IP:中断优先级寄存器
在该寄存器中,优先级分为1 0两级,对应的位置为1则为高优先级,位置为0则为低优先级。执行时先将高优先级的中断执行完后才会执行低优先级(同样高优先级情况下,按默认优先级排)。
- PS:串行口中断优先级控制位
- PT1:定时器1优先级控制位
- PX1:外部中断1优先级控制位
- PT0:定时器0优先级控制位
- PX0:外部中断0优先级控制位
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
补充:
外部中断的触发方式选择
- 电平触发方式(低电平触发)
CPU在每个机器周期采样到的外部中断输入线的电平。在中断服务程序返回之前,外部中断请求输入必须无效(即变为高电平),否则CPU返回主程序后会再次响应中断。
适于外中断以低电平输入且中断服务程序能清除外部中断请求(即外部中断输入电平又变为高电平)的情况。
- 跳沿触发方式
连续两次采样,一个机器周期采样到外部中断输入为高,下一个机器周期采样为低,则置"1"中断请求标志,直到CPU响应此中断时,该标志才清0。这样不会丢失中断,但输入的负脉冲宽度至少保持1个机器周期。
转载于:https://www.cnblogs.com/hughdong/p/6878684.html
51单片机 | 中断系统概念及结构相关推荐
- 51单片机中断系统实验
51单片机中断系统实验 一.实验内容 INT0端接单次脉冲发生器.按一次脉冲产生一次中断,CPU使P1.0状态发生一次反转,P1.0接LED灯,以查看信号反转. 根据实验内容编写一个程序,并在实验系统 ...
- 51单片机 | 中断系统
文章目录 一.中断介绍 1.中断概念 二.中断结构及相关寄存器 1.中断结构 2.中断相关寄存器 这一节专门介绍 51单片机的中断系统,为后面学习外部中断.定时器中断.串口中断做好铺垫. 一.中断 ...
- 单片机c语言中断意义,51单片机中断系统的重要性
描述 在接下来的教程中,将会介绍定时器.串口通信等外设的基本使用,而这些外设的使用都要涉及中断,而且中断是单片机或嵌入式开发中一个相当重要的概念.不能掌握中断系统,就无法灵活应用这些外设. 1.什么是 ...
- 51单片机中断基本概念
问题引入 在了解基本概念之前,先看三个问题: 1.你想使用的中断是哪个? 2.你所希望的触发条件是什么? 3.你希望在中断之后做什么? 可以边看边思考,文章最后给出答案 中断概念 为什么引入中断? 中 ...
- 51单片机——中断系统、外部中断、定时器中断、串口通信C语言入门编程
目录 中断系统: 外部中断: 1.外部中断0.1:当触发时,LED状态取反 定时器中断: 1.定时器0.1:LED以1S为周期闪烁 串口通信: 1.串口中断:通过串口发送什么数据给单片机,单片机再通过 ...
- C51单片机————中断系统
51单片机中断系统 CPU和外设之间的速度差异太大,CPU跑的太快了,外设追不上,机器的内部也可能出现突发事件.那怎么办?所以引入中断技术呀. Created with Raphaël 2.1.2张三 ...
- 单片机中断系统(51为例)
单片机中断系统概述: 中断是指单片机的CPU在执行程序过程中,外部有一些事件变化,如数据采集结束,电平变化,定时器/计数器溢出等,要求CPU立即处理,这时CPU暂时停止当前的执行程序,转去处理中断请求 ...
- 单片机c语言reti的用法,基于51单片机中断跳出指令“RETI”浅议
原标题:基于51单片机中断跳出指令"RETI"浅议 =RET指令+通知CPU中断服务已结束. 最近在基于编程的过程中出现了个很奇怪的问题"程序执行中在寄存器EA=1,ET ...
- 51单片机——中断系统结构
目录 1 什么是中断 2 中断的基本概念 2.1 中断源 2.2 中断的优先级别 3 中断的处理过程 4 中断系统的结构 4.1 中断系统的组成 4.2 中断系统的工作原理 5 中断源寄存器 5.1 ...
最新文章
- Git Bash Here 中文显示乱码,有遮挡, 的处理方法
- 我是架构师--设计模式-单例模式
- c++精确到小数点后两位_高考试卷的小数点是怎么算入总分的?
- 错误:Script file ‘D:\software_install\Anaconda_install\Scripts\pip-script.py‘ is not present.完美解决方法
- copy和mutablecpy区别
- 10个迷惑新手的CocoaObjective-c开发问题
- RocketMQ环境搭建
- 给微软的依赖注入框架写一些扩展方法
- GroupMetadataManager分析
- 常用类中的方法 —— java.util.Map
- android MVP框架
- 安卓开发 底部导航图标切换时动画效果_体验安卓 10:好用百倍都不止!
- Unity ToLua LuaFramework_UGUI学习笔记
- winrar.msi_如何使WinRAR自动化以从setup.exe和MSI文件制作单个文件安装程序
- 内构函数java_图灵学院笔记-java虚拟机底层原理
- 网传三星手机大半夜黑屏乱码,原因竟然是闰四月?
- mysql 时间段天数_ORACLE任意时间段内所有天数日期查询
- Strings and Runes
- ei指什么_SCI、EI分别是什么意思
- Wireshark --- NPF
热门文章
- iOS - 沙盒文件操作指南
- Tomcat的安装与配置(新手向)
- 在 Linux 命令行上编辑照片的 4 种方法
- was更换java版本,WAS如何更换JDK
- SpringBoot Admin2.0 集成 Java 诊断神器 Arthas 实践
- 中国唯一入选 Forrester 领导者象限,阿里云 Serverless 全球领先
- eclipse中设置Linux编码环境,更改eclipse中console编码
- windows下利用IIS搭建web和ftp服务以及防火墙配置
- 下列哪些是java语言的条件执行语句_13春福师《JAVA程序设计》在线作业二
- 价格的格式化 php,价格格式化问题。