ORG 00H
AJMP MAIN
ORG 13H
AJMP EX1INT
ORG 0030H
MAIN:
MOV P1,#0
SETB EA
SETB EX1
SETB IT1
MAIN1:
MOV P1,A
AJMP MAIN1
EX1INT:
INC A
CJNE A,#0,RTI
MOV A,#0
RTI:
RETI
END
按照楼主的电路,下列程序就可以达到加一的效果。
ORG 0000H
SJMP MAIN
ORG 0013H
SJMP X1_INT
ORG 0030H
MAIN:
SETB IT1
SETB EX1
SETB EA
MOV A, #255
SJMP $ ;等待中断
X1_INT:
DEC A ;减一,相当于加一
MOV P1, A ;因为是低电平发光
;---------------下面延时约2ms
DJNZ R7, $
DJNZ R7, $
DJNZ R7, $
DJNZ R7, $
RETI ;返回
END