一、中断概念

在单片机执行任务过程中,可能会遇到其他任务需要优先执行,此时就需要引入中断。中断是广泛应用于51或ARM单片机里用于优先执行部分代码的重要功能,下图是中断过程示意图

二、中断寄存器


我们结合此图对中断系统进行介绍。根据图片可以看出,与中断有关的寄存器有TCON、IE、IP(RX和TX这里不加赘述)
TCON:

TF1(TF0):定时计数器溢出标志位,当定时计数器记满时会自动置1,可通过if(TF1==1)或while语句来判断是否溢出,并执行下一步操作。
TR1(TR0):定时计数器的启动控制位,启动时软件编程置1
IE1(IE0):外部中断请求标志位
IT1(IT0):外部中断触发选择位,若为1,则为下降沿触发,若为0,则为低电平触发
IE:

EA:总中断开关,使用任何中断前要先使EA置1
ET2:52系列T2中断允许位
ES:置1时开放串行口中断
ET1(ET0):定时计数器T1(T0)溢出中断允许位,使用定时计数器时需要使其置1
EX1(EX0):外部中断INT1(INT0)允许位,使用外部中断前要使其置1
中断优先级寄存器IP:

51单片机有五个中断源,但只有两个优先级,必然会有几个中断请求源处于同样的优先级。当CPU同时接收到几个同优先级中断请求时,其内部会有一个硬件查询逻辑,将根据中断查询逻辑的自然优先顺序来查询。
51单片机自然优先级为:
外部中断0>定时器0>外部中断1>定时器1>串口中断>定时器2

三、中断响应过程

51单片机的CPU在每一个周期都顺序查询每一个中断源,在机器周期的S5P2状态采样并按照优先级处理所有被激活的中断请求。但是在出现以下情况时,将不会处理中断请求:
①CPU正在处理更高级或同级中断
②现在的机器周期不是所执行指令的最后一个机器周期
③正在执行的指令是RETI或正在访问IE或IP
CPU响应中断时,首先会置位相应的优先级状态触发器,以阻断同级或低级触发请求。之后会自动清除响应的中断标志,并自动保护断电程序,将pc内容压入堆栈,并把中断源对应的矢量单元地址装入pc

STC51单片机中断系统介绍相关推荐

  1. STC51单片机中断与定时器配置参考

    *外中断INT0--------void intsvr0(void) interrupt 0 using 1 *定时/计数器T0-----void timer0(void) interrupt 1 u ...

  2. 奥克斯空调红外遥控信号编码协议的分析,STC51单片机读红外程序

    2022.9 网上根本找不到资料,没人免费发布,有发布也是要钱的.哎.自己研究吧. 刚买的奥克斯清芯净空调,遥控器型号YKR-T/101,这样子的,手感不错: 用USB示波器抓了波形看了一下,和标准的 ...

  3. STC51单片机23——T2定时器的使用

    /** TF2 定时器2 溢出标志.定时器2 溢出时置位,必须由软件清除. 当RCLK或TCLK=1 时,TF2 将不会置位.TR2 定时器2 启动/ 停止控制位. 置1 时启动定时器.C/T2 定时 ...

  4. STC51单片机学习笔记8——stc12c56 串口显示AD(多路ad)

    stc12c56 串口显示AD(多路ad). AD中断设置 AUXR: ADC_CONTR: //#define ADC_POWER 0x80后面不能加分号,不然就会错.其他定义必须加分号!!! // ...

  5. STC51单片机35——五线四相步进电机驱动测试程序(2个步进电机)

    /*--------------------------------------------------------------------------------      MCU:         ...

  6. STC51单片机学习笔记4——stc12c56 串口

    stc12c56 串口(没有用独立波特率发生器,用T1不分频.中断式接受与发送) //烧写程序时,一定要选用外部晶振(烧写软件默认为内部晶振(5M~6M)) //烧写时,有时候写不进去,尝试断开地线, ...

  7. STC51单片机学习笔记9——stc12c52 串口显示AD(单路ad+led指示灯)

    stc12le5204ad 为8位AD //烧写程序时,一定要选用外部晶振(烧写软件默认为内部晶振(5M~6M)),不然还会影响ADC //烧写时,有时候写不进去,尝试断开地线,然后接上上电 #inc ...

  8. stc51单片机入门 c语言,STC51单片机入门 (C语言)

    51单片机发展主要历程:AT89C51系列--STC89C52系列--STC90系列--STC11系列--STC12系列--STC15F系列--STC15W系列(最新主流),由于STC12系列功能已经 ...

  9. STC51单片机制作的万年历项目(可做毕设),增加了温度显示。

    使用STC51单片机模组在kevil4平台制作的万年历项目. 算是自己的第一个项目的记录和总结,通过这次项目提高了自己对C语言的使用,知道了怎么使用51单片机来完成一些功能. 参考资料为:普中51-双 ...

最新文章

  1. android首页图片轮播效果,Android_Android自动播放Banner图片轮播效果,先看一下效果图支持本地图 - phpStudy...
  2. 深度学习 Deep Learning with MATLAB(懒人版)
  3. 在aspx页面向iframe中post参数
  4. pycharm打包.py程序为可执行文件exe
  5. 傅奎:十年安全路,一颗好奇心
  6. 云 文件 服务器 只存,云 文件 服务器只存
  7. vue.js嵌套路由
  8. php根据类名字符串,PHP 5.5 新特性 ::class 获取类名字符串
  9. iOS开发常见的宏定义(实用)
  10. Unity--初识Live2D Cubism以及通过代码来实现Live2D模型的基本功能(二)
  11. 嵌入式技术栈之I2S
  12. web前端数据可视化控件
  13. C++实现经典同步问题(生产者消费者、读者写者、哲学家进餐、吸烟者问题)
  14. Day01-python编程基础
  15. Liunx教程超详细(完整)
  16. 灰色预测(MATLAB)
  17. oracle基本参数调整优化
  18. 自制PMW3901光流模块
  19. 以铜为镜,正衣冠,以史为镜,明心志,以人为镜,明得失
  20. 网络隔离环境下的跨网数据传输,如何保障安全性?

热门文章

  1. 看了400多份白皮书,回归本质谈区块链技术(附全部白皮书下载链接)
  2. 计算机组成原理易错题
  3. 【通知】Mr.张小白
  4. Spring @Autowire注解源码详解
  5. 麓言信息设计创意思维,打开设计师思路
  6. python123中棋盘放米的故事_小学数学故事:棋盘上的麦粒问题
  7. html5建筑图插件,13个JavaScript图表图形绘制插件
  8. 加工中心的刀具库通常位于远离主轴的机床侧面或顶部
  9. 再见 Kubernetes,是时候拥抱下一代轻量级容器编排平台 K0s 了!
  10. 高级IO--poll,epoll