外部中断边沿触发和电平触发的区别

两者各有优劣,电平触发抗干扰性强,但有延迟;边沿触发灵敏度高,但容易受干扰;两种需要按需选用’

如果是采用边沿检测外部中断,检测到电平变化会中断,但是如果中断检测口一直保持某一电平,则无法产生下次中断,需要等下次检测到电平变化才会中断。
如果是采用电平检测外部中断,检测到低/高电平会中断,但是如果中断检测口一直保持低电平,中断处理完成后,会继续产生下次中断,需要检测到高电平才会停止中断产生。

电平触发方式是按照电平的高或者低来触发,所以用的时候,必须在发生触发事件后立即将电平拉到非触发电平上,如果不这样做的话,会导致程序一直在触发事件程序入口处,而不会执行其他地方的程序。所以一般比较少用。
边沿触发方式是按照(上或下)边沿触发事件,由于触发的条件是边沿(上或下),所以即使在触发事件后,保存原来的电平都没有关系,不会一直在触发的一般都用这种方式

/*--------------------------------------------------------*/
外部中断0 控制一个LED亮灭

#include<reg51.h>
sbit LED=P1^3;
void main(){
	EX0=1;
	EA=1;
	IT0=1;	//边沿触发方式
	LED=1;
	while(1);
}

void alter()interrupt 0
{
	LED=!LED;
}

Conclusion:如果不写外部中断的触发方式 就算按了按键 会很不灵 板子还是边沿触发方式稳一点,即IT0=1;

posted @ 2022-05-14 15:15  iZJ"Qq4577105  阅读(746)  评论(0编辑  收藏  举报