智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 11723|回复: 16
打印 上一主题 下一主题

编码器测速程序,PT7口一直测不到脉冲

  [复制链接]

1

主题

39

帖子

0

精华

高级会员

Rank: 4

积分
539
威望
363
贡献
58
兑换币
0
注册时间
2010-11-1
在线时间
59 小时
跳转到指定楼层
1#
发表于 2011-11-26 08:44:20 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
我写了一个编码器测速的程序,可是在PT7口一直测不到脉冲,单步调试程序不进入中断那部分,不知道怎么回事。各位大侠帮忙指教一下。

#include <hidef.h>      /* common defines and macros */
#include "derivative.h"      /* derivative-specific definitions */
#include<MC9S12XS128.h>
word num = 0;//脉冲值
uchar flag = 0,ch;
int a;
//总线超频到20M
void Init_pll(void)
{
    CLKSEL = 0X00;                                                      /* disengage PLL to system      */
    PLLCTL_PLLON = 1;                                                   /* turn on PLL                  */
    SYNR = 4;
    REFDV=1 ;                                                           /* pllclock=2*osc*(1+SYNR)/(1+R */
    _asm(nop);                                                          /* BUS CLOCK=20M                */
    _asm(nop);
    while(!(CRGFLG_LOCK == 1));                                         /* when pll is steady ,then use */
    CLKSEL_PLLSEL = 1;                                                  /* engage PLL to system;        */
}



      
//PT0口用来定时400ms   每1.6s读取一次脉冲值
void PIT_init() {
  
          PITCFLMT_PITE = 0;//禁止PIT
     PITCE_PCE0 = 1;//允许通道0
        PITMUX_PMUX0 = 0;
           
      PITMTLD0=199;   //400ms定时   
      PITLD0=40000-1;
      PITINTE=0X01;
      PITTF_PTF0 = 1;
}
//PT7口用来接收编码器脉冲
void PA_init() {
  
PACTL=0X50;//开启脉冲累加功能,上升沿计数,输入时钟为PA预分频时钟脉冲累加溢出中断使能,输入中断使能
PACNT=0x0000;//清零
TCTL3=0X40;
TIE=0X00;
TIOS=0X00;
PAFLG_PAIF = 1;
PACTL_PAEN = 1;
}


void Init_PWMout(void)
{
    DDRB = 0XFF;
    PORTB = 0X05;
    PWME     = 0x00;                                                    /* 禁止PWM输出                  */
    PWMCTL   = 0x70;                                                    /* 01,23,45通道级联           */
    PWMPOL   = 0x0a;                                                    /* 通道01的输出极性为正极性,23 */
    PWMCAE   = 0x11;                                                    /* 全部通道是中心对齐           */
    PWMCLK   = 0x00;                                                    /* 时钟源为:CLOCKA,CLOCKB     */
    PWMPRCLK = 0x40;                                                    /* 时钟CLOCKA不分频40MHZ,CLOCK */
    PWMPER01 = 500;                                                   /* 电机速度控制 周期 250us F=4K */
    PWMDTY01 = 200;                                                    /* 默认占空比                   */
  //  PWMPER23 = 50000;                                                   /* 舵机方向控制 周期20ms F=50HZ */
  //  PWMDTY23 = 3790;                                                    /* 脉宽控制-调占空比            */
    PWME     = 0x02;                                                    /* 使能PWM输出                  */
}     
     
void main(void) {
     a = 5;
     Init_pll();
     PIT_init();
     Init_PWMout();
     PA_init();
     
  
EnableInterrupts;

  for(;;) {
  
   
  } /* loop forever */
  /* please make sure that you never leave main */
}
#pragma CODE_SEG NON_BANKED
void interrupt 66 PIT0() {
   
   flag++;
   if(flag==4) {
   
   flag=0;
   num=PACNT;//读取脉冲值
  
  
   PACNT=0X0000;//脉冲值清零
   }
   
  PITTF=0X01;
}
#pragma CODE_SEG DEFAULT

2

主题

8

帖子

0

精华

注册会员

Rank: 2

积分
127
威望
73
贡献
28
兑换币
32
注册时间
2015-3-21
在线时间
13 小时
毕业学校
南华大学
17#
发表于 2015-4-3 22:20:04 | 只看该作者
楼主,128怎么和编码器连接啊?
回复 支持 反对

使用道具 举报

19

主题

2430

帖子

0

精华

跨届大侠

这并没有什么卵用.

Rank: 10Rank: 10Rank: 10

积分
6595

论坛元老奖章在线王奖章活跃会员奖章优秀会员奖章

威望
3611
贡献
1592
兑换币
1425
注册时间
2014-7-14
在线时间
696 小时
16#
发表于 2014-10-13 21:19:29 | 只看该作者
路过
回复 支持 反对

使用道具 举报

0

主题

5

帖子

0

精华

注册会员

Rank: 2

积分
26
威望
24
贡献
2
兑换币
3
注册时间
2014-9-3
在线时间
0 小时
15#
发表于 2014-9-3 09:41:06 | 只看该作者
怒顶一剂
回复 支持 反对

使用道具 举报

30

主题

198

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3533
威望
1241
贡献
1768
兑换币
634
注册时间
2012-8-25
在线时间
262 小时
14#
发表于 2013-4-14 17:43:23 | 只看该作者
可以把被编码器的资料发给我吗?直接上邮箱:578523854@qq.com
回复 支持 反对

使用道具 举报

3

主题

616

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2029
QQ
威望
1114
贡献
433
兑换币
264
注册时间
2012-8-31
在线时间
241 小时
13#
发表于 2013-4-14 16:47:42 | 只看该作者
回复 支持 反对

使用道具 举报

16

主题

487

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2898
威望
1582
贡献
758
兑换币
243
注册时间
2011-3-18
在线时间
279 小时
12#
发表于 2012-7-10 08:52:42 | 只看该作者
PIT的优先级很低的
回复 支持 反对

使用道具 举报

55

主题

1589

帖子

0

精华

知名人物

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

积分
24770

优秀会员奖章活跃会员奖章论坛骨干奖章论坛元老奖章资源大师奖章

威望
14187
贡献
8805
兑换币
1162
注册时间
2012-3-4
在线时间
889 小时
毕业学校
11#
发表于 2012-7-9 22:50:05 | 只看该作者
回复 支持 反对

使用道具 举报

12

主题

97

帖子

0

精华

高级会员

Rank: 4

积分
989
威望
554
贡献
241
兑换币
51
注册时间
2012-2-24
在线时间
97 小时
10#
发表于 2012-5-2 22:39:10 | 只看该作者
中断没使能
回复 支持 反对

使用道具 举报

0

主题

21

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
354
威望
231
贡献
59
兑换币
0
注册时间
2012-3-1
在线时间
32 小时
毕业学校
理工大学
9#
发表于 2012-4-11 20:34:57 | 只看该作者
好复杂哎!!!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-29 02:12 , Processed in 0.061680 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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