智能车制作

标题: 一个脉冲计数器如何分时测量2路脉冲信号?? [打印本页]

作者: 逝去的风    时间: 2013-6-1 20:56
标题: 一个脉冲计数器如何分时测量2路脉冲信号??
如图,我在电路中装了个4053模拟开关,用来进行选择哪一路测速通过。
[attach]46389[/attach]
编程代码:
/*-----------端口------------*/
void init_PORT(void){
  DDRK=0xFF;
  PORTK=0xFF;
}
/*-----------脉冲累加器-----------*/
void init_PACN(void){
  TIOS=0;//设置IC方式
  PACTL_PAEN=0;//关闭捕捉器
  PACNT=0;//计数器清零
  PACTL_PAMOD=0;//工作于计数方式
  PACTL_PEDGE=1;//上升沿计数
}
void init_TIM1(void){
  PORTK=0x00;
  PACNT=0;//脉冲累加器清零
  PACTL_PAEN=1;//脉冲计数器使能
}
void init_TIM2(void){
  PORTK=0x02;
  PACNT=0;//脉冲累加器清零;
  PACTL_PAEN=1;//脉冲累加器使能
}

在中断时进行:
interrupt VectorNumber_Vpit0 void PIT_ISR(void){   
    PITTF_PTF0=1;
    count=count+1;
    if(count==1){
    init_TIM1();
    } else if(count==2){
    LeftPulse=PACNT;
    init_TIM2();
    } else if(count==3){
    RightPulse=PACNT;
      count=0;
    }
}

请问是不是有什么错误,为什么会测不了?????求指导!!!

作者: mtyterry    时间: 2013-6-1 21:38
d触发器
作者: mtyterry    时间: 2013-6-1 21:39
数据选择器
作者: 穆旦阿斗    时间: 2013-6-1 23:50
XS128啊  不是有8路捕捉么?用两路就可以测速两个电机的呀,又不占CPU,只是读那里
作者: ♂ˇ邂逅√♀    时间: 2013-6-2 12:16
其实可以用一路累加器和一路输入捕捉输出比较的。不过这样会要用到中断,要把编码器的那个中断提高优先级~~~
作者: 逝去的风    时间: 2013-6-3 21:42
穆旦阿斗 发表于 2013-6-1 23:50
XS128啊  不是有8路捕捉么?用两路就可以测速两个电机的呀,又不占CPU,只是读那里

我是想试试用分时,我上面的编程代码是不是有错????模拟开关的设置正确了没有???但是为什么就是测不出数据。

作者: 逝去的风    时间: 2013-6-3 21:43
♂ˇ邂逅√♀ 发表于 2013-6-2 12:16
其实可以用一路累加器和一路输入捕捉输出比较的。不过这样会要用到中断,要把编码器的那个中断提高优先级~~ ...

我是想试试用分时,我上面的编程代码是不是有错????模拟开关的设置正确了没有???但是为什么就是测不出数据。

作者: 穆旦阿斗    时间: 2013-6-3 21:45
逝去的风 发表于 2013-6-3 21:42
我是想试试用分时,我上面的编程代码是不是有错????模拟开关的设置正确了没有???但是为什么就是测 ...

不复用也不能计数??  初始化的问题吧






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