打印

关于msp430的有关问题

[复制链接]
935|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
20153177|  楼主 | 2016-6-11 15:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请问如何将以下的程序改为
在G2板上利用p1.6(PWM输出口)驱动LED来实现呼吸灯。呼吸灯就是亮度渐变的LED灯,普通LED可以用TA输出PWM来控制亮度,通过WDT定时中断来改变亮度,从而实现呼吸灯效果。
1、通过按键来控制呼吸灯的呼吸频率,即亮度渐变的快慢。
控制方式:按扩展板上KEY1键,呼吸加快一档,连续按2下,呼吸加快一档,连续按3下,呼吸又加快一档......;按KEY3键,呼吸减慢一档,连续按2下,呼吸减慢一档,连续按3下,呼吸又减慢一档......。
2、在液晶屏上显示呼吸灯呼吸频率的相关信息
#include<msp430g2553.h>
void BreathLED()
{
      
        P1SEL =BIT6;
        P1DIR = BIT6;
        P1OUT=0;
        TACTL = TASSEL_1 + MC_1  ;
        TACCTL1 =  OUTMOD_3 ;
        TACCTL0 = CCIE;
        CCR0 =12000;
        CCR1 =327;         //0% pwm
        
        TACTL |=TACLR;
        _EINT();
}
        
int main( void )
{
  // Stop watchdog timer to prevent time out reset
  WDTCTL = WDTPW + WDTHOLD;
  BCSCTL3 |= LFXT1S_2; // Set LFXT1为vol时钟即12kHZ
  BreathLED();
  LPM0;
  return 0;
}
#pragma vector=TIMER0_A0_VECTOR
__interrupt void CountTimes()
{
        static int Times;
        Times++;
        switch(Times)
        {
        case 20:
                CCR1=294;
                break;
        case 30:
                CCR1=277;
                break;
        case 40:
                CCR1=262;   //20% PWM
                break;
        case 50:
                CCR1=245;   //20% PWM
                break;
        case 60:
                CCR1=228;   //40% PWM
                break;               
        case 80:
                CCR1=196;   //40% PWM
                break;
        case 100:
                CCR1=163;
                break;
        case 120:
                CCR1=131;   //60% PWM
                break;
        case 140:
                CCR1=98;   //60% PWM
                break;
        case 160:
                CCR1=65;    //80% PWM
                break;
        case 180:
                CCR1=32;    //80% PWM
                break;               
        case 200:
                CCR1=1;     //100% PWM
                break;
        case 220:
                CCR1=32;    //80% PWM
                break;
        case 240:
                CCR1=65;
                break;
        case 260:
                CCR1=98;   //60% PWM
                break;
        case 280:
                CCR1=131;
                break;
        case 300:
                CCR1=163;
                break;
        case 320:
                CCR1=196;
                break;

相关帖子

沙发
dirtwillfly| | 2016-6-11 17:10 | 只看该作者
呃,这个一两句说不清楚

使用特权

评论回复
板凳
20153177|  楼主 | 2016-6-11 18:57 | 只看该作者
dirtwillfly 发表于 2016-6-11 17:10
呃,这个一两句说不清楚

您能帮我改改吗,如果可以那就太感谢了,我是一个新手,这是老师要求的作业,很急,谢谢!!!!!!

使用特权

评论回复
地板
20153177|  楼主 | 2016-6-11 19:28 | 只看该作者
20153177 发表于 2016-6-11 18:57
您能帮我改改吗,如果可以那就太感谢了,我是一个新手,这是老师要求的作业,很急,谢谢!!!!!! ...

必有打赏

使用特权

评论回复
5
dirtwillfly| | 2016-6-11 20:31 | 只看该作者

我没时间。去我签名档里的qq群里问问吧,可能有人愿意帮你写

使用特权

评论回复
6
20153177|  楼主 | 2016-6-11 21:35 | 只看该作者
dirtwillfly 发表于 2016-6-11 20:31
我没时间。去我签名档里的qq群里问问吧,可能有人愿意帮你写

好的,谢谢的

使用特权

评论回复
7
vivilzb1985| | 2016-6-11 22:09 | 只看该作者
呼吸频率的采用PWM的实现的

使用特权

评论回复
8
309030106| | 2016-6-15 21:47 | 只看该作者
这个调节PWM的占空比

使用特权

评论回复
9
尤彼卡| | 2016-6-16 22:11 | 只看该作者
我做过PWM控制LED 的亮度,用的按键控制的

使用特权

评论回复
10
firstblood| | 2016-6-19 11:57 | 只看该作者
这个采用按键激发IO中断,然后改变PWM的占空比来改变呼吸频率的。

使用特权

评论回复
11
comeon201208| | 2016-6-19 16:24 | 只看该作者
按键的设计的只是设计了一个触发的事件的。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

9

帖子

0

粉丝