C51中的中断服务程序
void 函数名(void) interrupt n using m
{
函数体语句
}
interrupt using 是C51中断服务程序引入关键字
只能用于C51中断服务程序逻辑
n是中断号
0 是外部中断0
1 是定时中断T0
2 是外部中断1
3 是定时中断T1
4 是串行中断
5 是定时器T2
m是寄存器组
0——3 4组
不使用编译器将当前工作寄存器都入堆栈
注意#include <reg5X.h> 文件
单片机有四组寄存器组,如果你用汇编写程序,当进入中断后,你不想将现有的寄存器入栈,哪么可切换寄存器组,如切换到1组,然后退出中断时,再切换到0组,同时,在你另外一个中断里如果不想保存寄存器,你可切换到2组,返回时再切换到0组,也就是说程序采用0组寄存器,中断可采用其它三组,如果不想保存寄存器,一个中断只能用一组,否则得保存寄存器。在C51里就是通过using来实现这个功能的,如果你在写定时器时,并加上using 1,哪么你可以查看一下列表,它不再保存寄存器.
文章评论(0条评论)
登录后参与讨论