帮帮我,真的不会啦!

单片机,中断和普通按键的区别,真的不知道有什么区别,麻烦哪位大咖讲解一下


while(1)
{
  程序1;
  程序2;
  程序3;
  按键检测;
}

中断是指的外部中断吗?
举个例子,就拿上面的代码说吧,使用普通按键检测时,要等程序123执行完成,到达按键检测的部分时才能检测一次外部的按键状态。假如程序1执行完一次要使用十秒钟,也就是说按键检测两次的间隔至少要等十秒钟才行,而我们按键刚好是在两次间隔之内完成了,这次按键单片机就会检测不到了。
而使用外部中断时,由于外部中断的优先级较高,也就是说不管此时while里的程序执行到了哪里,只要有外部中断,单片机就会立刻去执行外部中断的扫描,同样的,比如说程序1执行一次需要10s,但对于外部中断来说,不管你主程序执行到了哪里,即使还在执行程序1的内容,此时有外部中断发生时,单片机就会立刻去执行外部中断的内容,不会再因为程序1耗时过长而影响了按键扫描。

https://blog.csdn.net/Taylor_Kurt/article/details/125919379