两单片机串行通信问题

来源:百度知道 编辑:UC知道 时间:2024/05/04 16:14:53
程序如下,要求一个单片机发送数据,另一个接收并显示
ORG 0000H
AJMP MAIN
ORG 0003H
AJMP TXSUB
ORG 0030H
MAIN:MOV 30H,#04H
MOV 31H,#03H
MOV 32H,#02H
MOV 33H,#01H

SETB EA
SETB EX0
SETB IT0

MOV SCON,#90H
MOV PCON,#80H
RXSUB:
RBLOCK DATA 40H
MOV R0, #RBLOCK
MOV R3, #00H
CLR RI
RXLEN:JNB RI,$
CLR RI
MOV A,SBUF
MOV R2,A
ADD A,R3
MOV R3,A
RXDDR:JNB RI,$
CLR RI
MOV A,SBUF
MOV @R0,A
ADD A,R3
MOV R3,A
INC R0
DJNZ R2,RXDDR
RXSUM:JNB RI,$
CLR RI
MOV A,SBUF
XRL A,R3
JNZ ERROR
ACALL DISPLY

ERROR:SJMP $

TXSUB:PUSH ACC
PUSH PSW
MOV A,R0
PUSH ACC
MOV A,R3
PUSH ACC

TBLOCK DATA 30H
LEN DATA 04H
MOV R0, #TBLOCK

仿真的时候没有问题,基本上就是硬件上没搞好了.
重点检查EA脚 有没接+
晶振是否正常? 单片机,8255复位是否正确?

还有低级错误:线有没连错?短路?供电正常 不?....

硬件外部线路有没有正常.

发送时查一下TX脚的电压有没有变化

程序一下子看不出问题