ORG 0000H
MOV TMOD, #20h
MOV SCON, #52h
MOV PCON, #80h
MOV TH1, #0FAh
MOV TCON, #40h ; SETB TR1
MOV 50h, #'H'
MOV 51h, #'E'
MOV 52h, #'L'
MOV 53h, #'L'
MOV 54h, #'O'
MOV 55h, #10 ; LF
MOV 56h, #13 ; CR
;-------------------------------------------------
;Main Program
;-------------------------------------------------
SERIAL:
LCALL send_string
Not_Continue:
LCALL char_get
CJNE A, #'c', Not_Continue
SJMP SERIAL
;-------------------------------------------------
;Character sent subroutine
;-------------------------------------------------
send_string:
MOV R0, #07h ; Loop counter ..
MOV R1, #50h
S_Loop:
MOV A, @R1
LCALL Ser_Out
INC R1
DJNZ R0, S_Loop
RET
Ser_Out:
JNB TI, $
CLR TI
MOV SBUF, A
RET
;-------------------------------------------------
;Character receive subroutine
;-------------------------------------------------
char_get:
JNB RI, char_get
CLR RI
MOV A, SBUF
RET
; --------------------------------------------------
END