智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1901|回复: 9
打印 上一主题 下一主题

[电磁] 编码器测速问题

[复制链接]

5

主题

31

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
455
威望
241
贡献
122
兑换币
135
注册时间
2012-12-28
在线时间
46 小时
毕业学校
广东第二师范学院
跳转到指定楼层
1#
发表于 2013-6-24 22:54:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用的是xs128,请问下pt7是不是需要加上拉电阻呢?进得去中断,却测不了数值啊,纠结,求大神指路

5

主题

26

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
474
威望
241
贡献
141
兑换币
148
注册时间
2013-3-20
在线时间
46 小时
2#
发表于 2013-6-24 23:11:44 | 只看该作者
加一个上拉电阻就行
回复 支持 反对

使用道具 举报

5

主题

31

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
455
威望
241
贡献
122
兑换币
135
注册时间
2012-12-28
在线时间
46 小时
毕业学校
广东第二师范学院
3#
 楼主| 发表于 2013-6-24 23:25:33 | 只看该作者
scottly 发表于 2013-6-24 23:11
加一个上拉电阻就行

我也有这个打算,可是听论坛某些大神说可以通过程序实现,我不敢碰硬件了,前天烧的最小板刚到,再弄坏要自己掏钱包了。。。如果用程序怎么实现呢?
回复 支持 反对

使用道具 举报

5

主题

26

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
474
威望
241
贡献
141
兑换币
148
注册时间
2013-3-20
在线时间
46 小时
4#
发表于 2013-6-24 23:28:22 | 只看该作者
猫窝 发表于 2013-6-24 23:25
我也有这个打算,可是听论坛某些大神说可以通过程序实现,我不敢碰硬件了,前天烧的最小板刚到,再弄坏要 ...

刚刚跟你聊过了,你问问老师或上一届的学长吧,我们加了就没问题。。。
回复 支持 反对

使用道具 举报

5

主题

31

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
455
威望
241
贡献
122
兑换币
135
注册时间
2012-12-28
在线时间
46 小时
毕业学校
广东第二师范学院
5#
 楼主| 发表于 2013-6-24 23:31:57 | 只看该作者
啊,原来是你啊,好吧,我再找人去问问,谢谢
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

注册会员

Rank: 2

积分
13
威望
9
贡献
4
兑换币
3
注册时间
2013-6-24
在线时间
0 小时
毕业学校
华北电力
6#
发表于 2013-6-24 23:33:41 | 只看该作者
需要上拉的
回复 支持 反对

使用道具 举报

5

主题

31

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
455
威望
241
贡献
122
兑换币
135
注册时间
2012-12-28
在线时间
46 小时
毕业学校
广东第二师范学院
7#
 楼主| 发表于 2013-6-24 23:37:20 | 只看该作者
能否在程序中上拉??
回复 支持 反对

使用道具 举报

36

主题

1837

帖子

3

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
6375
威望
3368
贡献
1847
兑换币
2326
注册时间
2013-2-3
在线时间
580 小时
8#
发表于 2013-6-25 01:31:03 | 只看该作者
不要用中断,固定时间都PACNT寄存器就行了。
回复 支持 反对

使用道具 举报

5

主题

31

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
455
威望
241
贡献
122
兑换币
135
注册时间
2012-12-28
在线时间
46 小时
毕业学校
广东第二师范学院
9#
 楼主| 发表于 2013-6-25 10:53:18 | 只看该作者
我发下我的代码,希望大神可以帮我解决,昨天浪费一天了,我不想今天也做无功用。。。
#include <hidef.h>           /* common defines and macros */
#include "derivative.h"      /* derivative-specific definitions */
unsigned int count;
int pulse_count;           //脉冲数


void SET_PLL(void) //设置总线频率为24M
{
CLKSEL=0x00;
PLLCTL=0xe1;
SYNR=2;
REFDV=1;     //PLLCLK=2*OSCCLK*(SYNR+1)/(REFDV+1)=2*16M*3/2=48M  
PLLCTL=0x60;
asm NOP;     
asm NOP;
asm NOP;
while((CRGFLG&0x08)==0);
CLKSEL=0x80;  //BUS Clok=pllclk/2=24M
}
void PIT_Init(void) //定时10ms中断初始化函数
{
    PITCFLMT_PITE=0;//PIT定时中断通道0关
    PITCE_PCE0=1;//定时器通道0使能
    PITMTLD0=240-1;//8位定时器初值设定。240分频即24M/240 10us
    PITMUX=0x00;
    PITLD0=1000-1;//16位定时器初值设定  1000*10us=10ms
    PITINTE_PINTE0=1;//定时器中断通道0中断使能
    PITCFLMT_PITE=1;//定时器通道0使能
}
void TIM_Init(void)//脉冲累计初始化
{
    PACTL=0x50;//下降沿触发
    PACNT=0x0000;//清0
}  
void main(void)
{
/* put your own code here */
  DisableInterrupts;
  //RTI_Init();
  SET_PLL();
  PIT_Init();  
  TIM_Init();
  DDRB=0xff;          //定义为输出
  ATD0DIEN=0xFFFF;
  DDR1AD0=0x00;                              
  DDRA=0x00;
  EnableInterrupts; }
      //prefinal_weight=final_weight;
/* loop forever */
  /* please make sure that you never leave main */
#pragma CODE_SEG NON_BANKED
void interrupt 66 PIT0(void) ///////10ms
{
  PITTF_PTF0=1;//清中断标志位
  pulse_count=PACNT; //PT7接受脉冲
  PACNT=0;
  
  }        
#pragma CODE_SEG DEFAULT  



回复 支持 反对

使用道具 举报

6

主题

74

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1323
威望
662
贡献
379
兑换币
342
注册时间
2012-7-2
在线时间
141 小时
10#
发表于 2013-6-25 22:05:07 | 只看该作者
设置内部上拉就可以,两条语句解决
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-27 22:47 , Processed in 0.053339 second(s), 39 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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