89C51中断程序 汇编 单片机

时间:2012-04-19 02:21:52
【文件属性】:
文件名称:89C51中断程序 汇编 单片机
文件大小:848B
文件格式:ASM
更新时间:2012-04-19 02:21:52
单片机 89C51 汇编 问什么中断返回时间较长: 这是因为延时子程序用到的寄存器的值没有被保存完好的问题。因为假如中断绝大部分都发生在主程序循环中调用延时程序时,如,此时R5,R6,R7分别为一个非零值。当进入中断服务程序后,由于LED灯亮灭需要再次调用延时子程序,当在中断服务程序中调用延时子程序时,最终在延时结束后,R5,R6,R7的值均以达到#000H,因为DJNZ这条指令会先减一再判断是否跳转,所以当中断返回后,延时程序运行到DJNZ这条指令的时候,R5,R6,R7都会被减一,此时R5,R6,R7值为:#0FFH,这样程序将会进入一个三重循环,循环次数均为FF次,这就是所谓的中断返回时间较长的问题的原因。 感觉写的不对,希望大家包含。。。

网友评论

  • 需要时还是可以的
  • 不错,汇编看不懂啊。