pwm 控制灯亮度不好使

[复制链接]
2387|32
 楼主| zhanghqi 发表于 2017-2-17 18:33 | 显示全部楼层 |阅读模式

#include "msp430g2553.h"
void main( void )
{
WDTCTL = WDTPW + WDTHOLD; //关看门狗
TACTL=TASSEL_1+TACLR+MC_1; //ACLK为时钟源,清TAR,增计数模式
TACCR0=512-1; //设定PWM周期
TACCTL1=OUTMOD_7; //CCR1输出为reset/set模式
TACCR1=55584; //CCR1的PWM占空比设定
TACCTL2=OUTMOD_7; //CCR2输出为reset/set模式
TACCR2=28; //CCR2的PWM占空比设定
P1DIR|=BIT0 + BIT6; //P1.2、P1.3输出,对应TA1,TA2
P1SEL|=BIT0 + BIT6; //TA1,TA2输出功能
while(1);
}
jlyuan 发表于 2017-2-17 18:36 | 显示全部楼层
TACCR1=55584; //CCR1的PWM占空比设定
55584太大了
dengdc 发表于 2017-2-17 18:38 | 显示全部楼层
给你个例程,这个我用过 没有问题
#include
void main(void)
{
WDTCTL =WDTPW+ WDTHOLD; //停止看门狗定时器
P1DIR |= 0x0C; //设P1.2 和P1.3 为输出
P1SEL |= 0x0C; //设P1.2 和P1.3 TA1/2 为模块功能
CCR0 = 512-1; //装入PWM 周期值
CCTL1 = OUTMOD_7; //设CCR1输出单元为复位/置位输出模式
CCR1 = 384; //装入CCR1 PWM的占空值
CCTL2 = OUTMOD_7; //设CCR2输出单元为复位/置位输出模式
CCR2 = 128; //装入CCR2 PWM 的占空值
TACTL = TASSEL_1 + MC_1; //时钟源选择ACLK, 定时器A 增计数模式
_BIS_SR(LPM3_bits); //进入LPM3 低功耗模式
}
lizye 发表于 2017-2-17 18:42 | 显示全部楼层
楼上正解
zhenykun 发表于 2017-2-17 18:43 | 显示全部楼层
注意占空比的啊,这个是很重要的么。。
dirtwillfly 发表于 2017-2-17 19:14 | 显示全部楼层
dengdc 发表于 2017-2-17 18:38
给你个例程,这个我用过 没有问题
#include
void main(void)

 楼主| zhanghqi 发表于 2017-2-17 19:29 | 显示全部楼层
哦,那我就知道怎么回事了,多谢大家,结贴了哈
yujielun 发表于 2017-2-17 21:26 | 显示全部楼层
PWM占空比宽一些就能看出亮度变化了。
yujielun 发表于 2017-2-17 21:27 | 显示全部楼层
检查一下IO的驱动能力可能也不够。
Levenburg 发表于 2017-2-21 20:29 | 显示全部楼层
注意调节占空比
dirtwillfly 发表于 2017-2-21 20:34 | 显示全部楼层
dspmana 发表于 2017-2-21 21:34 | 显示全部楼层
LED亮度不能调节吗?
dspmana 发表于 2017-2-21 21:38 | 显示全部楼层
看看是不是驱动能力不够,试试上拉LED
ghuca 发表于 2017-2-22 21:01 | 显示全部楼层
测量了PWM占空比了吗?
ghuca 发表于 2017-2-22 21:21 | 显示全部楼层
不能控制LED,是驱动能力不足吗?
tongbu2015 发表于 2017-2-22 23:24 | 显示全部楼层
这个是是需要调节占空比的
tongbu2015 发表于 2017-2-22 23:25 | 显示全部楼层
个人认为PWM的方式调节灯的亮度的是非常简单的
dzfansman 发表于 2017-2-24 22:57 | 显示全部楼层
PWM占空比有问题。
dzfansman 发表于 2017-2-24 23:00 | 显示全部楼层
占空比太低,不能电量LED。
selongli 发表于 2017-2-25 21:15 | 显示全部楼层
设计LED驱动电路了吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

852

主题

11757

帖子

5

粉丝
快速回复 在线客服 返回列表 返回顶部