新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > MSP430F149 TimerA 輸出pwm信號 C程序代碼

        MSP430F149 TimerA 輸出pwm信號?。贸绦虼a

        作者: 時間:2016-11-13 來源:網絡 收藏
        MSP430F149 TimerA 輸出pwm信號 
        注意其中寄存器設置與pwm信號輸出引腳的對應關系 P1.2-TA1,TACCR1,TACCTL1;,P1.3-TA2,TACCR2,TACCTL2。
        #include <msp430x14x.h>
        #define uint unsigned int
        #define uchar unsigned char
        void int_clk()
        {
        uchar i;
        BCSCTL1 &= ~XT2OFF; //打開XT振蕩器
        BCSCTL2 |= SELM1+SELS; //MCLK為8MHz,SMCLK為8MHz
        do
        {
        IFG1&=~OFIFG; //清除振蕩錯誤標志
        for(i=0;i<100;i++)
        _NOP(); //延時等待
        }
        while((IFG1&OFIFG)!=0); //如果標志為1,則繼續循環等待
        IFG1&=~OFIFG;
        }
        void int_pwm()
        {
        P1SEL |= BIT2 + BIT3 ; //選擇 p1.2-TA1 ,P1.3-TA2 作為PWM輸出 第二功能
        P1DIR |= BIT2 + BIT3 ;
        TACCR0 = 800; //PWM信號頻率10KHZ
        TACCR1 = 400 ; // 占空比1:1
        TACCTL1 = OUTMOD_7;
        TACCR2 = 400 ;
        TACCTL2 = OUTMOD_7;
        TACTL |= TASSEL1 +ID1 + ID0 + MC0 ; //選擇SMCLK 增加模式
        }
        void main()
        {
        WDTCTL = WDTPW + WDTHOLD ;
        int_clk();
        int_pwm();
        while(1);
        }



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 双牌县| 上林县| 阳城县| 定西市| 广宗县| 桓台县| 盐源县| 莲花县| 喜德县| 中西区| 安平县| 嘉荫县| 龙海市| 金乡县| 遂昌县| 安泽县| 清苑县| 安国市| 亚东县| 石阡县| 利津县| 宽城| 萨嘎县| 睢宁县| 札达县| 武夷山市| 高碑店市| 茂名市| 高平市| 广宁县| 岫岩| 来安县| 溆浦县| 措美县| 沙雅县| 茌平县| 县级市| 富源县| 会泽县| 雅江县| 灵川县|