两个单片机之间通讯,用的是串口工作方式3。 1、接好两个单片机之间的三根线: 单片机A 单片机B GND ------- GND TXD ------- RXD RXD ------- TXD 2、两个单片机用相同的晶振,串行口都采用方式0。 单片机A发一个字节,单片机B收一个字节。 如果单片机B能收那个字节,硬件OK! 单片机A参考程序: ORG 0 MOV TMOD,#0; 可以不写。 MOV SBUF,#87H; 立即数是你想发的字节。 SJMP $ END 单片机B参考程序: ORG 0 MOV TMOD,#0; 可以不写。 SETB REN; 允许接受。 LOOP:MOV P1,SBUF; 在P1口显示接受到的数据。 SJMP LOOP ;循环等待。因为单片机A一个字节发过来需要10个机器周期。 END 单片机A不需要硬件。 单片机B硬件如下: 元件: LED发光二极管8只,即LED0、LED1、LED2 ... LED7。 1K欧姆1/4W电阻8只,即R0、R1、R2 ... R7。 连接: R0、R1、R2 ... R7一端连接+5V,另一端连接LED0、LED1、LED2 ... LED7阳极, LED0、LED1、LED2 ... LED7阴极连接 P1.0、P1.1、P1.2 ... P1.7。 如此连接后,收到的数据是0的,对应的LED亮;收到的数据是1的,对应的LED灭。 3、在第二步OK的基础上调试你的程序。 |