关于单片机中断多优先级的软件扩展方法
LJMP SS ;串行口入口地址
MAIN: MOV IE ,#9FH ;开放所有中断
MOV IP,#03H ;设定INT0、T0为高优先级
SJMP $
X0: PUSH DPL
PUSH DPH
MOV DPTR,#X0RL
PUSH DPL
PUSH DPH
RETI ;(PC)=X0RL,清"高优先级生效"
触发器,此时可响应其它中断请求
X0RL:· ;INT0子程序的真实入口地址
·
·
·
POP DPH
POP DPL
RETI
T0: PUSH DPL
PUSH DPH
MOV DPTR,#T0RL
PUSH DPL
PUSH DPH
RETI ;(PC)=T0RL,清"高优先级生效"
触发器,此时可响应其它中断请求
T0RL: · ;T0子程序的真实入口地址
·
·
·
POP DPH
POP DPL
RETI
X1: PUSH DPL
PUSH DPH
MOV DPTR,#X1RL
PUSH DPL
PUSH DPH
RETI ;(PC)=X1RL,清“高优先级生效”
触发器,此时可响应其它中断请求
X1RL: · ;INT1子程序的真实入口地址
·
·
·
评论