单片机实验11实验四两个单片机之间双向通信实验一、实验目的1.了解MCS-51单片机串行口(UART)的结构、工作方式。2.了解串行口通信的原理和数据交换过程。3.掌握单片机之间进行串行口通信的编程方法。二、实验内容将甲乙两台单片机串行口连接,即甲机的TXD与乙机的RXD相连;甲机的RXD与乙机的TXD相连;并实现双机共地。整个系统实现双向通信。具体是:1.甲机的K1按键可通过串行口分别控制乙机的LED1点亮;LED2点亮;LED1和LED2全亮或者全灭。2.乙机的K2按键可通过串行口向甲机发送数字,甲机将接收到的数字显示在其P0端口的LED数码管显示器上。三、实验程序甲机程序:ORG0000HAJMPMAINORG0003HAJMPSENDORG0023HAJMPREADYMAIN:MOVSCON,#90H单片机实验12MOVPCON,#80HSETBEASETBESSETBIT0SETBEX0MOVSP,#40HMOVR0,#0MOVDPTR,#TABHERE:SJMPHERESEND:CJNER0,#04H,LP1SHOW:MOVA,R0MOVCA,@A+DPTRMOVC,PMOVTB8,CMOVSBUF,ACLRTIINCR0RETIREADY:JBCTI,RETURNRECEIVE:CLRRIMOVA,SBUFMOVP0,A单片机实验13RETURN:RETILP1:JCSHOWCLRCMOVA,R0SUBBA,#04HMOVR0,AAJMPSHOWTAB:DB00H,01H,02H,03HEND乙机程序:ORG0000HAJMPMAINORG0003HAJMPSENDORG0023HAJMPREADYMAIN:MOVSCON,#90HMOVPCON,#80HSETBEASETBESSETBIT0SETBEX0单片机实验14MOVSP,#40HMOVR0,#0MOVDPTR,#TABHERE:SJMPHERESEND:CJNER0,#09H,LP1SHOW:MOVA,R0MOVCA,@A+DPTRMOVC,PMOVTB8,CMOVSBUF,ACLRTIINCR0RETIREADY:JBCTI,RETURNRECEIVE:CLRRIMOVA,SBUFMOVP1,ARETURN:RETILP1:JCSHOWCLRCMOVA,R0SUBBA,#0AH单片机实验15MOVR0,AAJMPSHOWTAB:DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFHEND四、实验原理图五、实验仿真及结果单片机实验16单片机实验17六、实验总结通过本次实验,掌握了单片机之间进行串行口通信的编程方法,对MCS-51单片机串行口(UART)的结构、工作方式都有了进一步的了解。深化了对串行口通信的原理和数据交换过程的理解。