资源简介
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个文件信息
评论
共有 条评论