发表于:2004-09-14 18:02:00
楼主
各位大虾:
我是个初学者,在做两个MCS-51通讯,用的是ATMEL的89C52单晶体,MAX232通讯,但总是无法通讯上,我的程序如下,请各位给点意见。
发送:
ORG 0000H
AJMP TRAN
ORG 0023H
AJMP ES00
;******************************************************
TRAN: MOV A,#20H
MOV TMOD,A
MOV TH1,#0FDH
MOV TL1,#0FDH
SETB EA
CLR ET1
CLR ES
SETB TR1
CLR A
MOV SCON,#0E0H
LOOP: MOV A,#11H
LCALL DL400
CLR TI
MOV SBUF,A
AJMP LOOP
;******************************************************
; DELAY TIME
;******************************************************
DL10: MOV R7,#14H ;delay 10ms for shock
DL: MOV R6,#0FAH ;delay 0.5ms
DL6: DJNZ R6,DL6
DJNZ R7,DL
RET
DL400: MOV 08H,#28H ;delay 400ms
LUIS1: LCALL DL10
DJNZ 08H,LUIS1
RET
接收:
ORG 0000H
AJMP RECE
ORG 0023H
AJMP ES00
;*******************************************************
RECE: MOV A,#20H
MOV TMOD,A
MOV TH1,#0FDH
MOV TL1,#0FDH
SETB EA
CLR ES
CLR ET1
SETB TR1
CLR A
MOV SCON,#0D0H
LOOP: CLR RI
WAIT: JNB RI,WAIT
MOV A,SBUF
MOV P0,A
AJMP LOOP
;******************************************************
; DELAY TIME
;******************************************************
DL10: MOV R7,#14H ;delay 10ms for shock
DL: MOV R6,#0FAH ;delay 0.5ms
DL6: DJNZ R6,DL6
DJNZ R7,DL
RET
DL400: MOV 08H,#28H ;delay 400ms
LUIS1: LCALL DL10
DJNZ 08H,LUIS1
RET
仅仅是将一个数送到另一端,并送到P0口显示。
期待你的回复。