以下是我的初始化程序!为什么我打开定时器0之后串口就没反应了呢?晶振是18.432Mhz的
TMOD |= 0x21; // 定时器1工作于8位自动重载模式, 用于产生波特率
TH1 = 0xFB; // 波特率9600
TL1 = 0xFB;
SCON = 0x50; // 设定串行口工作方式
PCON &= 0xef; // 波特率不倍增
TR1 = 1; // 启动定时器1
IE = 0x0; // 禁止任何中断
TH0=0x10; /*高八位赋初值*/
TL0=0x00; /*低八位赋初值*/
EA=1; /*开中断总*/
ET0=1; /*允许T0中断*/
TR0=0; /*开启定时器*/
PS=1; /*串口优先中断*/
EA=1; /*总中断*/
ES=1; /*串口中断*/
我中断都打开了啊!定时器0一工作,串口就没有反应了!
/*****************************定时器0中断程序*******************************/
void TimerSerive(void) interrupt 1 using 1
{
TH0=0x10; /*高八位赋初值*/
TL0=0x00; /*低八位赋初值*/
Tx++;
if(Tx==25)
{
Second++;
SBUF=Second;
Tx=0;
}
}