MC9S12XS128电机测试程序MC9S12XS128电机测试程序
/*****************************************************************************/
//功能说明,MC9S12XS128--PWM
//说说功能,说机先正向加速说后正向速说 然后说机反加速说再反向速说 减减
// 通道3;PTP3,控制正说 通道1;PTP1)控制反说
//程序说说,说洋
//QQ 号 说,814118650
//说说说说,2011.01.16--14:19
/******************...
MC9S12XS128电机测试程序
/*****************************************************************************/
//功能说明,MC9S12XS128--PWM
//说说功能,说机先正向加速说后正向速说 然后说机反加速说再反向速说 减减
// 通道3;PTP3,控制正说 通道1;PTP1)控制反说
//程序说说,说洋
//QQ 号 说,814118650
//说说说说,2011.01.16--14:19
/*****************************************************************************/
#include /* common defines and macros */#include "derivative.h" /* derivative-specific definitions */
unsigned char i;
unsigned long j;
/********************说相说初始化子程序*******************************/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; //说定说相说说说
}
/******************PWM 初始化子程序*****************************/void PWM_Init(void)
{
PWME_PWME3=0; // Disable PWM 禁止
PWME_PWME1=0; // Disable PWM 禁止
PWMPRCLK=0x33; // 说说说分说寄存器说置------0011 0011 A=B=24M/8=3M
PWMSCLA=15; // 说说说置------------------SA=A/;2*15,=100k
PWMSCLB=15; // 说说说置------------------SB=B/(2*15) =100k}
/******************PWM3 初始化子程序*****************************/void PWM3_Init(void)
{
PWMCLK_PCLK3=1; // 说说源的说说--------------PWM3-----SB PWMPOL_PPOL3=1; // 极性说置------------------说始说出高说平
PWMCAE_CAE3=0; // 说说方式说置--------------左说说
PWMCTL=0x00; // 控制寄存器说置------------无说说
PWMPER3=50; // 周期寄存器说置------------Frequency=SB/50=2K PWME_PWME3=1; // Enable PWM 使能
}
/******************PWM1 初始化子程序*****************************/void PWM1_Init(void)
{
PWMCLK_PCLK1=1; // 说说源的说说--------------PWM1-----SA PWMPOL_PPOL1=1; // 极性说置------------------说始说出高说平
PWMCAE_CAE1=0; // 说说方式说置--------------左说说
PWMCTL=0x00; // 控制寄存器说置------------无说说
PWMPER1=50; // 周期寄存器说置------------Frequency=SB/50=2K PWME_PWME1=1; // Enable PWM 使能
}
/******************说机正说子程序*****************************/void RUN_STRAIGHT(void)
{
//--------------正说加速------------------------//
for(i=50;i>10;i--)
{
while(j--);
j=200000;
PWMDTY3=i; //说置占空比
PWME_PWME3=1; //使能PWM
}
while(j--);
j=2000000;
//--------------正说速减------------------------//
for(i=10;i<50;i++)
{
while(j--);
j=200000;
PWMDTY3=i; //说置占空比
PWME_PWME3=1; //使能PWM
}
PWME_PWME3=0;
}
/******************说机反说子程序*****************************/
void RUN_BACK(void) {
//--------------反说加速------------------------//
for(i=50;i>10;i--)
{
while(j--);
j=200000;
PWMDTY1=i; //说置占空比
PWME_PWME1=1; //使能PWM
}
while(j--);
j=2000000;
//-------------反说速减------------------------//
for(i=10;i<50;i++)
{
while(j--);
j=200000;
PWMDTY1=i; //说置占空比
PWME_PWME1=1; //使能PWM
}
PWME_PWME1=0;
}
/********************主函数************************************/void main(void)
{
/* put your own code here */
PLL_Init();
PWM_Init();
PWM3_Init();
RUN_STRAIGHT();
while(j--);
j=100000;
PWM1_Init();
RUN_BACK();
EnableInterrupts;
//for(;;)
//{
_FEED_COP(); /* feeds the dog *///} /* loop forever */
/* please make sure that you never leave main */
}
本文档为【MC9S12XS128电机测试程序】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。