ORG 00H JMP init ORG 23H RETI ORG 30H init: MOV TMOD, #20H ; Timer 1 mode 2 MOV TH1, #0FDH ; TH1 = FDH MOV SCON, #50H SETB TR1 ; Start Timer 1 ; enable transmission and receiving CLR RI CLR TI main: ACALL receive ACALL transmit ACALL blink JMP main receive: JNB RI, $ MOV A, SBUF CLR RI RET transmit: MOV SBUF, A JNB TI, $ CLR TI RET hexprint: PUSH ACC MOV DPTR, #hex SWAP A ANL A, #0FH MOVC A, @A+DPTR ACALL transmit POP ACC ANL A, #0FH MOVC A, @A+DPTR ACALL transmit RET blink: CLR P2.5 CLR P2.5 ACALL delay SETB P2.5 SETB P2.5 RET delay: MOV R2,#07FH MOV R1,#0 d: DJNZ R1, d DJNZ R2, d RET hex: DB "0123456789ABCDEF" e: END