智能车制作

标题: 关于PWM的问题 [打印本页]

作者: ls皓月当空    时间: 2010-9-10 13:52
标题: 关于PWM的问题
请各位大侠帮忙看看下面这个程序,为什么我烧到单片机里面后没有波形呢,请大家帮忙解决一下,新手将感激不尽。
#include <hidef.h>      /* common defines and macros */
#include "derivative.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;        //选定锁相环时钟

}


//-----PWM初始化程序------//

void PWM_Init(void)

{

  PWME_PWME3=0x00;  // Disable  PWM            禁止            
  PWMPRCLK=0x33;    // 0011 0011 A=B=24M/8=3M  时钟预分频寄存器设置
  PWMSCLA=150;      // SA=A/2/150=10k          时钟设置
  PWMSCLB=15;       // SB=B/2/15 =100k         时钟设置                    
  PWMCLK_PCLK3=1;   // PWM3-----SB             时钟源的选择
  PWMPOL_PPOL3=1;   // Duty=High Time          极性设置
  PWMCAE_CAE3=0;    // Left-aligned            对齐方式设置
  PWMCTL=0x00;      // no concatenation        控制寄存器设置
  PWMPER3=100;      // Frequency=SB/100=1K     周期寄存器设置
  PWMDTY3=50;       // Duty cycle = 50%        占空比寄存器设置
  PWME_PWME3=1;     // Enable  PWM             使能

}

//-----------------主函数--------------------//

void main(void)

{
  /* put your own code here */
  
  PLL_Init();
  PWM_Init();


EnableInterrupts;


  for(;;)
  {
  
   // _FEED_COP(); /* feeds the dog */
  } /* loop forever */
  /* please make sure that you never leave main */
}
作者: gc286    时间: 2010-9-24 15:20
程序没有问题
作者: micedu    时间: 2010-10-10 21:15
示波器观察的吗?应该是示波器没调好,程序没有问题的
作者: 似曾相识    时间: 2011-2-17 20:58
学习
作者: 平地而起智能车    时间: 2011-2-24 19:31
没问题
作者: 漆旭斌    时间: 2011-3-8 17:15
应该接口或是示波器的故障吧
作者: zhang54188    时间: 2011-3-10 01:39
kankan




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