putin168 发表于 2013-4-21 16:03:29

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

本帖最后由 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是麦克风的输出

tongdayusu 发表于 2013-4-21 19:29:02

试试??

yanmaishuilei 发表于 2013-4-21 19:38:35

在keil里面仿真试试。
页: [1]
查看完整版本: 求助一个程序的问题,,各位看看我的程序是否错误