資源簡介
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個文件信息
評論
共有 條評論