#include <msp430x14x.h>

 void int_clk();
void delay(int i);
void main()
{
WDTCTL = WDTPW + WDTHOLD;
int_clk();
P6DIR = 0XFF;
P6OUT = 0Xff;
while()
{
P6OUT = 0XFF;
delay();
P6OUT = 0x00;
delay();
}
} void int_clk()
{
BCSCTL1 &= ~XT2OFF;
BCSCTL2 |= SELM_1 + SELS;
do
{
IFG1 &= ~OFIFG;
for(int i=;i<;i++)
_NOP();
}while((IFG1 & OFIFG)!=);
IFG1 &= ~OFIFG;
} void delay(int i)
{
while(i--);
}

提示:IAR的配置要正确

升级版本:

 /***********************************************
程序功能:实现流水灯以三种流动方式和四种流动速度
的不同组合而进行点亮"流动"
------------------------------------------------*/
#include <msp430x14x.h>
int flag=,i=,j=,dir=,speed=;
void int_clk();
void delay(int i);
void main()
{
WDTCTL = WDTPW + WDTHOLD;
int_clk();
P6DIR = 0XFF;
P6OUT = 0XFF; TACCTL0 = CCIE; //使能CCR0中断
TACCR0 = ;
TACTL = TASSEL_2 + MC_1 + ID_3; //定时器A选择SMCLK,增计数,8分频 _EINT();
LPM0;
}
/*******************************************
函数名称:Timer_A
功 能:定时器A的中断服务函数,在这里通过标志
控制流水灯的流动方向和流动速度
参 数:无
返回值 :无
********************************************/
#pragma vector=TIMERA0_VECTOR
__interrupt void Timer_A(void)
{
if(flag == )
{
P6OUT = ~(0x80>>(i++)); //灯的点亮顺序D8 -> D1
}
else if(flag == )
{
P6OUT = ~(0x01<<(i++)); //灯的点亮顺序D1 -> D8
}
else
{
if(dir) //灯的点亮顺序 D8 -> D1,D1 -> D8,循环绕圈
P6OUT = ~(0x80>>(i++));
else
P6OUT = ~(0x01<<(i++));
} if(i == )
{
i = ;
dir = ~dir;
}
delay();
j++;
if(j == )
{
i = ;
j = ;
flag++;
if(flag == ) flag = ;
switch(speed)
{
case :
// TACTL &=~ (ID0 + ID1);
TACTL |= ID_3;
break;
case :
// TACTL &=~ (ID0 + ID1);
TACTL |= ID_2;
break;
case :
// TACTL &=~ (ID0 + ID1);
TACTL |= ID_1;
break;
case :
// TACTL &=~ (ID0 + ID1);
TACTL |= ID_0;
break;
default:
break;
}
if(flag != ) speed++;
if(speed == ) speed = ;
}
}
void int_clk()
{
BCSCTL1 &= ~XT2OFF;
BCSCTL2 |= SELM_1 + SELS; //DCO在800KHZ左右
do
{
IFG1 &= ~OFIFG;
for(int i=;i<;i++)
_NOP();
}while((IFG1 & OFIFG)!=);
IFG1 &= ~OFIFG;
} void delay(int i)
{
while(i--);
}

MSP430F149学习之路——LED的更多相关文章

  1. MSP430F149学习之路——按键与LED

    代码 /*********************************** 程序功能:用按键控制LED状态 缺点:按键按下后无法改变LED灯的状态,可以利用板上的复位键^~^ ********** ...

  2. MSP430F149学习之路——时钟2

    代码一: /************************** 功能:LED每隔1秒闪烁一次 ****************************/ #include <msp430x14 ...

  3. MSP430F149学习之路——按键

    代码一: /********************************** 程序功能:用按键控制LED灯熄灭 ***********************************/ #incl ...

  4. MSP430F149学习之路——AD

    代码一:Timer_A触发转换 #include <msp430x14x.h> void main() { WDTCTL = WDTPW + WDTHOLD; P6SEL |= BIT0; ...

  5. MSP430F149学习之路——蓝牙模块

    注意蓝牙模块的接法! #include <msp430x14x.h> ]; ; void int_clk() { BCSCTL1 &= ~XT2OFF; BCSCTL2 |= SE ...

  6. MSP430F149学习之路——SPI

    代码一: //****************************************************************************** //Description: ...

  7. MSP430F149学习之路——UART

    代码一: #include <msp430x14x.h> void int_clk() { BCSCTL1 &= ~XT2OFF; BCSCTL2 |= SELM_2 + SELS ...

  8. MSP430F149学习之路——比较器Comparaor_A

    代码一: #include <msp430x14x.h> ; void int_clk() { BCSCTL1 &= ~XT2OFF; BCSCTL2 |= SELM_2 + SE ...

  9. MSP430F149学习之路——PWM信号

    代码一: /******************************* 程序功能:ACLK=32768Hz PWM波 T=512/32768 占空比75% ******************** ...

随机推荐

  1. android学习笔记16——对话框

    android支持丰富的对话框,常用4中对话框: 1.AlertDialog: 2.ProgressDialog:进度对话框,这个对话框只是对进度条的封装 3.DatePickerDialog:日期选 ...

  2. JS URL 使用base64加密与解密

    JS编码方式: <script type="text/javascript"> document.write(encodeURI("http://www.w3 ...

  3. ulipad 常用快捷键

    快捷键名称 对应功能 F1 (M)UliPad Help Document(帮助文档) F2 (M)Directory Browser(目录浏览)(3.1版新增) F3 (M)Find Next(查找 ...

  4. [Perl] Getopt 函数来接收用户参数的使用

    我们在linux常常用到一个程序需要加入参数,现在了解一下perl中的有关控制参数的函数.getopt.在linux有的参数有二种形式.一种是–help,另一种是-h.也就是-和–的分别.–表示完整参 ...

  5. PHPWord生成word实现table合并(colspan和rowspan)

    PHPWord(http://phpword.codeplex.com/)是一个很好处理和生成WORD文档的工具,但是生成复杂的word,如colspan和rowspan的实现,还是需要你做些修改. ...

  6. mousewheel滚轮事件 浏览器的写法

    鼠标的滚轮事件,在Jquery中有对应的一个插件:https://github.com/brandonaaron/jquery-mousewheel 原生的滚轮事件:火狐与其他浏览器使用了不同的事件 ...

  7. 5. redis管道, 发布订阅, 模拟队列

    一. 发布订阅 #订阅scribe 127.0.0.1:6379> SUBSCRIBE "channel_1" Reading messages... (press Ctrl ...

  8. Android Gradle实用技巧——多渠道打包

    友盟有很多不错的功能,例如渠道统计等. 想要做渠道统计,有一个要求就是要在manifest文件中添加各个渠道的配置.只有一两个渠道还好说,但是渠道多了的话,手动修改然后打包简直是噩梦. 幸好现在And ...

  9. BarTender破解问题

    要使用BarTender 10.0的.net组件打印条码,就必须使用企业版的.在破解说明中会指出,BarTender破解过程要断开internet连接.在企业应用开发中,可能会遇到在局域网中给多个机器 ...

  10. sizeof 和 strlen 区别

    Sizeof与Strlen的区别与联系 一.sizeof    sizeof(...)是运算符,在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组.指针.类型. ...