单片机中断返回怎么控制啊,,,写的程序老是不对,能帮看看吗
ORG 0000H
LJMP MAIN
ORG 0003H
LJMP INTPRO
ORG 0100H
MAIN: MOV P1,#0FFH
CLR EA
SETB PX0
CLR IT0
SETB EX0
SETB EA
MOV A,#0AAH
MODE8:
JNB 20H.3,MODE3 ;顺时针及逆时针选择
RL3:RL A
MOV P0,A
LCALL DELAY1
SJMP RL3
MODE3: RR A
MOV P0,A
LCALL DELAY1
SJMP MODE3
DELAY1:JB 20H.4,DELAY2
MOV R7,#50
MODE4: MOV R6,#10
MODE5: MOV R5,#10
DJNZ R5,$
DJNZ R6,MODE5
DJNZ R7,MODE4
RET ;三层的延时函数
DELAY2:MOV R4,#50
MODE6: MOV R3,#50
MODE7: MOV R2,#100
DJNZ R2,$
DJNZ R3,MODE7
DJNZ R4,MODE6
RET
LJMP MAIN
ORG 0200H
INTPRO:MOV C,P1.3
MOV 20H.3,C
MOV C,P1.4
MOV 20H.4,C
MODE2: JB P1.1,LOOP1
JB P1.2,LOOP2
MOV A,#80H ;一种彩灯闪动方式
RETI
LOOP1: JB P1.2,LOOP3
MOV A,#0E0H ;一种彩灯闪动方式
RETI
LOOP2: MOV A,#0C0H ;一种彩灯闪动方式
RETI
LOOP3: MOV A,#0F0H ;一种彩灯闪动方式
RETI
END
|