C51中断函数在什么情况下被调用?
1个回答
展开全部
一、中断函数的调用
中断函数是硬件或者操作系统自动调用的,也就是说只要满足触发条件,就会自动调用中断函数(此时主函数是停止的)。当中断函数执行完毕,又返回主函数继续执行主函数。然后这样不断的循环,反正只要是触发中断的条件一满足。就会自动进入中断(前提是你的中断的配置是正确的)
二、中断函数的定义
1、中断函数定义的格式为:
函数类型 函数名 interrupt n using n
其中: Interrupt后面的n是中断号。
关键字using后面的n是所选择的寄存器组,取值范围是0-3.
定义中断函数时,using是一个选项,可以省略不用。如果不用则由编译器选择一个寄存器组作为绝对寄存器组。
2、8051的中断过程通过使用interrupt关键字和中断号来实现,中断号告诉编译器中断程序的入口地址。中断号对应着IE寄存器中的使能位,换句话说,IE寄存器中的0位对应着外部中断0,相应的外部中断0的中断号是0. IE寄存器中的使能位与外部中断对应关系:
中断号 中断源
0 外部中断0
1 定时器0
2 外部中断1
3 定时器1中断
4 串行口中断
5 定时器2中断
中断函数是硬件或者操作系统自动调用的,也就是说只要满足触发条件,就会自动调用中断函数(此时主函数是停止的)。当中断函数执行完毕,又返回主函数继续执行主函数。然后这样不断的循环,反正只要是触发中断的条件一满足。就会自动进入中断(前提是你的中断的配置是正确的)
二、中断函数的定义
1、中断函数定义的格式为:
函数类型 函数名 interrupt n using n
其中: Interrupt后面的n是中断号。
关键字using后面的n是所选择的寄存器组,取值范围是0-3.
定义中断函数时,using是一个选项,可以省略不用。如果不用则由编译器选择一个寄存器组作为绝对寄存器组。
2、8051的中断过程通过使用interrupt关键字和中断号来实现,中断号告诉编译器中断程序的入口地址。中断号对应着IE寄存器中的使能位,换句话说,IE寄存器中的0位对应着外部中断0,相应的外部中断0的中断号是0. IE寄存器中的使能位与外部中断对应关系:
中断号 中断源
0 外部中断0
1 定时器0
2 外部中断1
3 定时器1中断
4 串行口中断
5 定时器2中断
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询