请问51单片机与51单片机之间的串口通信程序怎么写?
发布网友
发布时间:2022-04-20 04:00
我来回答
共1个回答
热心网友
时间:2023-07-11 09:46
<p>甲机发送(拨码开关):</p>
<p>ORG 00H</p>
<p>AJMP MAIN</p>
<p>ORG 30H</p>
<p>MAIN: </p>
<p>MOV SCON,#50H ;8位发送,接收</p>
<p>MOV TMOD,#20H ;定时器1方式2,8 位自动重装。</p>
<p>MOV TH1,#0FAH ;11.0592MHz,4800bps</p>
<p>MOV TL1,#0FAH</p>
<p>SETB TR1</p>
<p> </p>
<p>MAIN1:</p>
<p>MOV A,P1</p>
<p>CJNE A,20H,SEND_0</p>
<p>AJMP MAIN1</p>
<p>SEND_0:</p>
<p>ACALL SEND</p>
<p>AJMP MAIN1</p>
<p> </p>
<p>SEND:</p>
<p>MOV 20H,A</p>
<p>MOV SBUF,A</p>
<p>JBC TI,SEND</p>
<p>RET</p>
<p>END</p>
<p> </p>
<p> </p>
<p>乙机接收(LED显示):</p>
<p>ORG 00H</p>
<p>AJMP MAIN</p>
<p>ORG 30H</p>
<p>MAIN: </p>
<p>MOV SCON,#50H ;串口工作方式1,允许接收。</p>
<p>MOV TMOD,#20H ;定时器1工作方式2,8 位计数,自动重装定时常数</p>
<p>MOV TH1,#0FAH ;11.0592MHz,4800bps</p>
<p>MOV TL1,#0FAH</p>
<p>SETB TR1</p>
<p>RECE: </p>
<p>JB RI,MAIN1 ;收完RI机器置1,转数据处理。</p>
<p>AJMP $-3
;没收完继续 </p>
<p>MAIN1: </p>
<p>MOV A,SBUF</p>
<p>MOV P2,A</p>
<p>CLR RI</p>
<p>AJMP RECE
;继续接收 </p>
<p> </p>
<p>END</p>
<p> </p>
<p> </p>
<p></p>
<p> </p>