⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pwm_1.c

📁 Lpc2103的小程序
💻 C
字号:
/****************************************Copyright (c)**************************************************
**
**                                  北天星国际有限公司
**                                http://www.po-star.com
**
**------------------------------------------------------------------------------------------------------
********************************************************************************************************
**函数名称:PWM_1.C
**函数功能:MAT3.0输出PWM波形
**说明:由于LPC2103没有单独的PWM通道,跟匹配通道复用
**调试:改变占空比。用示波器测量
**********************************************************************************************************/

#include "../inc/config.h"
const U8 TABLE[3]={2,4,5};   //占空比改变的值放到一个数组里

/**************************延时**************************/
void  Delay(U32  dly)
{  U32  i;

   for(; dly>0; dly--)
      for(i=0; i<5000; i++);
}

void PLL_Init(void)
{
  /* 设置系统各部分时钟 */
	   PLLCON = 1;
	#if ((Fcclk / 4) / Fpclk) == 1
		VPBDIV = 0;
	#endif
	#if ((Fcclk / 4) / Fpclk) == 2
		VPBDIV = 2;
	#endif
	#if ((Fcclk / 4) / Fpclk) == 4
		VPBDIV = 1;
	#endif
	#if (Fcco / Fcclk) == 2
		PLLCFG = ((Fcclk / Fosc) - 1) | (0 << 5);
	#endif
	#if (Fcco / Fcclk) == 4
		PLLCFG = ((Fcclk / Fosc) - 1) | (1 << 5);
	#endif
	#if (Fcco / Fcclk) == 8
		PLLCFG = ((Fcclk / Fosc) - 1) | (2 << 5);
	#endif
	#if (Fcco / Fcclk) == 16
		PLLCFG = ((Fcclk / Fosc) - 1) | (3 << 5);
	#endif
		PLLFEED = 0xaa;
		PLLFEED = 0x55;
		while((PLLSTAT & (1 << 10)) == 0);
		PLLCON = 3;
		PLLFEED = 0xaa;
		PLLFEED = 0x55;	
}
/************************主函数***************************/
void main()
{
  U8 i;
  PINSEL0=0x00000000;
  PINSEL1=(PINSEL1&(~(0x03<<10)))|(0x02<<10);
  PLL_Init();

  PWM3CON=0x01;
  T3PR =9;
  T3MCR=0x3<<6;
//  T3EMR=0x00;                     //这个寄存器不影响pwm的输出
  T3MR2=Fpclk/1000;
  T3MR0=T3MR2/10;
  T3TCR=0x03;
  T3TCR=0x01;


  while(1)
  {
   for(i=0;i<3;i++)
   {
    T3MR2=Fpclk/1000;
    T3MR0=T3MR2/TABLE[i];

   }
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -