单片机串口通迅

来源:百度知道 编辑:UC知道 时间:2024/05/26 02:01:26
用两个89C51 (单片机A)RXD接(单片机B)TXD (单片机A)TXD接(单片机B)RXD 单片机B的P1口接8个发光二极管。要求单片机A通过串口把单片机B的发光二极管点亮为01010101

请哪位好心人帮帮我!!!!!

A机程序:

DATA1 EQU 30H
ORG 0000H
AJMP MAIN
ORG 0100H
MAIN:MOV SP,#60H
MOV R4,#10
MOV TMOD,#20H ;定时器1方式2
MOV TH1,#0F3H ;波特率2400
MOV TL1,#0F3H
CLR ET1
SETB TR1
MOV SCON,#40H ;串行口方式1,不允许接接收
MOV PCON,#00H
MOV DATA1,#55H ;01010101
CLR TI
AAA: MOV A,DATA1
MOV SBUF,A
WAIT:JBC TI,AAA ;检测发送标志位
SJMP $
END

B机程序:

DATA2 DATA 50H
ORG 0000H
AJMP MAIN
ORG 0100H
MAIN: MOV TMOD,#20H
MOV TH1,#0F3H
MOV TL1,#0F3H
CLR ET1
SETB TR1
MOV SCON,#50H
MOV PCON,#00H
CLR RI
DIS: JBC RI,AAA ;检测接收标志位
MOV A,DATA2
MOV P1,A ;点亮二极管
JMP DIS
AAA: MOV A,SBUF
MOV DATA2,A ;从A机读取数据
SJMP DIS
END

发送55H到B,B从串行接收寄存器传送到P1口不就行了。这是1点亮如果0点亮发送AAH.