Scaramouch_
写过一点C++
2017-06-20 02:53
采纳率: 75%
浏览 908
已采纳

C51中断向量是一直存在的吗

如题,C51中断向量表显示有6个中断向量,中断向量的地址有中断处理程序吗?还是说
中断来了CPU会自动跑去那几个对应的地方,所以如果我想写有中断处理功能的程序,
要把中断处理程序定位在几个中断向量所指示的地方吗?还想请教一个问题:想了解
C51每个时钟周期甚至每个拍节的执行过程,有什么办法,proteus可以仿真吗?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • weixin_38288558
    啦啦啦蓝精灵 2017-06-20 03:12
    已采纳

    中断向量中存的是指向中断程序的地址,当中断来的时候,CPU会处理掉当前那条指令,然后优先处理你的中断。 如果你想写中断,你可以改表中断向量中断地址,
    指向你写的程序,然后最后指向原本中断向量指向的地址,保证程序不会发生错误。

    点赞 评论
  • Scaramouch_
    写过一点C++ 2017-06-20 03:39

    好吧,get到了。中断向量是固定在那个地方的。当发生中断的时候系统会自动生成一条LCALL指令,调到对应的中断向量处,可以在中断向量处写一条
    跳转指令,跳转向自己所写的中断处理程序处。但是中断向量地址可以不写中断跳转程序,放正常的执行程序,这样的会再有中断过来会不会让程序跑

    点赞 评论

相关推荐