2000分跪求,帮忙读一下单片机程序,一次只能给100分,如果解决 ,可给20次分
本人最近遇到一棘手问题,下面一段代码是一个位移传感器中单片机的代码
此位移传感器可以通过RS485接口读取数据,但由于编写指令的人员已不在
现在不知道通过什么命令读取其中的数据,所以需要分析一下其中单片机的源代码
小弟对单片机没有什么了解,所以想请哪一位大侠出手相救,只要能看出通过什么指令可以由RS485接口取得当前采集的数据即可
小弟跪谢,十万火急
代码:
$MOD51 org 0000h ljmp l_0018
djnz 27h,l_0017
mov 27h,#04h
inc 24h
inc 25h
inc 26h
reti
l_0018:
mov sp,#5fh
lcall l_0207
mov r4,#0ch
lcall l_01fb
mov r0,#7fh
l_0025:
mov @r0,#00h
djnz r0,l_0025
mov p0,#0ffh
mov r2,#18h
mov 23h,#80h
mov p2,23h
l_0034:
anl p1,#0f8h
orl p1,#07h
inc 23h
mov p2,23h
l_003f:
djnz r2,l_0034
mov pcon,#00h
mov scon,#0d8h
mov th1,#0f4h
mov tmod,#21h
mov tcon,#55h
mov ie,#0a2h
mov p0,#0feh
mov p2,#94h
clr p1.2
setb p1.2
mov p2,#90h
clr p1.2
setb p1.2
mov p2,#8ch
clr p1.0
setb p1.0
mov p2,#88h
clr p1.0
setb p1.0
mov p2,#84h
clr p1.1
setb p1.1
mov p2,#80h
clr p1.1
setb p1.1
mov 0c8h,#00h
mov 0cbh,#0e0h
mov 0cah,#00h
l_0089:
mov a,#31h
acall l_0188
jc l_009c
mov r0,#38h
acall l_017d
l_0093:
acall l_01cd
mov r7,#97h
mov b,#0fbh
acall l_015f
l_009c:
mov a,#32h
acall l_0188
jc l_00ed
mov r0,#3dh
acall l_017d
acall l_01cd
mov r7,#8fh
mov b,#0feh
acall l_015f
mov a,3ch
add a,41h
da a
mov c,acc.4
anl a,#0fh
mov 36h,a
mov a,3bh
addc a,40h
da a
mov c,acc.4
anl a,#0fh
mov 35h,a
mov a,3ah
addc a,3fh
da a
mov c,acc.4
anl a,#0fh
mov 34h,a
mov a,39h
addc a,3eh
da a
mov c,acc.4
anl a,#0fh
mov 33h,a
mov a,38h
addc a,3dh
da a
anl a,#0fh
mov 32h,a
acall l_01cd
mov r7,#87h
mov b,#0fdh
acall l_015f
mov a,#34h
acall l_0188
jc l_0102
acall l_01cd
mov r0,#42h
mov a,#24h
acall l_012e
l_00fb:
mov r7,#93h
mov b,#0fbh
acall l_015f
mov a,#35h
acall l_0188
jc l_0117
acall l_01cd
mov r0,#46h
mov a,#25h
acall l_012e
mov r7,#8bh
mov b,#0feh
acall l_015f
mov a,#36h
acall l_0188
jc l_012c
acall l_01cd
mov r0,#4ah
mov a,#26h
acall l_012e
mov r7,#83h
mov b,#0fdh
acall l_015f
ajmp l_0089
l_012e:
mov b,#00h
l_0131:
push acc
mov r2,#04h
mov r1,#32h
l_0137:
mov a,@r1
xch a,@r0
xrl a,@r0
orl b,a
inc r0
inc r1
djnz r2,l_0137
pop acc
mov r0,a
mov a,b
jz l_014a
mov @r0,#00h
ret
mov a,#1eh
clr c
subb a,@r0
jnc l_015e
mov @r0,#1fh
mov 32h,#0ah
mov 33h,#0ah
mov 34h,#0ah
mov 35h,#0ah
ret
mov r2,#04h
mov r0,#32h
l_0163:
mov a,@r0
acall l_01ec
mov p0,a
inc r0
mov a,r7
mov p2,a
dec r7
clr p1.5
mov a,b
anl p1,a setb p1.5 orl p1,#07h
djnz r2,l_0163
ret
mov r1,#32h
mov r2,#05h
mov a,@r1
mov @r0,a
inc r0
inc r1
djnz r2,l_0181
ret
mov b,a
setb p1.7
mov r0,#30h
mov r4,#08h
mov sbuf,#43h
jnb ti,l_0193
clr ti
mov sbuf,a
jnb ti,l_019a
clr ti
clr p1.7
mov r2,#10h
mov r3,#00h
l_01a5:
jb ri,l_01ae
djnz r3,l_01a5
djnz r2,l_01a5
l_01ac:
setb c
ret
clr ri
mov a,sbuf
mov @r0,a
inc r0
djnz r4,l_01a1
mov r0,#30h
cjne @r0,#41h,l_01ac
mov a,31h
xrl a,b
jnz l_01ac
mov r2,#07h
clr a
add a,@r0
inc r0
djnz r2,l_01c4
xrl a,@r0
jnz l_01ac
clr c
ret
l_01cd:
anl 35h,#0fh
mov r2,#05h
mov r0,#36h
mov a,#05h
clr c
l_01d7:
addc a,@r0
da a
mov c,acc.4
anl a,#0fh
mov @r0,a
clr a
dec r0
djnz r2,l_01d7
ret
clr p1.7
mov a,36h
add a,#05h
da a
mov c,acc.4
inc a
movc a,@a+pc
ret
ajmp l_049f
mul ab
mov 9ah,@r0
clr 0c0h.
mov p0,r7
anl c,0f8h.
mov r6,a
clr p1.5
mov a,#01h
acall l_0226
mov a,r4
acall l_0226
setb p1.5
ret
l_0207:
mov a,#06h
clr p1.5
acall l_0226
setb p1.5
ret
mov a,#05h
clr p1.5
acall l_0226
mov r3,#07h
setb p1.4 clr p1.4
djnz r3,l_0218
mov c,p1.3
setb p1.5
jc l_0210
ret
mov r3,#08h
l_0228:
rlc a
mov p1.3,c setb p1.4 clr p1.4
djnz r3,l_0228
retl_02f1:
l_0475:
l_049f:
END