实验四 两个单片机之间双向通信
实验(总7页)
--本页仅作为文档封面,使用时请直接删除即可-- --内页可以根据需求调整合适字体及大小--
实验四 两个单片机之间双向通信实验
一、实验目的
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
MAIN: MOV SCON,#90H
11
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,RETURNRECEIVE:CLR RI
MOV A,SBUF
MOV P0,A
12
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
13
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 MOV CLR
TB8,C SBUF,A TI
INC R0
RETI
JBC TI,RETURN
RI
READY:
RECEIVE:CLR
MOV A,SBUF MOV P1,A
RETI SHOW
C A,R0 A,#0AH
14
RETURN: LP1: JC
CLR MOV SUBB
MOV R0,A AJMP SHOW
0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH
TAB: DB
END
四、实验原理图
五、实验仿真及结果
15
16
六、实验总结
通过本次实验,掌握了单片机之间进行串行口通信的编程方法,对MCS-51单片机串行口(UART)的结构、工作方式都有了进一步的了解。深化了对串行口通信的原理和数据交换过程的理解。
17
因篇幅问题不能全部显示,请点此查看更多更全内容