智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1377|回复: 3
打印 上一主题 下一主题

[咨询] 为什么单片机一复位就进入输入捕捉中断??

[复制链接]

6

主题

69

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1859
威望
852
贡献
541
兑换币
569
注册时间
2013-1-14
在线时间
233 小时
跳转到指定楼层
1#
发表于 2013-8-26 21:23:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如题,我最近在弄红外遥控,用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;
}

6

主题

69

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1859
威望
852
贡献
541
兑换币
569
注册时间
2013-1-14
在线时间
233 小时
2#
 楼主| 发表于 2013-8-26 21:25:06 | 只看该作者
坐等:'(:'(
回复 支持 反对

使用道具 举报

6

主题

69

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1859
威望
852
贡献
541
兑换币
569
注册时间
2013-1-14
在线时间
233 小时
3#
 楼主| 发表于 2013-8-26 21:31:30 | 只看该作者
没人啊:'(
回复 支持 反对

使用道具 举报

4

主题

200

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3590

优秀会员奖章活跃会员奖章

威望
1736
贡献
1082
兑换币
1151
注册时间
2012-11-3
在线时间
386 小时
4#
发表于 2013-8-30 22:48:10 | 只看该作者
是不是其他地方对B口进行了初始化~~
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-9-22 07:14 , Processed in 0.061121 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表