ORG 0000H
AJMP MAIN
ORG 0003H
AJMP IN0
ORG 0030H
MAIN:
MOV TMOD,#20H
MOV TH1,#0E6H
MOV TL1,#0E6H
SETB TR1
MOV SCON,#50H
CLR TI
SETB EX0
SETB EA
SETB IT0
GO_ON: CLR RI
JNB RI,$
MOV A,SBUF
CPL A
MOV P1,A
SJMP GO_ON
IN0: PUSH ACC
CLR EX0
JB P3.2, OUT
CALL DELAY_10
JNB P3.2,$
CALL DELAY_10
JNB P3.2,$
MOV R0,#30H
LOOP:MOV A,R0
MOV SBUF,A
JNB TI,$
CLR TI
INC R0
CJNE R0,#3AH,LOOP
OUT: SETB EX0
POP ACC
RETI
DELAY_10:
MOVR7,#20
D4:MOVR6,#250
DJNZR6,$
DJNZR7,D4
RET
END
AJMP MAIN
ORG 0003H
AJMP IN0
ORG 0030H
MAIN:
MOV TMOD,#20H
MOV TH1,#0E6H
MOV TL1,#0E6H
SETB TR1
MOV SCON,#50H
CLR TI
SETB EX0
SETB EA
SETB IT0
GO_ON: CLR RI
JNB RI,$
MOV A,SBUF
CPL A
MOV P1,A
SJMP GO_ON
IN0: PUSH ACC
CLR EX0
JB P3.2, OUT
CALL DELAY_10
JNB P3.2,$
CALL DELAY_10
JNB P3.2,$
MOV R0,#30H
LOOP:MOV A,R0
MOV SBUF,A
JNB TI,$
CLR TI
INC R0
CJNE R0,#3AH,LOOP
OUT: SETB EX0
POP ACC
RETI
DELAY_10:
MOVR7,#20
D4:MOVR6,#250
DJNZR6,$
DJNZR7,D4
RET
END