求msp430g2553输出100khz可调占空比pwm

2019-07-15 15:59发布

求msp430g2553输出100khz可调占空比pwm?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
857248242
1楼-- · 2019-07-15 16:26
/*包含--------------------------------------------------------------------------------------------*/
#include "main.h"
/* 私有定义结构体 --------------------------------------------------------------------------------*/
/* 私有宏-----------------------------------------------------------------------------------------*/
/* 私有变量 --------------------------------------------------------------------------------------*/
/* 私有函数模型 ----------------------------------------------------------------------------------*/

float voltage;
static void Sys_Init(void);
static void LCD_Test(void);
void PWM100KHz(unsigned int A,unsigned int B,unsigned int c);
static void U_Show(uint8_t Line,uint8_t Column);

void main(void)
{
  unsigned int i=10;
Sys_Init();
LCD_Init();
//LCD_Test();

__bis_SR_register(GIE);
   
  

ADC10_Config();

while(1)
{
   for(i=1;i<10;i++)
  {
   PWM100KHz(157,i*10,50);
   delay_ms(500);
   
  }
//  Timer_A1_1_init(100,10*i);
     ADC10_Convert(INCH_0,BIT0);
   U_Show(2,5);
   delay_ms(500);
  
  }
}

static void LCD_Test(void)
{
  Display_Str(0,0,"电压采样");
  Display_Str(2,1,"电压值为:");
  Display_Str(3,3,"郭郭");
}

/***************************************************************************************************
  * 描述   :  电压测量后数据处理,并显示
  * 参数   :  无
  * 返回   :  无
  * 注意   :  无
  *************************************************************************************************/
static void U_Show(uint8_t Line,uint8_t Column)
{
  uint8_t i;
  float ADCVal=0;
  for(i=0;i<ADC10_Data_Num;i++)
  {
    ADCVal+=ADC10_Mem[i]*2.5/1023.0;
  }
  ADCVal=ADCVal/ADC10_Data_Num;
  LCD_Display_FloatNum(Line,Column,ADCVal,6);
}

/***************************************************************************************************
  * 描述   :  100KHzPWM产生
  * 参数   :  无
  * 返回   :  无
  * 注意   :  无
  *************************************************************************************************/
void PWM100KHz(unsigned int  A,unsigned int B,unsigned int c)
{
//  P2REN |= (BIT1+BIT4);
   P2DIR |= (BIT1+BIT4);
   P2SEL |= (BIT1+BIT4);
   TA1CCR0 = A;  
   TA1CCTL1 = OUTMOD_7;
   TA1CCTL2 = OUTMOD_7;
   TA1CCR1 = B;   
   TA1CCR2 = C;
   TA1CTL = TASSEL_2 + MC_1;
}



/***************************************************************************************************
  * 描述   :  系统初始化
  * 参数   :  无
  * 返回   :  无
  * 注意   :  无
  *************************************************************************************************/
static void Sys_Init(void)
{
  WDTCTL = WDTPW + WDTHOLD;                 // 停止看门狗
  DCOCLK_Set(_16MHZ);//DCO频率为16MHz
  ACLK_Set(LF,DIVA_0);//ACLK频率为32.768KHz
  SMCLK_Set(SM_DCO_CLK,DIVS_0);//SMCLK=DCOCLK
  MCLK_Set(M_DCO_CLK,DIVM_0);//MCLK=DCOCLK
}
lee_st
2楼-- · 2019-07-15 20:29
帮顶一下,,,,,,,,,,,,,,
857248242
3楼-- · 2019-07-15 22:55
谢谢。已解决..........................
KoBe吖杰
4楼-- · 2019-07-16 04:07
求给份程序~~
951414
5楼-- · 2019-07-16 04:07
 精彩回答 2  元偷偷看……
857248242
6楼-- · 2019-07-16 06:34
951414 发表于 2016-7-14 21:52
程序不齐全,后面还有吧!

我在下面上传程序

一周热门 更多>