C51中的中断服务程序

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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 文件

单片机有四组寄存器组,如果你用汇编写程序,当进入中断后,你不想将现有的寄存器入栈,哪么可切换寄存器组,如切换到1组,然后退出中断时,再切换到0组,同时,在你另外一个中断里如果不想保存寄存器,你可切换到2组,返回时再切换到0组,也就是说程序采用0组寄存器,中断可采用其它三组,如果不想保存寄存器,一个中断只能用一组,否则得保存寄存器。在C51里就是通过using来实现这个功能的,如果你在写定时器时,并加上using 1,哪么你可以查看一下列表,它不再保存寄存器。

相关文档
最新文档