MSP430學(xué)習(xí)筆記3-PWM的產(chǎn)生
這個(gè)程序主要是利用定時(shí)器的比較輸出功能來(lái)產(chǎn)生PWM波控制LED,定時(shí)器A的比較輸出對(duì)應(yīng)P2.3 P2.4,因此在程序的一開(kāi)始需要設(shè)置比較匹配的工作模式,需要說(shuō)明的是頭文件中已經(jīng)對(duì)各種模式給了詳細(xì)的定義,不需要在去配置寄存器,程序較為簡(jiǎn)單,稍微擴(kuò)展一下去控制舵機(jī)也很容易,大家自己分析。
/*******************************************************
程序功能:用從P2.3和P2.4輸出的PWM波形驅(qū)動(dòng)LED閃爍
-------------------------------------------------------
撥碼開(kāi)關(guān)設(shè)置:將LED位撥至ON,其余撥至OFF
測(cè)試說(shuō)明:觀察LED的亮滅的時(shí)間長(zhǎng)短
*******************************************************/
#include
voidmain(void)
{
/*下面六行程序關(guān)閉所有的IO口*/
P1DIR=0XFF;P1OUT=0XFF;
P2DIR=0XFF;P2OUT=0XFF;
P3DIR=0XFF;P3OUT=0XFF;
P4DIR=0XFF;P4OUT=0XFF;
P5DIR=0XFF;P5OUT=0XFF;
P6DIR=0XFF;P6OUT=0XFF;
WDTCTL=WDTPW+WDTHOLD;//關(guān)狗
P6DIR|=BIT2;P6OUT|=BIT2;//關(guān)閉電平轉(zhuǎn)換
P2DIR=0xff;//P2端口設(shè)置為輸出
P2OUT=0xff;//關(guān)閉其他LED
P2SEL|=BIT3+BIT4;//P2.3和P2.4連接內(nèi)部模塊,使用的是第二功能作為T(mén)imerA的比較輸出。
CCR0=4096-1;//PWM周期為1S
CCTL1=OUTMOD_7;//捕捉比較寄存器的配置,工作在方式7,計(jì)數(shù)值等于比較值時(shí)輸出置位
CCR1=4000;//輸出1的比較值
CCTL2=OUTMOD_7;//CCR2reset/set
CCR2=500;//輸出2的比較值改變此值即可以改變輸出的pwm波的占空比
TACTL=TASSEL_1+ID_3+MC_1;//ACLK/8,upmode
//_BIS_SR(LPM3_bits);//EnterLPM3
LPM3;
}