外部中断可以分为电平触发和边缘触发两种,那么这两种中断有什么区别,我们今天讲解下

1什么是中断

CPU在处理某一事件A时,发生了另一事件B请求CPU迅速去处理(中断发生);
CPU暂时中断当前的工作,转去处理事件B(中断响应和中断服务);
待CPU将事件B处理完毕后,再回到原来事件A被中断的地方继续处理事件A(中断返回),这一过程称为中断。

通俗点说:你正在家里做家务,突然有人来找你,打断了你的进程,在你们交谈完之后,你就又回去继续进行你的家务活,这其中被打断的过程,就叫做中断,而在中断结束之后,你则会继续进行本来应该做的事情

高低电平触发:

低电平触发:

低电平触发中断顾名思义,就是检测到引脚为低电平就触发,从而进入中断函数中处理这个中断,并且在高或低电平保持的时间内持续触发,假设是低电平触发,只要引脚为低电平时间内中断一直有效,那么就会一直进入中断,直到电平变化为高电平

高电平触发:

则是 检测为高电平就触发,其余与低电平触发相同

注意事项:

1.电平触发中断,如果在电平没有恢复之前就退出中断程序,那么会在退出后又再次进入中断。只要不退出是不会重复触发的。

也就是重复触发只有在退出中断后才会再次触发,不用担心这次还没进行完,中断已经重新触发的情况

2.低电平触发是即时的,当外部中断信号撤消时,中断申请信号随之消失。如果在外部中断信号申请期间,CPU来不及响应此中断,那么有可能这次中断申请就漏掉了。也就是说假设低/高电平的时间很短。CPU没来得及相应,那么这次的电平中断申请就可能不会检测到

3.如果想要电平触发中断也只进行一次,通常的做法是在中断退出前关闭中断,等后面需要的时候再打开

边沿触发:

这里要先了解下:

从低电平到高电平,  叫做上升
从高电平到低电平, 叫做下降

·上升沿触发

数字电平从低电平(数字“0”)变为高电平(数字“1”)的那一瞬间叫作上升沿。 上升沿触发是当信号有上升沿时的开关动作,当电位由低变高而触发输出变化的就叫上升沿触发。也就是当测到的信号电位是从低到高也就是上升时就触发,叫做上升沿触发。

·下降沿触发

数字电路中,数字电平从高电平(数字“1”)变为低电平(数字“0”)的那一瞬间叫作下降沿。 [1]  下降沿触发是当信号有下降沿时的开关动作,当电位由高变低而触发输出变化的就叫下降沿触发。也就是当测到的信号电位是从高到低也就是下降时就触发,叫做下降沿触发。

那么我们可以很好的理解两种触发:

上升沿触发 就是当电压从低变高时触发中断
下降沿触发 就是当电压从高变低时触发中断

当然,上升沿与下降沿检测的是电平变化的一瞬间,就会产生中断,这个时间是us级别的,但是如果中断引脚检测到一直保持低/高电平,则无法产生下次中断,也就是中断只会触发一次,只有在下次电平发生变化时才会重新触发中断

注意事项:

1 边沿触发就是单片机在上一次机器周期内,检测到中断引脚口为高电平,这一次机器周期内检测到为低电平,则会申请产生中断,所以为us级别

2 下降沿触发是锁存中断信号的,由D触发器记忆,意即:即使当时CPU来不及响应中断,外部中断信号撤消后,由于D触发器的记忆作用,消失的中断信号仍然有效,直到中断被响应并进入中断ISR,记忆的中断信号才会由硬件清除。 这也是为什么边沿触发只能触发一次的原因

3.对于单片机的中断引脚,如果你另一端接的是VCC 则需要设置成上升沿或者高电平触发 如果你接的是GND 就可以设置成下降沿或者低电平触发

区别:

