智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 2366|回复: 2
打印 上一主题 下一主题

[编程类] 舵机控制问题

[复制链接]

4

主题

27

帖子

0

精华

高级会员

Rank: 4

积分
860
威望
268
贡献
510
兑换币
0
注册时间
2010-11-16
在线时间
41 小时
跳转到指定楼层
1#
发表于 2011-3-26 00:01:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1贡献
我烧入下面的程序,我舵机只能往一个方向转一定角度,最后就卡死了。不能回转?恳请高手们帮帮忙看下,我不知道是我舵机问题还是程序有问题。。。
#include <hidef.h>      /* common defines and macros */
#include <MC9S12XS128.h>     /* derivative information */
#pragma LINK_INFO DERIVATIVE "mc9s12xs128"
  void Pulse_int(void)    //脉冲累加器初始化
{
//TSCR1_TEN =1;
        PACTL_PAEN =0 ;
        PACTL_PAMOD =0   ;
        PACTL_PEDGE = 0 ;
        PACTL_PAOVI = 0  ;
        PACTL_PAI=1  ;                                          m
        PACNT=0 ;
        PAFLG_PAOVF=1 ;
        PAFLG_PAIF=1;
        PACTL_PAEN=1;
  
  
}

unsigned int speed_get(void)  
{     unsigned int speed;
      speed = PACNT;
      PACNT = 0;
      return speed;
}

void crg_init(void)
{
SYNR=0x02;           //Bus clock=(pllclk/2)=oscclk*(synr+1)/(refdv+1)为24MHZ   
REFDV=0x01;
while(!CRGFLG_LOCK );      //频率稳定时
CLKSEL =0x80;
}
void pwm_init(void)
      {
PWMCTL=0xB0; // 设置通道76、32、10级连
PWME=0x00; // 通道禁止输出;
PWMPRCLK=0x12;//预分频:A_CLK=busclk/2^2=6M B_CLK=BUSCLK/2^1=12M
PWMSCLA=0x01; //SA_CLK=A_CLK/(2*1)==3MHz
PWMSCLB=0X01; //SB_CLK=B_CLK/(2*1)==6MHz
PWMPOL=0x8A; //极性选择起始为高电平;
PWMCLK=0x8A; //PWM01 选择 SA_CLK PWM23 67选择SB_CLK
PWMCNT0=0x00;
PWMCNT1=0x00;
PWMCNT2=0x00;
PWMCNT3=0x00;
PWMCNT6=0x00;
PWMCNT7=0x00;
PWMPER01=60000; // 周期==(1/3M)*(60000)=20ms
PWMPER23=10000; // F=6M/10000==600Hz  = 1.6666ms
PWMPER67=10000; // F=6M/10000==600Hz   
PWMCAE=0x00; //左对齐方式
PWME=0x82; // 通道1,7输出使能;
}
      void delay(unsigned int i);  //声明延时函数
    void delay(unsigned int i)
{
    unsigned char j;
    for(i; i > 0; i--)   
        for(j = 255; j > 0; j--);
}
void main(void) {
         int i=0;
  crg_init(); //锁向环初始化
  pwm_init(); //初始化PWM
  EnableInterrupts;
  EnableInterrupts;
      PWMDTY01=3000;
delay(6000);
             PWMDTY01=4560;
delay(6000);
      PWMDTY01=5660;
delay(6000);
      PWMDTY01=3060;
  delay(6000);
      PWMDTY01=4560;            
delay(6000);
      PWMDTY01=5660;
delay(60000);

                    PWMDTY01=3000;
delay(9000);
             PWMDTY01=5560;
delay(9000);
      PWMDTY01=5960;
delay(9000);
      PWMDTY01=3060;
  delay(10000);
      PWMDTY01=4560;            
delay(6000);
      PWMDTY01=5660;
delay(60000);
   
}

0

主题

1

帖子

0

精华

注册会员

Rank: 2

积分
108
威望
171
贡献
27
兑换币
0
注册时间
2012-2-9
在线时间
11 小时
毕业学校
理工大
2#
发表于 2012-2-18 21:56:34 | 只看该作者
你没看舵机的相关资料吧?
占比不对!!
回复

使用道具 举报

2

主题

14

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
439
威望
322
贡献
45
兑换币
0
注册时间
2011-9-27
在线时间
36 小时
3#
发表于 2012-3-9 19:33:42 | 只看该作者
对,真的不对
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-21 01:29 , Processed in 0.046868 second(s), 34 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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