智能车制作

标题: 跪求大家了,舵机不动,不知道怎么回事,求各位大哥帮帮看看程序 [打印本页]

作者: 别了,少年    时间: 2013-5-24 20:27
标题: 跪求大家了,舵机不动,不知道怎么回事,求各位大哥帮帮看看程序
       #include <hidef.h>      /* common defines and macros */
#include "derivative.h"      /* derivative-specific definitions */


void PLL_Init(void)
{
  CLKSEL=0x00; //24mhz
  SYNR=0XC0 | 0X05;
  REFDV=0XC0 | 0X03;
  PLLCTL_PLLON=1;
  POSTDIV=0X00;
  asm(nop);
  asm(nop);
  while(0==CRGFLG_LOCK); //锁相环锁定
  CLKSEL_PLLSEL=1; //选定PLL时钟
}

void pwm_init()
{
  PWMCTL_CON45=1;//01口级联
  PWMCAE=0x00;//输出波形为左对齐方式
  PWMCNT45=0;//通道寄存器清0
  PWMPOL=0xe0;//极性选择为先输出高电平
  PWMPRCLK=0x00;//定义预分频寄存器 不分频
  PWMSCLA=0x06;//设定SA的频率为2M
  PWMSCLB=0x06;//设定SB的频率为4M
  PWMCLK=0xe0;//选择SA作为时钟源
  PWMPER45=40000;//设定周期为50HZ
  PWMDTY45=3200;//占空比为1.5/20                                               
  PWME_PWME5=1; //使能输出
  
  
}
void delays(int z){
int i,j;
for(i=0;i<5000;i++)
  for(j=0;j<z;j++);}
  
void  duoji(){
  PWMDTY45=2300;
  delays(5000);
  PWMDTY45=3200;
  delays(5000);
  PWMDTY45=4100;
  delays(5000);
  PWMDTY45=3200;
  delays(5000);
  
  
  
  
  }
  

void main(void) {
  /* put your own code here */
// busclock80_init() ;
  PLL_Init();
  pwm_init();
  
  
  

EnableInterrupts;

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

作者: 电磁组    时间: 2013-5-25 01:17
用示波器看看你输出的PWM先吧!
作者: 一笑二过    时间: 2013-5-25 01:23
也许是电池没电了,我们之前也有过这样,最后原来是电池没有电




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