两个单片机都使用串口方式1进行通信,并且必须保证两单片机通信波特率完全一致,否则接受不到正确的数。在发送数据时,向SBUF中写入一个数据后,使用 “while(!TI);” 等待是否发送完毕,因为当发送完毕后,TI被硬件置1,然后才退出 “while(!TI);” 接下来在将TI手动清零,同理,在接受数据时,在中断服务程序中也需要将...
两个51相互之间单⽚机如何进⾏串⼝通信 只进⾏发送是数据的单⽚机 1 #include<reg52.h> 2#define unit unsigned int 3#define uchar unsigned char 4 5 sbit key=P3^7;6 7/*void delayms(unit xms)8{ 9 unit i,j;10 for(i=xms;i>0;i--)11 for(j=580;j>0;j--);12} ...
只进行发送是数据的单片机1#include<reg52.h>2#defineunit unsigned int3#defineuchar unsigned char45sbit key=P3^7;67/*void delayms(unit xms)8{9unit i,j;10for(i=xms;i>0;i--)11for(j=580;j>0;j--);12}*/1314voidsend(uchar date)15{16SBUF=date;17while(!TI);18TI=0;19}2021voidchua...
在单片机的接收端,串两个二极管到模块的发射端,不然单片机接收数据会有问题。两个模块要是同时发送数据的话,那肯定不行的。模块的接收端可以直接接在单片机的发射端上。传输的协议数据没有什么影响的话,两个模块不同时发送数据,就可以正常使用 ...
只进行发送是数据的单片机1#include<reg52.h>2#defineunit unsigned int3#defineuchar unsigned char45sbit key=P3^7;67/*void delayms(unit xms)8{9unit i,j;10for(i=xms;i>0;i--)11for(j=580;j>0;j--);12}*/1314voidsend(uchar date)15{16SBUF=date;17while(!TI);18TI=0;19}2021voidchua...
只进行发送是数据的单片机1#include<reg52.h>2#defineunit unsigned int3#defineuchar unsigned char45sbit key=P3^7;67/*void delayms(unit xms)8{9unit i,j;10for(i=xms;i>0;i--)11for(j=580;j>0;j--);12}*/1314voidsend(uchar date)15{16SBUF=date;17while(!TI);18TI=0;19}2021voidchua...