单片机外部中断和定时器中断函数嵌套问题 20
现在我想使用单片机外部中断来控制定时器的开关。但是实际运行中单片机没什么反应,程序不知道有什么问题,希望各位大神能帮帮忙啊。具体程序如下(中断函数部分)我想实现的目的是:...
现在我想使用单片机外部中断来控制定时器的开关。但是实际运行中单片机没什么反应,程序不知道有什么问题,希望各位大神能帮帮忙啊。
具体程序如下(中断函数部分)我想实现的目的是:在外部中断内部实现定时器0的初始化,并且把开关打开。定时器0中实现的定时10s,然后检测标志位,若标志位为1,则定时器重新打开,并且把计数清0。若标志位为0.则计数清0.单片机一个管脚置0.请各位大神看看程序有什么问题啊
void int0() interrupt 0 using 0 //外部中断0子函数
{
TH0=0x3c; //定时器1初始化,定时器1开
TL0=0xB0;
TR0=1;
}
void time0() interrupt 1 using 1 //定时器1中断
{
TH0=0x3c;
TL0=0xb0;
TR0=0;
time_count++;
if (time_count==200)
{
if(flag==1)
{
flag=0;
time_count=0;
TR0=1;
}
else
{
time_count=0;
relay=0;
}
}
} 展开
具体程序如下(中断函数部分)我想实现的目的是:在外部中断内部实现定时器0的初始化,并且把开关打开。定时器0中实现的定时10s,然后检测标志位,若标志位为1,则定时器重新打开,并且把计数清0。若标志位为0.则计数清0.单片机一个管脚置0.请各位大神看看程序有什么问题啊
void int0() interrupt 0 using 0 //外部中断0子函数
{
TH0=0x3c; //定时器1初始化,定时器1开
TL0=0xB0;
TR0=1;
}
void time0() interrupt 1 using 1 //定时器1中断
{
TH0=0x3c;
TL0=0xb0;
TR0=0;
time_count++;
if (time_count==200)
{
if(flag==1)
{
flag=0;
time_count=0;
TR0=1;
}
else
{
time_count=0;
relay=0;
}
}
} 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询