打印
[MCU]

闲来无事做个呼吸灯

[复制链接]
600|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
elephant00|  楼主 | 2020-12-3 10:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include "msp430f5529.h"
//P2.1 TA1.2
void delay(unsigned int ms)
{
  int x,y;
  for(x=ms; x>0; x--)
    for(y=500; y>0;y--);
}
int i;//设置占空比
unsigned char dir; //i增减方向,非0为增
int main( void )
{
  // Stop watchdog timer to prevent time out reset
  WDTCTL = WDTPW + WDTHOLD;
  P2DIR |= BIT1;
  P2SEL |= BIT1;
  TA1CTL = TACLR + TASSEL_2 + TAIE;
  //计数值清零    时钟选择SMCLK   中断允许
  
  TA1CCTL2 |= OUTMOD_7;
  TA1CCR0 =1024;
  
  i = 0;
  dir = 1;
  TA1CTL |= MC_1;
  TA1CCR2 = 128;
  
  while(1)
  {
    TA1CCR2 = i;
    //delay(500);
    if(dir <1 && i >0 )      i   -= 30;
    if(dir >0 && i <1024)    i   += 30;
    if(dir >0 && i >=1024)   dir =  0;
    if(dir <1 && i <50 )      dir =  1;
    delay(30);
  }
  
  while(1);
  
  
  return 0;
}
//*****************************************************************************************

板子用的SEED_EXP430F5529v1.0
IO引出非常之乱和不全
能输出PWM的仅有一两个口,所以选了个非主流的TA1.2

//******************再分割*****************************************************************
程序烧写之后
只需在P2.0(即TA1.2)接一个LED加200R-1K的限流电阻即可观赏呼吸灯效果
其他板子请自行对照datasheet找到TA1.2所对应的口
或是修改程序中PWM输出设置

使用特权

评论回复

相关帖子

沙发
zhangmangui| | 2020-12-3 22:43 | 只看该作者
重要的是呼吸起来要看着舒服   需要调试频率  等

使用特权

评论回复
板凳
airwill| | 2020-12-6 15:03 | 只看该作者
通过 PMW 调节亮度, 实现渐变色的呼吸效果, 明暗变化可能还需要曲线以更有 "呼吸" 感

使用特权

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

本版积分规则

970

主题

2980

帖子

7

粉丝