您的位置 首页 FPGA

MSP430单片机完成PWM操控LED灯的规划

MSP430单片机实现PWM控制LED灯的设计-#include

void Init_CLK(void);

void Init_TimerA(void);

unsigned int nCount;

void Init_CLK(void)

{

unsigned int i;

//将寄存器的内容清零

//XT2震荡器开启

//LFTX1工作在低频模式

//ACLK的分频因子为1

BCSCTL1 = 0X00;

do

{

描绘:MSP430完成PWM。反映在LED灯上,能够看到LED灯的亮度不断改变

//

// ACLK= n/a, MCLK= SMCLK= default DCO ~ 800k

//

// MSP430F13x

// ——————-

// /|| XIN|-

// | | | 32kHz

// –|RST XOUT|-

// | |

// | P1.2|–》LED

//

//

// 硬件电路:MSP430F135中心试验板-I型

// 硬件衔接:

//

// 调试器:MSP430FET全系列JTAG仿真器

// 调试软件: IAR Embedded Workbench Version: 3.41A 编译

//******************************************************************************

#include

void Init_CLK(void);

void Init_TImerA(void);

unsigned int nCount;

void Init_CLK(void)

{

unsigned int i;

//将寄存器的内容清零

//XT2震动器敞开

//LFTX1作业在低频形式

//ACLK的分频因子为1

BCSCTL1 = 0X00;

do

{

// 铲除OSCFault标志

IFG1 &= ~OFIFG;

for (i = 0x20; i 》 0; i–);

}

while ((IFG1 & OFIFG) == OFIFG);

BCSCTL2 = 0X00;

//MCLK的时钟源为TX2CLK:2.048MHz,分频因子为0

BCSCTL2 += SELM1 + DIVM_0;

//SMCLK的时钟源为TX2CLK:2.048MHz,分频因子为1

BCSCTL2 += SELS + DIVS_0;

return;

}

void Init_TImerA(void)

{

nCount = 0;

TACTL = TASSEL1 + TACLR;// 挑选SMCLK,铲除TAR

CCTL0 = CCIE;// CCR0 中止答应

CCR0 = 65535 – 1;// PWM周期为256

CCTL1 = OUTMOD_7;// CCR1输出形式为“复位/置位”形式

TACTL |= MC1;// 增记数形式

return;

}

#pragmavector=TIMERA0_VECTOR//TImer_A中止函数

__interrupt void TimerA_ISR()

{

nCount += 655;

CCR1 = nCount;

}

int main(void)

{

// 封闭看门狗

WDTCTL = WDTPW + WDTHOLD;

P1DIR |= BIT2;// P1.2为输出

P1SEL |= BIT2;// 挑选P1.2为TA1管脚

// 封闭中止

_DINT();

// 初始化

Init_CLK();

Init_TimerA();

// 翻开中止

_EINT();

for(;;)

{

//CUP进入低功耗形式

_BIS_SR(LPM0_bits);

_NOP();

}

}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/fangan/fpga/345535.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部