微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > MSP430F149 TimerA 输出pwm信号 C程序代码

MSP430F149 TimerA 输出pwm信号 C程序代码

时间: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);

}


上一篇:STM32 DMA学习
下一篇:按键控制PWM波程序

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top