. /
实验四 两个单片机之间双向通信实验
一、实验目的
1.了解MCS-51单片机串行口(UART)的结构、工作方式。 2.了解串行口通信的原理和数据交换过程。 3.掌握单片机之间进行串行口通信的编程方法。 二、实验内容
将甲乙两台单片机串行口连接,即甲机的TXD与乙机的RXD相连;甲机的RXD与乙机的TXD相连;并实现双机共地。整个系统实现双向通信。具体是:
1.甲机的K1按键可通过串行口分别控制乙机的LED1点亮;LED2点亮;LED1和LED2全亮或者全灭。
2.乙机的K2按键可通过串行口向甲机发送数字,甲机将接收到的数字显示在其P0端口的LED数码管显示器上。 三、实验程序 甲机程序:
ORG
0000H
AJMP MAIN ORG
0003H
AJMP SEND ORG
0023H
AJMP READY
MOV SCON,#90H
MAIN:
/ v .
. /
MOV PCON,#80H SETB EA SETB ES SETB IT0 SETB EX0 MOV SP,#40H MOV R0,#0
MOV DPTR,#TAB
HERE: SJMP HERE SEND: CJNE R0,#04H,LP1 SHOW: MOV A,R0 MOV C A,A+DPTR
MOV C,P MOV TB8,C MOV SBUF,A
CLR TI
INC R0
RETI
READY: JBC TI,RETURN
RECEIVE:CLR RI MOV A,SBUF
MOV P0,A
/ v .
. /
RETURN: RETI LP1:JC SHOW CLR C MOV A,R0 SUBB A,#04H MOV R0,A
AJMP SHOW
TAB: DB 00H,01H,02H,03H END
乙机程序: ORG 0000H AJMP MAIN ORG 0003H AJMP SEND ORG 0023H
AJMP READY
MAIN: MOV SCON,#90H
MOV PCON,#80H SETB EA SETB ES SETB IT0
SETB
EX0
/ v .
. /
MOV SP,#40H MOV R0,#0
MOV DPTR,#TAB
HERE: SJMP HERE SEND: CJNE R0,#09H,LP1 SHOW: MOV A,R0 MOV C A,A+DPTR
MOV C,P MOV TB8,C MOV SBUF,A
CLR TI
INC R0
RETI
READY: JBC TI,RETURN
RECEIVE:CLR RI MOV A,SBUF
MOV P1,A
RETURN: RETI LP1: JC SHOW
CLR C MOV A,R0
SUBB A,#0AH
/ v .
. /
MOV R0,A AJMP SHOW
TAB: DB
0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH END
四、实验原理图
五、实验仿真及结果
/ v .