c51语言编写,串口通讯程序,实现AT89S52单片机把一个整型数组数据,发送给

c51语言编写,串口通讯程序,实现AT89S52单片机把一个整型数组数据,发送给另一个c51单片机.求人帮忙

void Init_Serial(void)
{ RD485=0;
SCON = 0x50; //串口工作方式1
TMOD = (TMOD&0x0F)|0x20; //选择定时器1方式2
PCON = 0x80; // 波特率倍增
TH1 = 0xF6; // 计数初值9600bps
TR1 = 1; // 启动定时器1
IE |= 0x90 ; //Enable Serial Interrupt
SBUF=0x00;
RI=0;

}

void delay(void)
{ unsigned int i;
for(i=0; i<9500; i++);
}

void sendbit(unsigned char *ch,int len)
{
int flaglen=0;
RD485=1;
delay();
while (flaglen<len) {
while(!TI) /*检查发送标志*/
{; }
TI=0;
SBUF=*(ch+flaglen); /*发送数据*/
flaglen++;
}
delay();
RD485=0;
} void serial () interrupt 4 using 3

{ if (RI)

{
if(fg>=3)
fg=0;

b[fg]=SBUF;
fg++;
RI = 0 ;
}
}

这个程序的单片机晶振是18.432M的,你用的时候把要发送的整形数据的高低八位放到字符型的数组里,通过中断就能在另一个单片机里接收了,这个程序在发送和接收的单片机里都能用。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-03-04
C51课本上有相关代码
修改一下就能用了

去图书馆看看吧??
第2个回答  2010-03-05
随便找个c51单片机课本都有的实例,还是自己动动手吧!
第3个回答  2010-03-04
钱都仍身外之物了,分算什么。 这位兄弟 。。。。
第4个回答  2010-03-04
没有分不给回答,给我70分
给你一个源程式代码
相似回答