初学者:T0怎么没有运行中断?
想用定时器T0引起中断时发送数据,同时也想设置串口波特率9600,1位停止位,8位数据
不知这样做行不行,另外用KEILC51调试时不见有T0中断产生,不知怎么回事,谁能帮小弟?
另外,也许是不会用KEILC51调试,望赐教?
void initClock(void)
{
TR0 = 0;
TF0 =0;
TMOD |= 0x01;
TCON = 0x00;
TH0 = 0x00;
TL0 = 0x00;
TR0 = 1;
}
void initComm(void)//9600波特率,1位停止位,8位数据
{
TMOD |= 0x20;
SCON = 0xC0; //串口工作方式为3
PCON = 0x00; //设置串口波特率9600,1位停止位,8位数据
TH1 = 0xFD; //设置T1初始值
TL1 = 0xFD; //设置T1初始值
}
void main(void)
{
TMOD = 0x21;
EA = 1; //开中断
ET0 = 1; //打开定时器中断允许
initComm();
initClock();
for(;;);
}
void clock_int(void) interrupt 1
{
initClock();
}
发表时间:2003年2月21日22:08:00