[mw_shl_code=c,true]void usart_init(void)//9600=1/32*(11059200/(12*(256-X)))
{
TMOD = 0X20; //T1
SCON = 0X50;
//PCON &= 0X7F;
//TH0=(256-11059200/(bound*32)/12);
//TL0=(256-11059200/(bound*32)/12);
TH1=0XFD;
TL1=0XFD;
ET1=1;
TR1=1;
ES=1;
//EA=1;//在main函数打开
}
void T1_Timer() interrupt 3
{
num++;
if(num>=333)//num=333大概1ms时间到
{
P1=0x00;
num=0;
UartRxMonitor(1);
}
}[/mw_shl_code]
[mw_shl_code=c,true]
[/mw_shl_code]
大家帮我看看T1中断为什么不会产生啊,我用P1=0x00;来点亮LED来验证,结果灯不亮,说明中断没有产生!还有一个问题是我是不是中断时间太小了才产生这样错误的?因为num==333才1ms. 主函数就是对串口初始化,打开EA. |