IP寄存器位 | 作用 |
---|---|
PS |
串行口RX/TX 中断优先 |
PT1 |
定时器T1 中断优先 |
PX1 |
外中断INT1 中断优先 |
PT0 |
定时器T0 中断优先 |
PX0 |
外部中断INT0 中断优先 |
2 原理图
下面我们进行例子来学习外部中断INT0
与INT1
的使用,例子很简单:使用外部按键模拟外部中断源,当发生外部中断的时候,我们给一个LED灯的电位值取反。下面我们通过原理图来看看要用到的引脚:
① 单片机:
② 独立按键:
③ 上拉电阻:
④ LED灯:
3 程序
① 中断服务函数:
我们知道我们编写的C程序,函数的执行是从main主函数开始执行,现在有了中断,自然就产生一个中断服务函数:
从图中我们可以知道单片机在发生中断的时候,程序的执行过程会从主程序A跳到中断服务程序B,在执行完中断服务程序B后,会返回到之前主程序A被中断打断处继续执行程序。
那么我们如何指定中断服务程序?具体参考以下模板(对于函数名你可以随便写,当然最好贴近有意义的命名)。
外部中断0的中断服务函数