我们可以理解,电平触发在你一直按着按键的时候会一直进入中断,边沿触发则是只会触发一次,再次按下才会重新触发,这就给我们不同的应用功能提供了选择,使得我们可以在不同个工作下选择适合的模式,边沿触发适用于对对时间要求高的,比如中断中有计数之类的(GATE门控位置1时),而电平触发则适合报警装置,

51单片机的具体讲解与实现:

在51中,为了方便区分两种方式,用IT0/IT1,将低电平触发和下降沿触发这两种方式转化成对应的信号:IT0/IT1的高电平和低电平

,IT0/IT1高电平则为下降沿触发,IT0/IT1低电平则为低电平触发

IT0=1;//跳变沿出发方式(下降沿)

IT0=0;//电平触发

而在有中断触发之后,是否允许进行该中断,则对应的转换为 EX0 EX1的高低电平来实现

EX0 EX1为高电平则允许中断,EX0 EX1为低电平则不允许中断

EX1=1;//打开INT1的中断允许

EX1=0;//关闭INT1的中断允许

而我们的外部中断,定时器中断,串口中断,等等,都只是中断的一个分支,在打开分支之后,相对应的要打开“总闸” EA

EA的作用相当于一个”总闸“,而EX0 EX1只是支线上的一个开关 ,再打开分支开关之后,需要打开总开关,才能够进行中断

简单来说 ,EA等于告诉单片机是否可以进行中断这个操作,而EX0 EX1等于是否允许外部触发中断进行,

EA=1;//打开总中断

EA=0;//关闭总中断

在允许中断操作进行之后,如果有好几个中断应该怎么怎么办呢,如果谁也不服谁,都抢着说我先,那么MCU估计没两天就罢工告竭了,这时候便需要设置中断优先级,告诉每个中断谁应该先,谁应该后,大家礼尚往来,系统才能正常工作  当然在51中有着一个默认的优先级,依次是:外中断0,定时器0,外中断1,定时器1,串口   有多个中断时,会先进行前面的中断

void函数名()    interrupt 2 using 工作组        //外部中断1的中断函数

{

//吧啦吧啦代码

}

interrupt后面跟的数字代表使用哪一个中断通道,
0 外部中断0 
1 定时器0 
2 外部中断1 
3 定时器1 
4 串行中断

工作组一般不用设置,在程序编译时会自动分配

这样子外部触发中断的配置就配置好了,其他的中断配置和它都是类似的,同学们学会这个51的中断基本就可以举一反三,有一个更好的认识

低电平触发:

在51中:低电平触发是当管脚INTO/INT1(P3.2/P3,3)为低电平时,被单片机检测到后,就认为有中断请求,EX0/EX1置高电平,向CPU发出中断请求;则进入中断

下降沿触发:

边沿触发就是当管脚INTO/INT1有由高电平变低电平的过程时,就认为有中断请求,EX0/EX1置高电平,向CPU发出中断请求,进入中断。

