89c51单片机产生外部中断,若有中断源进来,怎样在内部程序里外部中断地址安排在2000H

如题所述

提问有误。“怎样在内部程序里外部中断地址安排在2000H”。应该是外部中断程序的地址安排在2000H,因为51两个外部中断,外中断0的中断入口地址是0003H,外中断1的中断入口地址是000BH。以中断0为例,产生中断0后,程序进入中断入口地址0003H,我们写程序的时候在地址0003H放一条跳转指令,让他跳到2000H即可。
程序如下:
ITT0 EQU 2000H;ITT0表示地址2000H
ORG 0000H;单片机上电后从0000H开始执行程序
LJMP ST;跳转到标号ST,为了保护0003H等地址
ORG 0003H;外部中断0入口.
LJMP ITT0;有外部中断则跳到地址为2000H的ITT0开始执行中断程序
ST:
。。。。。。。。。
。。。。。。。。。
ITT0:;中断程序地址2000H
。。。
。。。
RETI;结束中断

END ;程序结束
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-02-24
如下即可:
ORG 0000H ;复位入口.
LJMP SATRT
ORG 0003H ;外部中断0入口.
LJMP 2000H
SATRT:
……
……
ORG 2000H ;外部中断程序.
……
……
END
第2个回答  2012-02-25
楼主威武啊,都是张lp的啊!!
相似回答