大家帮我看看这个51程序,<br /> org 0000h<br /> ajmp main <br /> org 0003h<br /> AJMP IN2<br /> ORG 0013H<br /> AJMP IN3<br /> org 0030h<br />main: mov ie,#85h<br /> mov tcon,#05h<br /> mov sp,#20h<br /> CLR P3.1<br /> MOV IE,10000101B<br /> MOV IP,00000001B<br /><br />START: CLR P2.4<br />rotate: <br /> <br /> CPL P2.4<br /> acall delay<br /> ajmp rotate<br />delay: mov r3,#0FFh<br />del: mov r4,#0FFh<br /> djnz r4,$<br /> djnz r3,del<br /> ret<br /> <br />IN2: push psw<br /> push aCC<br /> setb rs0<br /> CLR rs1<br /> clr ie0<br /> mov r0,#09h<br />loop: <br /> <br /> SETB P2.4<br /> CLR P2.3<br /> acall delay<br /> acall delay<br /> SETB P2.3<br /> ACALL DELAY<br /> acall delay<br /> djnz r0,loop<br /> pop aCC<br /> pop psw<br /> reti<br />IN3: push psw<br /> push aCC<br /> setb rs0<br /> CLR rs1<br /> clr ie1<br /> mov r1,#0Fh<br />loop1: <br /> <br /> SETB P2.4<br /> SETB P2.3<br /> CLR P2.2<br /> acall delay<br /> acall delay<br /> SETB P2.2<br /> ACALL DELAY<br /> acall delay<br /> djnz r1,loop1<br /> pop aCC<br /> pop psw<br /> reti<br /> end<br /><br /><br />问题:当程序进入中断int0时,为什么当int1中断程序不能跳出并转入int1;<br />当程序进入int1时,为什么当int0中断程序不能跳出并转入int0<br />要实现进入int1中断的同时,如果发生int0中断程序转入int0,该怎么编写?<br />谢谢,请指教<br /> |
|