• 大小: 84KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-04
  • 语言: 其他
  • 标签:

资源简介

msp430产生SPWM波程序

资源截图

代码片段和文件信息

//*******************************************************************************
//  Description: 设定一个变量来选择初始占空比,然后通过Timer_B定时1s,每隔一秒
//  改变一次占空比,生成占空比可变的PWM波。
//  ACLK= TACLK = 32768Hz MCLK= SMCLK= default DCO ~ 800kHz
//  Daquan. Liu 

//  China University of Geosciences(Wuhan)
//  2010.12.27
//  Built with IAR embedded Workbench Version: V3.42A
//******************************************************************************

#include 

unsigned char v=5;
void  Init_TIMER_B();
void main(void)
{
  
  WDTCTL = WDTPW + WDTHOLD; // Stop WDT
  
   P1DIR |= 0x0C; // P1.2 and P1.3 output
   P1SEL |= 0x0C; // P1.2 and P1.3 TA1/2 options

   Init_TIMER_B();
   
   TACTL = TASSEL_2 + TACLR; // SMCLK up mode
   
   CCR0 = 512-1; // PWM Period
   CCTL1 = OUTMOD_7 ; // CCR1 reset/set
   CCTL2 = OUTMOD_7 ; //CCR2 reset/set
   if(v==5)
   {
     CCR1 = 128; // CCR1 PWM duty cycle
     CCR2 = 384; // CCR2 PWM duty cycle
   }
   else if (v==12)
   {
     CCR1 = 384; // CCR1 PWM duty cycle
     CCR2 = 128; // CCR2 PWM duty cycle
   }
   else 
   {
     CCR1 = 128; // CCR1 PWM duty cycle
     CCR2 = 384; // CCR2 PWM duty cycle
   }
   
   TACTL |= MC_1;      // Start Timer_A in up mode
   TBCTL |= MC_1;      // Start Timer_B in up mode
  
   _EINT();         //开全局中断
   _BIS_SR(LPM0_bits); // Enter LPM0
   


 


void  Init_TIMER_B()
 {
    TBCTL |= TBSSEL0 +TBCLR; //ACLK 
    TBCCTL0 = CCIE;
    TBCCR0 =32768;  //定时1s  
 }

 

 

// Timer B0 interrupt service routine
#pragma vector=TIMERB0_VECTOR
__interrupt void Timer_B (void)
{
 if(CCR1 >511)
   CCR1 = 64;
 else CCR1 += 32;      // 调整占空比

 if(CCR2 < 10)
   CCR2 = 448;
 else  CCR2 -= 32;                        
   
}

 

 

//此程序不能用定时器A中断定时

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2012-04-17 09:55  PWM\
     目录           0  2012-04-19 14:10  PWM1\
     文件        8887  2007-07-23 01:48  PWM1\Backup of PWM.ewd
     文件       38012  2004-03-04 01:26  PWM1\Backup of PWM.ewp
     目录           0  2012-04-18 19:22  PWM1\Debug\
     目录           0  2012-04-18 19:22  PWM1\Debug\Exe\
     文件       15972  2012-04-18 19:17  PWM1\Debug\Exe\PWM.d43
     目录           0  2012-04-18 19:22  PWM1\Debug\List\
     目录           0  2012-04-18 19:22  PWM1\Debug\Obj\
     文件        6522  2012-04-18 19:17  PWM1\Debug\Obj\main.r43
     文件         110  2012-04-18 19:17  PWM1\Debug\Obj\PWM.pbd
     文件        3014  2012-04-19 14:10  PWM1\main.c
     文件        3628  2012-04-19 14:02  PWM1\PWM.dep
     文件       20106  2012-04-16 19:43  PWM1\PWM.ewd
     文件       50223  2012-04-16 19:43  PWM1\PWM.ewp
     文件         238  2012-04-19 13:27  PWM1\PWM.eww
     目录           0  2012-04-18 19:22  PWM1\Release\
     目录           0  2012-04-19 13:42  PWM1\Release\Exe\
     目录           0  2012-04-18 19:22  PWM1\Release\List\
     目录           0  2012-04-19 14:02  PWM1\Release\Obj\
     文件        2934  2012-04-19 13:03  PWM1\Release\Obj\main.r43
     文件         108  2012-04-19 13:03  PWM1\Release\Obj\PWM.pbd
     目录           0  2012-04-18 19:22  PWM1\settings\
     文件         861  2012-04-19 12:52  PWM1\settings\PWM.cspy.bat
     文件        4933  2012-04-19 13:10  PWM1\settings\PWM.dbgdt
     文件        1121  2012-04-19 13:10  PWM1\settings\PWM.dni
     文件        2838  2012-04-19 14:10  PWM1\settings\PWM.wsdt
     目录           0  2012-04-19 14:02  PWM2\
     文件        8887  2007-07-23 01:48  PWM2\Backup of PWM.ewd
     文件       38012  2004-03-04 01:26  PWM2\Backup of PWM.ewp
     目录           0  2012-04-19 13:42  PWM2\Debug\
............此处省略73个文件信息

评论

共有 条评论

相关资源