串口问题,小白求教大神来帮我,比如我用串口调试助手输入1234,只在液晶屏显示12,输入12345,显示 125

#include<reg51.h>
#include <intrins.h>

unsigned char i,j,k;
unsigned char transdata;

sbit RS=P2^6;
sbit RW=P2^5;
sbit E =P2^7;

void c_init();
void delay();
void init();
void write_data(unsigned char);
void write_com(unsigned char);

void delay() //延时
{

for(i=0;i<5;i++)
for(j=0;j<110;j++);

}

void init() //初始化1602液晶屏
{
write_com(0x38);
write_com(0x0c);
write_com(0x06);
write_com(0x01);
write_com(0x80);

}

void write_com(unsigned char com) //写命令
{
RS=0;
RW=0;
P0=com;
delay();
E=1;
delay();
E=0;

}

void write_data(unsigned char date) /写数据
{

 RS=1;
 RW=0;
 P0=date;
 delay();
 E=1;
 delay();
 E=0;

}

void c_init() //初始化串口
{
SCON=0X50;
TMOD=0X20;
PCON=0X80;
TH1=0XF3;
TL1=0XF3;
TR1=1;

}

void main()
{
c_init(); //串口初始化
init(); //LCD1602初始化

while(1)
{
  if(RI==1)         //接收到数据
  {
    transdata=SBUF;
    RI=0;
    SBUF=transdata;        
    while(!TI);
    TI=0;
    write_data(transdata);   //液晶屏显示数据


  }
} 

}

http://jingyan.baidu.com/article/bad08e1ee083e509c8512188.html

我已经有串口调试助手了。请好好看问题