单片机A发送数据到单片机B
发布网友
发布时间:2022-04-22 23:03
我来回答
共1个回答
热心网友
时间:2023-10-08 15:21
1
A:
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:
MOV TMOD,#20H
MOV TH1,#0FDH ;4800bps
MOV TL1,#0FDH
MOV SCON,#50H
SETB TR1
MOV R0,#20H ;首地址
MOV R2,#32 ;共32个字节
LOOP:
MOV A,@R0 ;取数
MOV SBUF,A ;通过串口发送
JNB TI,$ ;等待发送完当前帧数
CLR TI ;清标志
INC R0 ;地址加1
DJNZ R2,LOOP ;32个字节发送是否完。
SJMP $
END
B:
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:
MOV TMOD,#20H
MOV TH1,#0FDH
MOV TL1,#0FDH
SETB TR1
MOV SCON,#50H
MOV R0,#2FH ;首地址
MOV R2,#32
LOOP:
JNB RI,$ ;等待串口数据
CLR RI ;清标志
MOV A,SBUF ;接收数据送A
MOV @R0,A ;保存到RAM
DEC R0 ;地址减1
DJNZ R2,LOOP
SJMP $
END
2:;假设高位在2008H
QB:
MOV DPTR,#2008H
MOVX A,@DPTR
JB ACC.7,QB1
RET
QB1:
MOV B,A
INC DPTR
MOVX A,@DPTR
CPL A
ADD A,#1
MOVX @DPTR,A
MOV DPTR,#2008H
XCH A,B
CPL A
ADDC A,#0
ORL A,#80H
MOVX @DPTR,A
RET