智能车制作
标题:
电机测试程序,求帮助~~
[打印本页]
作者:
灰色头像
时间:
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