求助一个程序的问题,,各位看看我的程序是否错误

2020-01-30 13:43发布

本帖最后由 putin168 于 2013-4-21 16:16 编辑

写了一个小程序,,在外部中断里调用定时器0,但每次感觉输出的值不固定,,像是定时器0一直在计数。
贴上外部中断程序
void oter_adjust(void) interrupt 0
{
        TR0=1;        //开启定时器0
        time3_flag=1;
            while(1)          //轮询各麦克风
                {
                        if(time3_flag==1&&timer3==1)                //麦克风3接收到信号
                        {
                                 timer_3=(TH0<<8)+TL0; //提取时间差
                                time3_flag=0;
                        }
                        if(timer2==1)                //麦克风2最后接收到信号
                        {
                                 timer_2=(TH0<<8)+TL0;  //提取时间差
                                TR0=0;                         //关闭定时器0
                                TH0=0x00;
                                TL0=0x00;
                                break;                         //跳出循环
                        }
                }
                ti_x=timer_2-timer_3;           //麦克风2与麦克风3为速度控制       
}
timer3,timer2是麦克风的输出
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。