高低电平触发的上升沿触发和下降沿触发区别

外部中断可以分为电平触发和边缘触发两种,那么这两种中断有什么区别,我们今天讲解下。
1、什么是中断
cpu在处理某一事件a时,发生了另一事件b请求cpu迅速去处理(中断发生);
cpu暂时中断当前的工作,转去处理事件b(中断响应和中断服务);
待cpu将事件b处理完毕后,再回到原来事件a被中断的地方继续处理事件a(中断返回),这一过程称为中断。
通俗点说:你正在家里做家务,突然有人来找你,打断了你的进程,在你们交谈完之后,你就又回去继续进行你的家务活,这其中被打断的过程,就叫做中断,而在中断结束之后,你则会继续进行本来应该做的事情。
高低电平触发:
低电平触发:
低电平触发中断顾名思义,就是检测到引脚为低电平就触发,从而进入中断函数中处理这个中断,并且在高或低电平保持的时间内持续触发,假设是低电平触发,只要引脚为低电平时间内中断一直有效,那么就会一直进入中断,直到电平变化为高电平。
高电平触发:
则是 检测为高电平就触发,其余与低电平触发相同
注意事项:
1.电平触发中断,如果在电平没有恢复之前就退出中断程序,那么会在退出后又再次进入中断。只要不退出是不会重复触发的。
也就是重复触发只有在退出中断后才会再次触发,不用担心这次还没进行完,中断已经重新触发的情况。
2.低电平触发是即时的,当外部中断信号撤消时,中断申请信号随之消失。如果在外部中断信号申请期间,cpu来不及响应此中断,那么有可能这次中断申请就漏掉了。也就是说假设低/高电平的时间很短。cpu没来得及相应,那么这次的电平中断申请就可能不会检测到。
3.如果想要电平触发中断也只进行一次,通常的做法是在中断退出前关闭中断,等后面需要的时候再打开。
边沿触发:
这里要先了解下:
从低电平到高电平,  叫做上升
从高电平到低电平, 叫做下降
上升沿触发
数字电平从低电平(数字“0”)变为高电平(数字“1”)的那一瞬间叫作上升沿。上升沿触发是当信号有上升沿时的开关动作,当电位由低变高而触发输出变化的就叫上升沿触发。也就是当测到的信号电位是从低到高也就是上升时就触发,叫做上升沿触发。
下降沿触发
数字电路中,数字电平从高电平(数字“1”)变为低电平(数字“0”)的那一瞬间叫作下降沿。下降沿触发是当信号有下降沿时的开关动作,当电位由高变低而触发输出变化的就叫下降沿触发。也就是当测到的信号电位是从高到低也就是下降时就触发,叫做下降沿触发。
那么我们可以很好的理解两种触发:
上升沿触发 就是当电压从低变高时触发中断
下降沿触发 就是当电压从高变低时触发中断
当然,上升沿与下降沿检测的是电平变化的一瞬间,就会产生中断,这个时间是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的中断函数 
{undefined
//吧啦吧啦代码
}
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发出中断请求,进入中断。


上海人工智能核心企业突破1000家
耦合电容和分布电容的选用
基于软件无线电架构的广播监测接收机音质优化设计
导热塑料能延长LED发光二极管的使用寿命
热电偶各种材料的比较
高低电平触发的上升沿触发和下降沿触发区别
机器语言变得越来越简单
Omniverse 资讯速递 | 行业动态、近期发布在线听、最新更新、中文课程系列等你来解锁!
AMD官方:锐龙5000抗热可以达到95°C 没问题!
AppleWatchNike+评测 这款腕表究竟表现如何
青岛签约40个集成电路重点大项目 将带动现有集成电路企业技术更新换代
解读2018华为物联网新战略
智能锁按键出现无反应或禁止操作的原因坤坤智能锁告诉你
2.9秒破百的比亚迪“汉”驾到 定位总裁座驾奔驰宝马们紧张了
西通开拓工业设备市场 计划年产500台3D打印机
红米K30系列宣布首发索尼6400万超清相机IMX686
PWR Alarm-100 5G智能断电监测器产品简介
IFWS2018:功率器件封装与应用分会深圳召开
5G时代媒体与新闻业的未来
基于RT-Thread+RA6M4的智能安防系统详解