原创 C51中的中断服务程序

2012-10-13 14:11 1299 15 15 分类: MCU/ 嵌入式

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条评论)

登录后参与讨论
我要评论
0
15
关闭 站长推荐上一条 /2 下一条