//********ALP PROGRAM FOR GPS*********************//
org 00h
ljmp main
org 0100h
main: mov p0,#00h
mov a,#30h
lcall cmdrt
lcall delay
mov a,#30h
lcall cmdrt
lcall delay
mov a,#38h
lcall cmdrt
lcall delay
mov a,#06h
lcall cmdrt
lcall delay
mov a,#0fh
lcall cmdrt
lcall delay
mov a,#80h
lcall cmdrt
lcall delay
main1: mov a,#01h
lcall cmdrt
lcall delay
mov a,#'W'
lcall dw1
lcall delay
mov a,#'E'
lcall dw1
lcall delay
mov a,#'L'
lcall dw1
lcall delay
mov a,#'C'
lcall dw1
lcall delay
mov a,#'O'
lcall dw1
lcall delay
mov a,#'M'
lcall dw1
lcall delay
mov a,#'E'
lcall dw1
lcall delay
mov a,#' '
lcall dw1
lcall delay
mov a,#'T'
lcall dw1
lcall delay
mov a,#'O'
lcall dw1
lcall delay
mov a,#' '
lcall dw1
lcall delay
mov a,#'G'
lcall dw1
lcall delay
mov a,#'P'
lcall dw1
lcall delay
mov a,#'S'
lcall dw1
lcall delay
mov a,#0c0h
lcall cmdrt
lcall delay
lcall delay1
lcall delay1
lcall delay1
lcall delay1
; GPS Routine
mov scon,#50h
mov tmod,#20h
mov th1,#0fah
mov tl1,#0fah
setb tr1
loop23: mov a,#01h
lcall cmdrt
lcall delay
he: clr ri
jnb ri,$
mov a,sbuf
cjne a,#'$',he
mov dptr,#write
hrs: clr a
movc a,@a+dptr
cjne a,#'$',hr
sjmp her
hr: lcall dw1
lcall delay
inc dptr
sjmp hrs
her: lcall delay1
lcall delay1
lcall delay1
mov a,#01h
lcall cmdrt
lcall delay
mov a,#80h
lcall cmdrt
lcall delay
here: clr ri
jnb ri,$
mov a,sbuf
cjne a,#'G',here
clr ri
jnb ri,$
mov a,sbuf
cjne a,#'G',here
clr ri
jnb ri,$
mov a,sbuf
cjne a,#'A',here
mov r7,#0bh
here2: clr ri
jnb ri,$
djnz r7,here2
mov r7,#0bh
here3: clr ri
jnb ri,$
mov a,sbuf
lcall dw1
djnz r7,here3
mov r0,#40h
mov r7,#0dh
here8: clr ri
jnb ri,$
mov a,sbuf
mov @r0,a
inc r0
djnz r7,here8
mov a,#'-'
lcall dw1
lcall delay
mov a,#'L'
lcall dw1
lcall delay
mov a,#'A'
lcall dw1
lcall delay
mov a,#'T'
lcall dw1
lcall delay
mov a,#'I'
lcall dw1
lcall delay
mov a,#0c0h
lcall cmdrt
lcall delay
mov r0,#41h
mov r7,#0bh
here7: inc r0
mov a,@r0
lcall dw1
lcall delay
djnz r7,here7
mov a,#'-'
lcall dw1
lcall delay
mov a,#'L'
lcall dw1
lcall delay
mov a,#'O'
lcall dw1
lcall delay
mov a,#'N'
lcall dw1
lcall delay
mov a,#'G'
lcall dw1
lcall delay
lcall delay
lcall delay
lcall delay
lcall delay
lcall delay
lcall delay
lcall delay
lcall delay
lcall delay
ljmp loop23
dw1:
setb p2.0
lcall mdata
ret
cmdrt:
clr p2.0
lcall mdata
ret
mdata:mov p0,a
setb p2.1
nop
nop
nop
nop
nop
nop
nop
nop
clr p2.1
clr p2.0
ret
delay:mov r4,#70h
lpp2:mov r3,#0ffh
lpp1:djnz r3,lpp1
djnz r4,lpp2
ret
delay1:mov r4,#0ffh
lpp22:mov r3,#0ffh
lpp11:djnz r3,lpp11
djnz r4,lpp22
ret
write: db'RECEIVING$'
end
try this and convert this to C code, if you cannot understand i will send the C code