智能车制作

标题: 电机测试程序,求帮助~~ [打印本页]

作者: 灰色头像    时间: 2011-4-25 23:04
标题: 电机测试程序,求帮助~~
#include <hidef.h>      /* common defines and macros */
#include "derivative.h"
#include "mc9s12xs128.h"      /* derivative-specific definitions */


void PLL_Init(void)   //PLLCLK=2*OSCCLK*(SYNR+1)/(REFDV+1)
{                     //锁相环时钟=2*16*(2+1)/(1+1)=48MHz
  REFDV=1;            //总线时钟=48/2=24MHz
  SYNR=2;
  while(!(CRGFLG&0x08));
  CLKSEL=0x80;        //选定锁相环时钟
}


void PWM_Init(void)
{
  PWME_PWME1=0x00;  // Disable  PWM            禁止
  PWME_PWME2=0x00;        
  PWMPRCLK=0x33;    // 0011 0011 A=B=24M/8=3M  时钟预分频寄存器设置
  PWMSCLA=150;      // SA=A/2/150=10k          时钟设置
  PWMSCLB=150;                        
  PWMCLK_PCLK1=0;   // PWM5-----SA             时钟源的选择
  PWMCLK_PCLK2=0;
  PWMPOL_PPOL1=1;   // Duty=High Time          极性设置
  PWMPOL_PPOL2=1;
  PWMCAE_CAE1=0;    // Left-aligned            对齐方式设置
  PWMCAE_CAE2=0;
  PWMCTL=0x00;      // no concatenation        控制寄存器设置
  PWMPER1=200;      // Frequency=SB/100=1K     周期寄存器设置
  PWMPER2=200;
  PWMDTY1=0;       // Duty cycle = 0        占空比寄存器设置
  PWMDTY2=0;
  PWME_PWME1=1;     // Enable  PWM             使能
  PWME_PWME2=1;
}




void main(void) {
                    /* put your own code here */
         PWM_Init();
      
      
       PLL_Init();  
       PWMDTY1=200;        
       PWMDTY2=0;
         


        EnableInterrupts;


  for(;;) {
    _FEED_COP(); /* feeds the dog */
  } /* loop forever */
  /* please make sure that you never leave main */
}

谁能帮忙分析一下这个程序啊
用来测试电机的,两个端口没啥电压啊
作者: hehexiaole    时间: 2012-11-28 09:25
你的占空比是零那啥测电压啊
作者: 我们一起走过    时间: 2013-12-6 18:35
你那个PWMDTY1不要超过100
作者: 我们一起走过    时间: 2013-12-6 18:38
还有这句错误PWMCLK_PCLK1=0;   // PWM5-----SA     ,应该这样解释它等于0,为A时钟了      




欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2