interrupt 1 using 1

释疑:void Timer0() interrupt 1 using 1

 

Timer0   是函数名,随便取的  

interrupt   xx   using   y  

  跟在interrupt   后面的xx   值得是中断号,就是说这个函数对应第几个中断端口,一般在51中  

  0   外部中断0    

  1   定时器0  

  2   外部中断1  

  3   定时器1  

  4   串行中断  

实际上编译的时候就是把你这个函数的入口地址方到这个对应中断的跳转地址  

  using   y   这个y是说这个中断函数使用的那个寄存器组,51里面一般有4组   r0   --   r7寄存器,一共有32个,如果你的终端函数和别的程序用的不是同一个寄存器组则进入中断的时候就不会将寄存器组压入堆栈返回时也不会谈出来节省代码和时间

原文地址:https://www.cnblogs.com/qqhfeng/p/3650384.html