关于AT89C51的串口发送数据

我的代码如下:
#include
unsigned char temp=0xaa;
void delay(unsigned char i);
void Inituart();

void main(){
Inituart();
SBUF=temp;
while(1);
}

void Inituart(){
SCON=0X40;
PCON=0X00;
TMOD=0X20;
TH1=0XFD;
TL1=0XFD;
ET1=0;
ES=1;
EA=1;
TR1=1;
}

void uart() interrupt 4
{

TI=0;
delay(50);
SBUF=temp;
}

void delay(unsigned char i){
unsigned char j=255;
for(;j>0;j--)
for(;i>0;i--);
}


用proteus仿真得到的逻辑如图:![图片说明](https://img-ask.csdn.net/upload/201611/02/1478088231_760960.png)
也就是 0 0 1 0 1 0 1 0 1 1   刚好10位,但是我代码发送的是0xaa,不应该是
0 1 0 1 0 1 0 1 0 1吗?求救大腿??

http://www.zybang.com/question/262918bd9faf0b7d58718ac3f98105f9.html