怎么实现AT89C52单片机之间的串行通信

来源:百度知道 编辑:UC知道 时间:2024/05/19 03:14:45
我要求不高,只要两个单片机之间能通信就可以了,
要的是C程序,不要汇编语言。
时间很紧,希望大侠们快点,我可以追加分的。

#include <reg52.h>
#include <intrins.h>

bit flag;

uchar buf[20];
uchar count_rx;
void main(void)
{

TMOD=0x21;
TH1=0xfd;
TL1=0xfd;
TH0=(65536-1000)/256;
TL0=(65536-1000)%256;
TR0=1;
ET0=1;
PCON=0x00;
SCON=0x50;
TR1=1;
ES=1;
EA=1;
while(1);//等待接收
}

/*///////////////////////////////////
串口接收程序
////////////////////////////////////*/
void uart_rx(void)
{
uchar i,j;
led=0;
while(!RI)
{
j++;
if(j>200)
{
j=0;break;}
}
RI=0;
buf[0]=SBUF;
if(buf[0]==0xaa)
{
for(i=0;i<7;i++)
{
while(!RI);
RI=0;
buf[i]=SBUF;

}
led=1;

}

}
////////////////////////////////////////////
以下是发送的单片机程序<