智能车制作

 找回密码
 注册

扫一扫,访问微社区

楼主: 我是北丐
打印 上一主题 下一主题

脉冲累加器测速问题

  [复制链接]

32

主题

782

帖子

1

精华

常驻嘉宾

帮主

Rank: 8Rank: 8

积分
3869
威望
2079
贡献
698
兑换币
86
注册时间
2010-10-22
在线时间
547 小时
11#
 楼主| 发表于 2012-2-14 21:01:30 | 只看该作者
断翅at雄鹰 发表于 2012-2-14 20:55
顶,我也想,参考一下

我已经惆怅很长时间了,和别人的历程也都对照过了,可还是差不出原因。。。。伤脑筋啊。。。
回复 支持 反对

使用道具 举报

32

主题

782

帖子

1

精华

常驻嘉宾

帮主

Rank: 8Rank: 8

积分
3869
威望
2079
贡献
698
兑换币
86
注册时间
2010-10-22
在线时间
547 小时
12#
 楼主| 发表于 2012-2-15 09:39:30 | 只看该作者
坐等高手前来指点啊
回复 支持 反对

使用道具 举报

27

主题

218

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1890

热心会员奖章推广达人奖章优秀会员奖章活跃会员奖章

威望
1181
贡献
379
兑换币
26
注册时间
2011-4-21
在线时间
165 小时
13#
发表于 2012-2-15 11:38:51 | 只看该作者
我是北丐 发表于 2012-2-14 21:00
我换了一个新的最小系统,效果一样,还是出不来啊,伤脑筋。。。

我得问题倒是解决了……我把12232的显示程序放到了中断里面,占用了大量的时间(相对于pit定的10ms来说),所以出来的数据就不对了……你也加油吧
回复 支持 反对

使用道具 举报

32

主题

782

帖子

1

精华

常驻嘉宾

帮主

Rank: 8Rank: 8

积分
3869
威望
2079
贡献
698
兑换币
86
注册时间
2010-10-22
在线时间
547 小时
14#
 楼主| 发表于 2012-2-15 12:00:26 | 只看该作者
zhuwenwujy 发表于 2012-2-15 11:38
我得问题倒是解决了……我把12232的显示程序放到了中断里面,占用了大量的时间(相对于pit定的10ms来说) ...

能把你的程序贴出来看看吗?
回复 支持 反对

使用道具 举报

3

主题

119

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
364
威望
303
贡献
33
兑换币
0
注册时间
2012-2-4
在线时间
14 小时
毕业学校
湘大
15#
发表于 2012-2-15 12:20:26 | 只看该作者
回复 支持 反对

使用道具 举报

1

主题

6

帖子

0

精华

高级会员

Rank: 4

积分
652
威望
365
贡献
115
兑换币
10
注册时间
2011-11-4
在线时间
86 小时
16#
发表于 2012-2-15 13:20:50 | 只看该作者
先用示波器测高频率下PT7的波形看一看对不对
回复 支持 反对

使用道具 举报

27

主题

218

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1890

热心会员奖章推广达人奖章优秀会员奖章活跃会员奖章

威望
1181
贡献
379
兑换币
26
注册时间
2011-4-21
在线时间
165 小时
17#
发表于 2012-2-15 14:03:45 | 只看该作者
本帖最后由 zhuwenwujy 于 2012-2-15 14:05 编辑
我是北丐 发表于 2012-2-15 12:00
能把你的程序贴出来看看吗?

//***********************************************脉冲累加初始化
void Pulse_Accumulator_Init(void){

      PACTL = 0x46;         //使能脉冲累加器,下降沿触发,禁止中断 0100 0110
      PACNT = 0x0000;       //计数器清零  


   }
//**************************************************PIT初始化

void PIT_Init(void){

   PITCFLMT&=~(1<<7);              //禁止PIT
   PITCE |= 1<<0;                  //开启通道0
   PITMUX &=~(1<<0);               //与时基0连接
   PITMTLD0 = 0xFF;                //255
   // PITLD0 = 0x927B;              //37500*256/48000000= 0.2s ;
// PITLD0 =  0X752;                 // 20ms
   PITLD0 =   0xEA5;               //1875*256/48000000=10ms
   PITCFLMT|=(1<<7);               //使能定时器
   PITTF|=(1<<0);                  //清除溢出标志位
   PITINTE|=(1<<0);                //开启溢出中断
}

//*************************************************PIT溢出中断服务程序
#pragma CODE_SEG __NEAR_SEG NON_BANKED //定时器中断
void interrupt 66 pit_interrupt(void)
{

   short int a=0,b=0,c=0,R_Velocity,L_Velocity;
   L_Velocity = PACNT;                                          //左轮编码器脉冲数
    b=PORTA;                                                    //取计数器低位值
     b=(b&0x0f)+((b>>4)*10);
      c=PTS;                                                     //取计数器高位值
       c=(c&0x0f)+((c>>4)*10);
       R_Velocity=c*100+b;                                       //右轮计数器测得脉冲数
     PTH |= (1<<0);                                             //计数器清零   

   PTH &= ~(1<<0);                                            //计数器开始工作      
   

  PITTF=0X01;//清通道0溢出标志,加载新的计时时间
}



回复 支持 反对

使用道具 举报

32

主题

782

帖子

1

精华

常驻嘉宾

帮主

Rank: 8Rank: 8

积分
3869
威望
2079
贡献
698
兑换币
86
注册时间
2010-10-22
在线时间
547 小时
18#
 楼主| 发表于 2012-2-15 15:17:22 | 只看该作者
zhuwenwujy 发表于 2012-2-15 14:03
//***********************************************脉冲累加初始化
void Pulse_Accumulator_Init(vo ...

好的,多谢,我回头试试
回复 支持 反对

使用道具 举报

32

主题

782

帖子

1

精华

常驻嘉宾

帮主

Rank: 8Rank: 8

积分
3869
威望
2079
贡献
698
兑换币
86
注册时间
2010-10-22
在线时间
547 小时
19#
 楼主| 发表于 2012-2-15 15:18:06 | 只看该作者
bj_zyl 发表于 2012-2-15 13:20
先用示波器测高频率下PT7的波形看一看对不对

波形是对的,我试过直接给pwm都不行
回复 支持 反对

使用道具 举报

27

主题

218

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1890

热心会员奖章推广达人奖章优秀会员奖章活跃会员奖章

威望
1181
贡献
379
兑换币
26
注册时间
2011-4-21
在线时间
165 小时
20#
发表于 2012-2-15 17:28:01 | 只看该作者
我是北丐 发表于 2012-2-15 15:17
好的,多谢,我回头试试

PIT初始化里面,10ms和20ms的定时弄反了,上面是 PITLD0 =  0X752  是10ms,下面是20ms
不好意思啊,刚才才发现
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-25 14:46 , Processed in 0.119240 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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