MSP-EXP430FR5739开发板学习第一弹:流水灯

2019-07-19 15:36发布

前段时间沾@dirtwillfly 大大的喜气http://bbs.21ic.com/icview-1641406-1-1.html,从他那得到一块MSP-EXP430FR5739开发板,今天发布第一次学习过程,请大家拍砖!


这次学习使用的开发工具是火山大神@火山LF 同款的CCS6.2,软件使用方案参考火山大神的CCS6.2超详细使用方法,这里我也是学她的就不介绍开发工具的使用了,有兴趣的同学可以看看火山大神的教程,有疑问可以咨询她。

附件是这款开发板的寄存器手册、datasheet以及原理图。

首先参考MSP430的例程MSP430FR57xx_01.c ,先点亮一盏灯(LED1),代码如下:
#include <msp430.h>

int main(void) {
    WDTCTL = WDTPW | WDTHOLD;        // Stop watchdog timer

PJDIR = BIT0;

PJOUT = BIT0;

  while(1)
  {
    PJOUT = BIT0;

    __delay_cycles(100000);                    //delay 1/6s

   }
}


将程序编译烧进开发板后LED1常亮,符合预期;

然后控制LED1闪亮,代码如下:
#include <msp430.h>


int main(void) {
    WDTCTL = WDTPW | WDTHOLD;        // Stop watchdog timer

PJDIR = BIT0;

PJOUT = BIT0;

  while(1)
  {
    PJOUT ^= BIT0;

    __delay_cycles(100000);                    //delay 1/6s

   }
}

将循环内的直接赋值1改为异或后赋值,LED1以1/6s的频率闪烁,符合设计要求;

最后,设计流水灯,开发板的8个LED灯轮流闪烁,代码如下:

#include <msp430.h>

int main(void) {
    WDTCTL = WDTPW | WDTHOLD;        // Stop watchdog timer

PJDIR = BIT0|BIT1|BIT2|BIT3;

P3DIR = BIT4|BIT5|BIT6|BIT7;

PJOUT = BIT0|BIT1|BIT2|BIT3;

P3OUT = BIT4|BIT5|BIT6|BIT7;

  while(1)
  {
    PJOUT ^= BIT0;

    __delay_cycles(100000);     //delay 1/6s

    PJOUT=0;

    __delay_cycles(100000);

    PJOUT ^= BIT1;

    __delay_cycles(100000);

    PJOUT=0;

    __delay_cycles(100000);

    PJOUT ^= BIT2;

    __delay_cycles(100000);

    PJOUT=0;

    __delay_cycles(100000);

    PJOUT ^= BIT3;

    __delay_cycles(100000);

    PJOUT=0;

    __delay_cycles(100000);

     P3OUT ^= BIT4;

     __delay_cycles(100000);

     P3OUT=0;

     __delay_cycles(100000);

     P3OUT ^= BIT5;

      __delay_cycles(100000);

      P3OUT=0;

      __delay_cycles(100000);

      P3OUT ^= BIT6;

      __delay_cycles(100000);

      P3OUT=0;

      __delay_cycles(100000);

      P3OUT ^= BIT7;

     __delay_cycles(100000);

     P3OUT=0;

     __delay_cycles(100000);

  }

}



LED灯一个接一个闪烁,上一个灭了之后下一个LED灯才亮,符合预期。
没法上传视频,所以不能给大家展示结果了。

总的来说,我觉得我这些代码写的很潦草,但完成了预计的目标,还是蛮开心的,希望大家可以给我提些改进建议,谢谢大家了!

最后,感谢在我学习过程中这些同志们@火山LF @鬼谷清泉 @像风儿一样清 @dirtwillfly 的帮助,谢谢大家!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
19条回答
dirtwillfly
1楼-- · 2019-07-19 20:54
Meyeah
2楼-- · 2019-07-20 02:54
航天的鱼
3楼-- · 2019-07-20 06:13
啊哈,观摩一下
dirtwillfly
4楼-- · 2019-07-20 08:58
 精彩回答 2  元偷偷看……
数码小叶
5楼-- · 2019-07-20 14:47
我来踢馆了,那个1/6s咋算出来的
数码小叶
6楼-- · 2019-07-20 19:19
还有你该爆一下火山大神的qq,微信,msn,微博啥的啊,不然别人咋请教呢

一周热门 更多>