#include<reg51.h>
unsigned char rec[5];
unsigned char incept(void);
void serial() interrupt 4 // 串口中断
{
rec[0]=incept();
rec[1]=incept();
rec[2]=incept();
rec[3]=incept();
rec[4]=incept();
RI=0;
}
void uart(void) //初始化
{
TMOD=0x20;
SCON=0x40;
PCON=0x00;
REN=1;
RI=0;
TI=0;
TMOD=0x20;
TH1=0xfd;
TL1=0xfd;
TR1=1;
EA=1;
ES=1;
}
unsigned char incept(void) //由串口逐字节接收数据
{
unsigned char urt;
while(RI==0) ;
urt=SBUF;
RI=0;
return urt;
}
void send(unsigned char*str,unsigned char ss)
{
while(*str!=0x00)
{
SBUF=*str;
while(!TI);
TI=0;
str++;
}
SBUF=ss;
while(!TI);
TI=0;
}
void main()
{
unsigned int i;
uart();
for(i=0;i<5;i++)
{
rec[i]=incept();
}
send(rec,'Y');
}
上面就是我写的源程序,各位帮帮忙哈