————————————————————————————————————————————

中断的过程:

对于单片机来讲,中断是指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单片机 | 中断系统概念及结构相关推荐

  1. 51单片机中断系统实验

    51单片机中断系统实验 一.实验内容 INT0端接单次脉冲发生器.按一次脉冲产生一次中断,CPU使P1.0状态发生一次反转,P1.0接LED灯,以查看信号反转. 根据实验内容编写一个程序,并在实验系统 ...

  2. 51单片机 | 中断系统

    文章目录 一.中断介绍 1.中断概念 二.中断结构及相关寄存器 1.中断结构 2.中断相关寄存器   这一节专门介绍 51单片机的中断系统,为后面学习外部中断.定时器中断.串口中断做好铺垫. 一.中断 ...

  3. 单片机c语言中断意义,51单片机中断系统的重要性

    描述 在接下来的教程中,将会介绍定时器.串口通信等外设的基本使用,而这些外设的使用都要涉及中断,而且中断是单片机或嵌入式开发中一个相当重要的概念.不能掌握中断系统,就无法灵活应用这些外设. 1.什么是 ...

  4. 51单片机中断基本概念

    问题引入 在了解基本概念之前,先看三个问题: 1.你想使用的中断是哪个? 2.你所希望的触发条件是什么? 3.你希望在中断之后做什么? 可以边看边思考,文章最后给出答案 中断概念 为什么引入中断? 中 ...

  5. 51单片机——中断系统、外部中断、定时器中断、串口通信C语言入门编程

    目录 中断系统: 外部中断: 1.外部中断0.1:当触发时,LED状态取反 定时器中断: 1.定时器0.1:LED以1S为周期闪烁 串口通信: 1.串口中断:通过串口发送什么数据给单片机,单片机再通过 ...

  6. C51单片机————中断系统

    51单片机中断系统 CPU和外设之间的速度差异太大,CPU跑的太快了,外设追不上,机器的内部也可能出现突发事件.那怎么办?所以引入中断技术呀. Created with Raphaël 2.1.2张三 ...

  7. 单片机中断系统(51为例)

    单片机中断系统概述: 中断是指单片机的CPU在执行程序过程中,外部有一些事件变化,如数据采集结束,电平变化,定时器/计数器溢出等,要求CPU立即处理,这时CPU暂时停止当前的执行程序,转去处理中断请求 ...

  8. 单片机c语言reti的用法,基于51单片机中断跳出指令“RETI”浅议

    原标题:基于51单片机中断跳出指令"RETI"浅议 =RET指令+通知CPU中断服务已结束. 最近在基于编程的过程中出现了个很奇怪的问题"程序执行中在寄存器EA=1,ET ...

  9. 51单片机——中断系统结构

    目录 1 什么是中断 2 中断的基本概念 2.1 中断源 2.2 中断的优先级别 3 中断的处理过程 4 中断系统的结构 4.1 中断系统的组成 4.2 中断系统的工作原理 5 中断源寄存器 5.1 ...

最新文章

  1. Git Bash Here 中文显示乱码,有遮挡, 的处理方法
  2. 我是架构师--设计模式-单例模式
  3. c++精确到小数点后两位_高考试卷的小数点是怎么算入总分的?
  4. 错误:Script file ‘D:\software_install\Anaconda_install\Scripts\pip-script.py‘ is not present.完美解决方法
  5. copy和mutablecpy区别
  6. 10个迷惑新手的CocoaObjective-c开发问题
  7. RocketMQ环境搭建
  8. 给微软的依赖注入框架写一些扩展方法
  9. GroupMetadataManager分析
  10. 常用类中的方法 —— java.util.Map
  11. android MVP框架
  12. 安卓开发 底部导航图标切换时动画效果_体验安卓 10:好用百倍都不止!
  13. Unity ToLua LuaFramework_UGUI学习笔记
  14. winrar.msi_如何使WinRAR自动化以从setup.exe和MSI文件制作单个文件安装程序
  15. 内构函数java_图灵学院笔记-java虚拟机底层原理
  16. 网传三星手机大半夜黑屏乱码,原因竟然是闰四月?
  17. mysql 时间段天数_ORACLE任意时间段内所有天数日期查询
  18. Strings and Runes
  19. ei指什么_SCI、EI分别是什么意思
  20. Wireshark --- NPF

热门文章

  1. iOS - 沙盒文件操作指南
  2. Tomcat的安装与配置(新手向)
  3. 在 Linux 命令行上编辑照片的 4 种方法
  4. was更换java版本,WAS如何更换JDK
  5. SpringBoot Admin2.0 集成 Java 诊断神器 Arthas 实践
  6. 中国唯一入选 Forrester 领导者象限,阿里云 Serverless 全球领先
  7. eclipse中设置Linux编码环境,更改eclipse中console编码
  8. windows下利用IIS搭建web和ftp服务以及防火墙配置
  9. 下列哪些是java语言的条件执行语句_13春福师《JAVA程序设计》在线作业二
  10. 价格的格式化 php,价格格式化问题。