• 回复
  • 收藏
  • 点赞
  • 分享
  • 发新帖

请问中断0需要哪些指令啊

请问中断0需要哪些指令啊
全部回复(2)
正序查看
倒序查看
tj_zjh
LV.1
2
2007-09-10 00:34
一般是由外部产生一个中断信号,然后才由软件执行中断程序,先是保护现场数据退出时恢复,然后执行中断程序,具体指令应该和正常编成一样.本人也不是太懂请内行人士批评指正.
0
回复
njyd
LV.8
3
2007-09-10 22:15
  还没有人回答?那我就来说说:
  以8031为例:
  首先要有这么两条指令:
    ORG 03      ;中断0
      LJMP AINT0
  每次有中断0就会跳到地址03,LJMP AINT0转移到你的中断处理程序.
  以下寄存器设置可以任意顺序.
  INT0(12脚,P3.2)要置1,如果你未对此脚操作可以不管它,因为复位后它就是1.
  设置IT0,=1时12脚负跳沿有效,=0低电平有效.(必需,如果要设为1可以不管,复位后它就是1)
  设置中断优先级寄存器IP,=1时高优先级,如果不需要优先级也可以不管
  设置EX0和EA为1,EX0是中断0允许位,EA是中断总允许位,=1为允许,=0为禁止.(必需,一般把设置EA放在最后,设置完了打开所有需要的中断.)

  中断处理程序最后要用RETI返回断点.
    如果中断处理程序要影响到中断处程序要用到的寄存器要用堆栈保护现场,如PSW、ACC等.
AINTO:  PUSH   ACC        ;中断0
        PUSH   PSW
        ……
         MOV    PSW,#10H
        ……
         MOV A,B
        SUBB A,#35H    
        ……
         POP    PSW
        POP    ACC
        RETI



  
0
回复