51单片机串口通信,无法实现通信

刚刚接触单片机串口通信,用串口调试助手,发送任何字母都没有任何反应,波特率设置的是9600

/****************串口通信****************/


#include 
#include 
#include     //包含延时函数
#define uint unsigned int
#define uchar unsigned char
    
void SendData(uchar dat);
void UartInit(void);
void delay_ms(uint time2);
uchar re;

void main(){
    UartInit();
    EA = 1;            //打开总中断
    
    while(1)
    {
    SendData(re);
    delay_ms(50);
    
    }
}


//串口初始化,9600波特率
void UartInit(void)        //9600bps@22.1184MHz
{
    PCON &= 0x7F;        //波特率不倍速
    SCON = 0x50;        //8位数据,可变波特率,选择模式1
    //AUXR |= 0x40;        //定时器时钟1T模式
    //AUXR &= 0xFE;        //串口1选择定时器1为波特率发生器
    TMOD &= 0x0F;        //设置定时器模式
    TMOD |= 0x20;        //设置定时器模式
    TL1 = 0xB8;        //设置定时初始值
    TH1 = 0xB8;        //设置定时重载值
    ET1 = 0;        //禁止定时器%d中断
    TR1 = 1;        //定时器1开始计时
    ES = 1;            //打开串口中断
    
}


void SendData(uchar dat){
    
    SBUF=dat;        //发送数据
    while(!TI);
    TI=0;        //发送中断标志位置0

}




void UART() interrupt 4{        //串口中断号为4
    if(RI)
    {
    RI=0;        //清除接收中断标志
//    ES=0;        //关闭串口中断
    re=SBUF;    //接受数据
    
    }
   
}
/**********延时程序**************/
void Delay1us()        //@22.1184MHz     ,STC-ISP系统生成的延时函数
{
    unsigned char i;

    _nop_();
    i = 5;
    while (--i);
}
void delay_us(uint time1){        //封装的1us函数接口
    uint i;
    for(i=0;i<=time1;i--){
        Delay1us();
    }
}

void Delay1ms()        //@22.1184MHz    STC-ISP系统生成的延时函数
{
    unsigned char i, j;

    i = 29;
    j = 183;
    do
    {
        while (--j);
    } while (--i);
}
void delay_ms(uint time2){        //封装的1ms函数接口
    uint i;
    for(i=0;i<=time2;i--){
        Delay1ms();
    }
}
    
/**********************************/


这个是下载程序的截图:

img


这个是串口调试的截图:

img

串口调试助手用hex模式看看
另外,确定一下烧写程序的时候设置的波特率。