外部中断----高低电平触发,(边沿触发)上升沿触发和下降沿触发区别相关推荐

  1. 外部中断实验 编写程序学习外部中断的电平触发方式。无中断时发光让发光二极管从左到右依次点亮,有外部中断请求时,4位数码管从0000开始加1显示(加到9999后复位为0000),同时蜂鸣器报警。

    编写程序学习外部中断的电平触发方式.无中断时发光让发光二极管从左到右依次点亮,有外部中断请求时,4位数码管从0000开始加1显示(加到9999后复位为0000),同时蜂鸣器报警. 程序: #inclu ...

  2. 高低电平触发,(边沿触发)上升沿触发和下降沿触发 中断区别

    外部中断可以分为电平触发和边缘触发两种,那么这两种中断有什么区别.中断基本概念是: CPU在处理某一事件A时,发生了另一事件B请求CPU迅速去处理(中断发生): CPU暂时中断当前的工作,转去处理事件 ...

  3. 计算机命令 电平触发和边沿触发,单片机外部中断的电平触发和边沿触发程序...

    折腾了一上午,没有人带只能自己摸索了........ 接法:JP10接J12;JP8接JP16:P3^2接GND:P2^0接LED: 只有打开全局开关,其它各位的开关才可以开启. 所有开关赋值为1则开 ...

  4. AT89C51单片机外部中断

    C51单片机外部中断调用P3_2 ,P3_3口. 中断方式有两种,分别为电平方式和脉冲方式. 中断请求有0和1.中断总允许为EA=1, IE0:外部中断请求0标志位: IT0:外部中断0触发方式设置位 ...

  5. PIC18F系列单片机外部中断

    PIC18F系列单片机外部中断 以外部中断0为例,代码如下 void INTx_Init (void)//外部中断 {TRISBbits.TRISB0 = 1;INTCON2bits.INTEDG0 ...

  6. STM32学习笔记(三)丨中断系统丨EXTI外部中断(对射式红外传感器计次、旋转编码器计次)

    本篇文章包含的内容 一.中断系统 1.1 中断的定义 1.2 中断优先级 1.3 中断的嵌套 1.4 STM32中的中断系统 1.4.1 STM32的中断资源 1.4.2 嵌套中断向量控制器 NVIC ...

  7. 【STM32学习笔记】(13)——外部中断详解

    EXTI 简介         EXTI(External interrupt/event controller)-外部中断/事件控制器,管理了控制器的 20 个中断/事件线.每个输入线可以独立地配置 ...

  8. STM32外部中断及串口

    一.外部中断的类型 STM32F4 外部中断/事件控制器(EXTI)包含多达 23 个用于产生事件/中断 请求的边沿检测器.EXTI 的每根输入线都可单独进行配置,以选择类型(中断 或事件)和相应的触 ...

  9. 蓝桥杯单片机比赛学习:5、中断系统之外部中断的基本原理

    中断的基本概念 百度百科上是这样说的,当中央处理机CPU正在处理某件事的时候外界发生了紧急事件请求,要求CPU暂停当前的工作,转而去处理这个紧急事件,处理完以后,再回到原来被中断的地方,继续原来的工作 ...

最新文章

  1. 【水】JSOI完美的对称
  2. appium框架之bootstrap
  3. CDQZ集训DAY8 日记
  4. python paramiko模块
  5. 神奇的四次方数(洛谷P1679题题解,Java语言描述)
  6. 关于解决Python中requests模块在PyCharm工具中导入问题
  7. 自动外呼——设计思路整理篇
  8. 机器学习算法篇:最大似然估计证明最小二乘法合理性
  9. Pycharm汉化使用教程
  10. 二维码中间嵌入logo
  11. 数据结构(c语言版)各章内容总结
  12. 系统试运行报告是谁写的_“项目总结报告”如何写?5个方向16个关键要素:总结很全面...
  13. 海康摄像机、NVR、流媒体服务器、回放取流RTSP地址规则说明
  14. 计算机如何用vb文本加密,VB 实现中文文本的加密方法
  15. c语言do while例子,C语言do while循环
  16. Django实现adminx后台网站访问的IP记录统计
  17. 告别陈彤,或是告别一个总编辑的时代
  18. Mac关闭fn切换输入法功能
  19. GP工作室的项目计划书
  20. 可用于微信公众平台的机器人

热门文章

  1. 【20210910】【机器/深度学习】lightGBM模型训练中报错:“Cannot set reference after freed raw data“
  2. 从0带你写插件之微信防撤回,保姆级教学代码一行一行解读
  3. 纳芯微携手企企通,打造全新数字化采购管理系统
  4. esxi服务器更换硬盘,ESXi下磁盘分区删除步骤详解
  5. jdk1.8——Base64
  6. 倒计时1天 | 大势智慧2022新品发布会全面而来!
  7. 网络连接处出现红叉的解决方法
  8. unity启动Logo大小的问题
  9. 2021综述:计算机视觉中的注意力机制(续四):分支注意力
  10. java获取汉字拼音_Java获取汉字对应的拼音(全拼或首字母)