void init()
{
TMOD=0x20;//T1
计时器启动关闭仅仅受TR1控制;定时器1工作方式2:M1MO=10 8位初值自动装填
TH1=0xfa;
TL1=oxfa;
/*初值计算:
!溢出率T1=11059200/((256-初值)*12 )
!串口方式3:
波特率=(2^SMOD/32)*T1 溢出率
由于电源管理寄存器PCON复位时全部清0 SMOD初始=0
4800=(2^0/32)*(11059200/(256-初值)*12)
所以解得 初值= 250=0xfa
*/
TR1=1;//启动T1计时器
REN=1;//允许串口接收
SM0=0;//SM0SM1=01 10位异步收发(8位数据),波特率可变(由定时器1的溢出率控制)
SM1=1;
EA=1;//打开全局中断
ES=1;//打开串口中断
}
我备注应该写的够详细了,希望对你有用