51单片机中断详解

原创
2019/11/20 17:36
阅读数 24

参考资料

中断控制寄存器IE

7 6 5 4 3 2 1
EA EC ET2 ES ET1 EX1 ET0

每一位的功能说明如下

  • EA: 允许 / 禁止全部中断。当EA=0,则禁止所有中断的相应;当EA=1,则打开全局中断控制。
  • EC:PCA中断允许/禁止位,当EC=1时允许,当EC=0时禁止。
  • ET2:定时器/计数器2中断允许/禁止位,当ET2=1时允许,当ET2=0时禁止。
  • ES:串行口中断允许/禁止位。当ES=1时允许,当ES=0时禁止。
  • ET1:定时器/计数器1中断允许/禁止位,当ET1=1时允许,当ET1=0时禁止。
  • EX1:外部中断1允许/禁止位,当EX1=1时允许,当EX1=0时禁止。
  • ET0:定时器/计数器0中断允许/禁止位,当ET0=1时允许,当ET0=0时禁止。
  • EX0:外部中断0允许/禁止位,当EX0=1时允许,当EX0=0时禁止。

对中断允许的软件控制可分为两级;由 EA 位的置位/复位实现对所有中断源请求的控制,当置 EA=1 时,通过各允许位的置位/复位控制各中断的允许。

C语言编写

知识点

  • _nop_()函数,该函数是在51单片机中用的延时函数,表示执行一条没有什么意义的指令,延时一个机器周期。一般包含在#include "intrins.h" 头文件中。
  • 中断函数格式如下: void 函数名()interrupt 中断号 using 工作组 { 中断服务程序内容 } 如果没有使用 using 参数,则在中断函数中使用的工作寄存器都将保存在堆栈。
展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部