单片机中的外部中断低电平触发和下降沿触发区别为:触发条件不同、触发次数不同、退出不同。
一、触发条件不同
1、外部中断低电平触发:外部中断低电平触发是检测到引脚为低电平就触发,从而进入中断函数中处理这个中断。
2、下降沿触发:下降沿触发是检测到信号有下降沿时的开关动作就触发,从而进入中断函数中处理这个中断。
二、触发次数不同
1、外部中断低电平触发:外部中断低电平触发只要引脚为低电平时间内中断一直有效,那么就会一直进入中断,直到电平变化为高电平。
2、下降沿触发:下降沿触发中断只会触发一次,只有在下次电平发生变化时才会重新触发中断。
三、退出不同
1、外部中断低电平触发:如果在电平没有恢复之前就退出中断程序,在退出后又再次进入不会引起外部中断低电平触发。
2、下降沿触发:如果在电平没有恢复之前就退出中断程序,那么会在退出后又再次进入下降沿触发中断。
那再请问下,在中断函数中如果是选用下降沿触发的话,比如是用到外部中断0的话,就必须得有电平变化才有中断产生是么?比如在中断函数中:
void counter(void) interrupt 0
{
EX0=0;
LedNumVal++; //中断计数
EX0=1;
}
这个里面外部中断0开始是置0,然后在中间处写上语句,后面再置1就可以产生中断了是么?
如果可以的话,麻烦和我大致讲下启动外部中断的过程好么
这段话应该可以帮助你理解——选择电平触发时,单片机在每个机器周期检查中断源口线,检测到低电平,即置位中断请求标志,向CPU请求中断。选择边沿触发方式时,单片机在上一个机器周期检测到中断源口线为高电平,下一个机器周期检测到低电平,即置位中断标志,请求中断。
电平触发方式时,中断标志寄存器不锁存中断请求信号,因此要使电平触发的中断被CPU响应并执行,必须保证外部中断源口线的低电平维持到中断被执行为止。而边沿触发方式时,中断标志寄存器锁存了中断请求,中断口线上一个从高到低的跳变将记录在标志寄存器中,直到CPU响应并转向该中断服务程序时,由硬件自动清除。
额.......新手表示看不懂......
追答那就直接回答你上面的问题。下降沿触发,则必须要有一个由高电平变为低电平的过程才能触发中断,这是硬件产生的,提醒软件中断来了,有了这个中断信号后,由主程序跳转到去执行中断程序,中断程序执行完后返回主程序。
本回答被提问者和网友采纳