智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 2807|回复: 7
打印 上一主题 下一主题

一个脉冲计数器如何分时测量2路脉冲信号??

[复制链接]

9

主题

35

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1308
威望
558
贡献
328
兑换币
314
注册时间
2012-12-28
在线时间
211 小时
毕业学校
广东第二师范学院
跳转到指定楼层
1#
发表于 2013-6-1 20:56:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如图,我在电路中装了个4053模拟开关,用来进行选择哪一路测速通过。

编程代码:
/*-----------端口------------*/
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;
    }
}

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

16

主题

310

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1777
QQ
威望
816
贡献
681
兑换币
308
注册时间
2012-6-11
在线时间
140 小时
2#
发表于 2013-6-1 21:38:58 | 只看该作者
d触发器
回复 支持 反对

使用道具 举报

16

主题

310

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1777
QQ
威望
816
贡献
681
兑换币
308
注册时间
2012-6-11
在线时间
140 小时
3#
发表于 2013-6-1 21:39:34 | 只看该作者
数据选择器
回复 支持 反对

使用道具 举报

42

主题

1054

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3034

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

QQ
威望
1650
贡献
780
兑换币
625
注册时间
2012-7-6
在线时间
302 小时
4#
发表于 2013-6-1 23:50:58 | 只看该作者
XS128啊  不是有8路捕捉么?用两路就可以测速两个电机的呀,又不占CPU,只是读那里
回复 支持 反对

使用道具 举报

15

主题

425

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3848
威望
1553
贡献
879
兑换币
583
注册时间
2012-3-8
在线时间
708 小时
5#
发表于 2013-6-2 12:16:54 | 只看该作者
其实可以用一路累加器和一路输入捕捉输出比较的。不过这样会要用到中断,要把编码器的那个中断提高优先级~~~
回复 支持 反对

使用道具 举报

9

主题

35

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1308
威望
558
贡献
328
兑换币
314
注册时间
2012-12-28
在线时间
211 小时
毕业学校
广东第二师范学院
6#
 楼主| 发表于 2013-6-3 21:42:38 | 只看该作者
穆旦阿斗 发表于 2013-6-1 23:50
XS128啊  不是有8路捕捉么?用两路就可以测速两个电机的呀,又不占CPU,只是读那里

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

使用道具 举报

9

主题

35

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1308
威望
558
贡献
328
兑换币
314
注册时间
2012-12-28
在线时间
211 小时
毕业学校
广东第二师范学院
7#
 楼主| 发表于 2013-6-3 21:43:19 | 只看该作者
♂ˇ邂逅√♀ 发表于 2013-6-2 12:16
其实可以用一路累加器和一路输入捕捉输出比较的。不过这样会要用到中断,要把编码器的那个中断提高优先级~~ ...

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

使用道具 举报

42

主题

1054

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3034

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

QQ
威望
1650
贡献
780
兑换币
625
注册时间
2012-7-6
在线时间
302 小时
8#
发表于 2013-6-3 21:45:47 | 只看该作者
逝去的风 发表于 2013-6-3 21:42
我是想试试用分时,我上面的编程代码是不是有错????模拟开关的设置正确了没有???但是为什么就是测 ...

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

回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-13 02:47 , Processed in 0.049788 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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