智能车制作

标题: 为什么单片机一复位就进入输入捕捉中断?? [打印本页]

作者: breaker_d    时间: 2013-8-26 21:23
标题: 为什么单片机一复位就进入输入捕捉中断??
如题,我最近在弄红外遥控,用TIM来检测下降沿,但是单片机每次复位就直接进入了TIM中断,望好心的大神们指教,唉……纠结了半天了
DDRT_DDRT0=0;
//***********TIM始化**************
void TIM_Init(void)
{
  TIOS_IOS0=0;  //设置0通道为输入捕捉
  TSCR2=0x02;   //关闭定时器溢出中断,并4分频得40/4=10Mhz
  TCTL4=0x02;  //设定通道0为下降沿捕捉
  TIE_C0I=1;    //通道0中断使能
  TSCR1=0x80;   //开启总定时器
  TFLG1_C0F=1;    //清空通道0标志位  
}
void interrupt 8 timer_onput()    //输入捕捉通道0的中断向量为8
{
  TIE_C0I=0;  
  TFLG1_C0F=1;
  if(start_flag)
  {
    if(irtime>=80)    //irtime>8ms则认为检测到引导码  
    {   
      bitnum=0;     
    }
    irdata[bitnum]=irtime;    //存取shuju
    bitnum++;
    if(bitnum==33)
    {
      bitnum=0;
      irrec_OK=1;    //一组码发完标志位
    }  
  }
  else
  {
    start_flag=1;      //检测到下降沿,进入中断
    irtime=0;          //接下来是引导码
    PORTB=irtime+1;//??????问题在这里,这里用LED来调试,发现一复位就显示0000 0001,就是说我还没有按遥控,它自动就进入中断了
  }
  TIE_C0I=1;
}


作者: breaker_d    时间: 2013-8-26 21:25
坐等:'(:'(
作者: breaker_d    时间: 2013-8-26 21:31
没人啊:'(
作者: idao    时间: 2013-8-30 22:48
是不是其他地方对B口进行了初始化~~




欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2