13回答

1收藏

[原创] 【Energia开发环境】MSP430 LAUNCHPAD学习笔记4--PWM实现简单呼吸灯

 

TI TI 11102 人阅读 | 13 人回复 | 2014-01-15

Energia开发环境】MSP430 LAUNCHPAD学习笔记4--PWM实现简单呼吸灯
材料:
l MSP430 LAUNCHPAD x 1
l 发光二极管 x 1
实验目的:通过单片机输出PWM控制占空比,让MSP430 LAUNCHPAD控制发光二极管缓慢熄灭,缓慢变亮。
什么是PWM?占空比?
脉冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称脉宽调制,常用于灯光亮度、马达控制...等等。占空比为方波高电平时间跟周期的比例叫占空比,例如1秒高电平1秒低电平的PWM波占空比是50%,下图形象的展示了波形示意图:
下面我们来连线:通过P1.4输出PWM波形来控制发光二极管亮灭程度
源程序:
/******************************************************************
  PWM control
  【Energia开发环境】MSP430 LAUNCHPAD学习笔记4--简单呼吸灯   
    Autor: qinkaiabc
********************************************************************/
int brightness = 0;//此变量用来表示LED的亮度。
int baseTime = 2000;//定义运行周期
//定义布尔值0-1,用以控制亮或灭,以及占空比
boolean LED_on = HIGH, count_up = false, time_add = false;
void delay_count_fun(boolean );
void setup()
{
  // 定义P1.4引脚为输出
  pinMode(P1_4, OUTPUT);
}
void loop()
{
    /*brightness 等于 0 或是等于定义的周期时就程序反向运行,
    *意思是原先亮的变成灭,原先占空比增大就变为减小*/
   if(brightness == 0 || brightness == baseTime)
   {
     LED_on = !LED_on;                    // 工作反向 :亮或灭
     count_up = !count_up;                // 计数增还是减
     time_add = !time_add;  // 占空比增大还是减少
   }
   digitalWrite(P1_4, !LED_on);
   Duty_Cycle(time_add);//占空比控制
   digitalWrite(P1_4, LED_on);//占空比控制
   Duty_Cycle(!time_add);
   //计数判断
   if(count_up)  brightness++;
   else  brightness--;
}
// 占空比增大还是减少判断
void Duty_Cycle(boolean up)
{
if(up)
    // 占空比增大还是减少
    delayMicroseconds(baseTime - brightness + 1);
  else
    delayMicroseconds(brightness + 1);// 占空比增大
}
其中你可以更改baseTime(周期)的值,看看会有什么变化。
delayMicroseconds()

其作用是产生一个延时,计量单位是微秒,1000微秒=1毫秒。
By  qinkaiabc

【Energia开发环境】MSP430 LAUNCHPAD学习笔记4--简单呼吸灯 2.pdf (173.78 KB, 下载次数: 81)


PWM_control.zip (1.02 KB, 下载次数: 56)




这个世界成功人的总是少数,我们都只是平凡的人,我们需要有一种平凡且进取的心态去生活,不要期望有多少付出就一定有多少回报,相信没有付出就没有回报就可以了。
分享到:
回复

使用道具 举报

回答|共 13 个

倒序浏览

沙发

w932443004

发表于 2014-1-16 00:02:25 | 只看该作者

不错不错 收藏了线
板凳

cr531585

发表于 2014-1-16 01:29:28 | 只看该作者

围观                                   
地板

ddllxxrr

发表于 2014-1-16 04:22:59 | 只看该作者

顶顶顶,我顶顶顶
http://shop34182318.taobao.com/
https://shop436095304.taobao.com
5#

┗SKY┛

发表于 2014-1-16 10:10:36 | 只看该作者

不错,软件在哪里下载的?
6#

夏洛克

发表于 2014-1-16 10:16:51 | 只看该作者

┗SKY┛ 发表于 2014-1-16 10:10
不错,软件在哪里下载的?

Fritzing http://fritzing.org/home/
这个世界成功人的总是少数,我们都只是平凡的人,我们需要有一种平凡且进取的心态去生活,不要期望有多少付出就一定有多少回报,相信没有付出就没有回报就可以了。
7#

┗SKY┛

发表于 2014-1-16 16:13:05 | 只看该作者

qinkaiabc 发表于 2014-1-16 10:16
Fritzing http://fritzing.org/home/

开发环境下载呢???
8#

夏洛克

发表于 2014-1-16 17:45:44 | 只看该作者

┗SKY┛ 发表于 2014-1-16 16:13
开发环境下载呢???

http://www.energia.nu/
这个世界成功人的总是少数,我们都只是平凡的人,我们需要有一种平凡且进取的心态去生活,不要期望有多少付出就一定有多少回报,相信没有付出就没有回报就可以了。
9#

jauhua

发表于 2014-1-16 21:02:52 | 只看该作者

楼主第二章图用什么画的,竟然出现了面包板
10#

夏洛克

发表于 2014-1-16 21:10:30 | 只看该作者

jauhua 发表于 2014-1-16 21:02
楼主第二章图用什么画的,竟然出现了面包板

Fritzing http://fritzing.org/home/
这个世界成功人的总是少数,我们都只是平凡的人,我们需要有一种平凡且进取的心态去生活,不要期望有多少付出就一定有多少回报,相信没有付出就没有回报就可以了。
您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条