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

发布者:Xiangtan最新更新时间:2020-11-25 来源: elecfans关键字:MSP430  单片机  PWM控制  LED灯 手机看文章 扫描二维码
随时随地手机看文章

描述: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 编译

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

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

{

// 清除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();

}

}


关键字:MSP430  单片机  PWM控制  LED灯 引用地址:MSP430单片机实现PWM控制LED灯的设计

上一篇:MSP430单片机对诺基亚5110液晶显示的驱动
下一篇:MSP430单片机对步进电机的驱动控制设计

小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved