Board logo

标题: 求高手写个电机驱动程序 [打印本页]

作者: denghaibo    时间: 2009-11-28 22:23     标题: 求高手写个电机驱动程序

本帖最后由 denghaibo 于 2009-11-28 22:35 编辑

本人新手,买了个飞思卡尔的开发板,芯片是S12DP512,原理图在附件里,求大侠为OUT1和OUT2写个电机驱动程序,不胜感激。
本人菜鸟,不知道TLE7209的用法,自己瞎攒了一段程序,老是不能运行,郁闷死了。下面是我自己弄的,高手帮看看。
void Init_clock()                        // 产生24MHz系统时钟
{
  CRGFLG_SCM=0;
  PLLCTL_CME=0;
  PLLCTL_PLLON=1;
  SYNR=0X02;
  REFDV=0X01;
  while(CRGFLG_LOCK==0);
  CLKSEL_PLLSEL=1;
}
/*PWM初始化*/
void Init_PWM()
{
  PWME=0X00;                              // 关闭PWM
  PWM_clock();                            // 时钟设置
  PWMPOL=0X00;                            // 极性设置,周期开始时,输出为低电平
  PWMCAE=0X00;                            // 左对齐方式
  PWMCTL=0X00;                            // 通道不级联,
  PWM_adj();        
}
/*PWM时钟的选择和设置*/
void PWM_clock()
{
  PWMPRCLK=0X77;                          // ClockA分频,ClockB分频
  PWMSCLA=0X0c;                           // 时钟A分频12xPWMSCLA
  PWMSCLB=0X0c;                           // 时钟B分频12xPWMSCLB
  PWMCLK=0X03;                            // 时钟选择,选择时钟SA和时钟SB
}
/*PWM调节程序,可调节周期和占空比*/
void PWM_adj()
{
  PWME=0X00;                                  // 关闭PWM模块,开始调节
   
  PWMPER01=0XFF;                      // 调节周期
  PWMDTY01=0XF0;   // 调节占空比
  PWMCNT0=0;
  PWMCNT1=0;
   
  PWME=0X03;                                  // 打开PWM的0通道和1通道
}
void main(void)
{
    EnableInterrupts;
  Init_clock();
  Init_PWM();
    for(;;) ;



附件: Schematic_MainBoard.pdf (2009-11-28 22:23, 57.31 KB) / 下载次数 198
http://bbs.eccn.com/attachment.php?aid=7494&k=fc970c28d2a3029770ebcbefc7a9bfc6&t=1732476841&sid=UX0PRu

附件: Schematic_S12sys.pdf (2009-11-28 22:23, 52.11 KB) / 下载次数 196
http://bbs.eccn.com/attachment.php?aid=7495&k=6f3e003493740bd0a7fd11c2ae1fae34&t=1732476841&sid=UX0PRu

附件: TLE7209-2R.pdf (2009-11-28 22:35, 335.99 KB) / 下载次数 200
http://bbs.eccn.com/attachment.php?aid=7496&k=e6ae712db8e10785ea2cd633cc2ee7de&t=1732476841&sid=UX0PRu
作者: neudaxue    时间: 2010-1-8 16:20

PWME=0X00;                                  // 打开PWM的0通道和1通道
你的PWM通道要禁止,设置成普通IO口.并把该口电平一直设置为高电平,
PWM0也要设置成普通IO方式,来控制电机的正反转.PWM0端口电平为高,则电机正转,电平为底则电机反转.
仔细研究一下你的电路图,和芯片资料就很容易明白了.很简单的东西,多动手.




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0