社区导航

 
查看: 1001|回复: 0

[资料分享] MSP430学习笔记1--控制8个LED闪烁

[复制链接]

3360

TA的帖子

421

TA的资源

五彩晶圆(中级)

Rank: 8Rank: 8

荣誉会员勋章

发表于 2013-11-29 18:49:22 | 显示全部楼层 |阅读模式
  • /***************************************************
  • 程序功能:控制8个LED闪烁,用于测试下载功能是否正常
  • ---------------------------------------------------
  • 测试说明:观察LED闪烁
  • ***************************************************/
  • #include  <msp430x14x.h>
  • /****************主函数****************/
  • void main(void)
  • {
  •     /*下面六行程序关闭所有的IO口*/
  •     P1DIR = 0XFF;P1OUT = 0XFF;
  •     P2DIR = 0XFF;P2OUT = 0XFF;
  •     P3DIR = 0XFF;P3OUT = 0XFF;
  •     P4DIR = 0XFF;P4OUT = 0XFF;
  •     P5DIR = 0XFF;P5OUT = 0XFF;
  •     P6DIR = 0XFF;P6OUT = 0XFF;
  •     WDTCTL = WDTPW + WDTHOLD;       //与AVR不同,默认看门狗是打开的,所以要先关闭看门狗
  •     P6DIR |= BIT2;P6OUT |= BIT2;    //关闭电平转换,这个是对应开发板上的电平转换芯片,与实际功能无关
  •     CCTL0 = CCIE;                   //使能CCR0中断
  •     CCR0 = 2047;                    //设定周期0.5S 计算:32768/8/2=2048;使用的是手表晶振               
  •     TACTL = TASSEL_1 + ID_3 + MC_1; //定时器A的时钟源选择ACLK,增计数模式
  •     //在msp430x14x.h已经对相应的寄存器和标志位都做了定义,只需要进行选择即可具体查看头文件。
  •     //TASSEL_1表示时钟源选择ACLK,ID_3表示八分频,MC_1表示增计数模式
  •     P2DIR = 0xff;                   //设置P2口方向为输出
  •     P2OUT = 0xff;
  •     _EINT();                        //使能全局中断
  •     LPM3;                           //设置工作模式,使CPU进入LPM3模式,此模式下CPU MCLK SMCLK被禁止 ACLK活动
  • }
  • /*******************************************
  • 函数名称:Timer_A
  • 功    能:定时器A的中断服务函数
  • 参    数:无
  • 返回值  :无
  • ********************************************/
  • #pragma vector = TIMERA0_VECTOR
  • __interrupt void Timer_A (void)
  • {
  •     P2OUT ^= 0xff;                  //P2口输出取反
  • }
此帖出自MSP430论坛


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

小黑屋|手机版|Archiver|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2018-10-23 10:11 , Processed in 0.101685 second(s), 17 queries , Gzip On, MemCache On.

快速回复 返回顶部 返回列表