MSP430FR6989系列教程之流水灯

MSP430系列教程之流水灯

嵌入式系统(Embedded System),是一种嵌入机械或电气系统内部、具有专一功能和实时计算性能的计算机系统。


MSP430 是德州仪器生产的16位混合信号单片机系列。该系列的单片机专为低成本、特别是低功耗[1]的嵌入式应用设计。

MSP430FR6989系列教程之流水灯
MSP430FR6989系列教程之串口通信
MSP430FR6989系列教程之定时器
MSP430FR6989系列教程之PWM波
MSP430FR6989系列教程之LCD


前言

这次学习MSP430主要是为了备战电赛,虽然不确信一定会用到MSP430FR6989这块板子,但还是想尝试一下,毕竟未来的事谁也说不准。


一、MSP430FR6989的介绍

MSP430FR6989

开发板的主要资源如下

  • 高达 16MHz 的 16 位 RISC 架构
  • 优化的超低功耗模式
  • 高达128KB的FRAM
  • 五个16位定时器,7个捕捉/比较
  • 日历和闹钟功能的 RTC
  • 16位和32位CRC校验(CRC16、CRC32)
  • 16个外部通道的12位ADC
  • 集成LCD 驱动器
  • 增强型串行通信(UART、IIC、SPI)
  • 灵活的时钟系统(DCO、VLO、LFXT、HFXT)
  • AES安全加密、ESI等

二、使用步骤

1.开发环境配置

常用的开发环境有3种
1.CCS(Code Composer Studio)
在这里插入图片描述
2.IAR(IAR for MSP430)
在这里插入图片描述

3.Keil对MSP430没有官方支持,使用体验不行,所以就不推荐这种方式了

2.CCS的使用

在安装好CCS之后,首先需要自行设置一个工作区空间,建议在你空间余量比较大的盘下新建一个文件夹专门用于存储各个工作空间,并在该文件夹下新建每一个工作区的文件夹,以便后期的使用和整理。
比如,我这里的E:\CCS\1就是以1为空间名且建立在CCS这一文件夹下的工作空间
在这里插入图片描述
切换工作空间也比较方便
在这里插入图片描述

好了不说废话了,直接进入下一步,这里以大家最为熟悉的点亮两盏LED灯为例来展开

1.新建工程
在这里插入图片描述
2.选择芯片型号
在这里插入图片描述
3.设置工程名(这里以adc为例,因为我的工作区下已经有一个名为led的工程)
在这里插入图片描述
4.点击Finish,在你的工作区下就会新建好一个名为adc的新工程。
在这里插入图片描述
5.操作技巧Tips
这里为大家补充一个快速查看变量、函数体、头文件定义的方式:按下键盘上的Ctrl键,同时用鼠标右击需要查看的变量,就可以快速切换到包含的头文件,函数这些也是可以的。

6.编译工程
点击这个锤子样子的按钮就能对工程进行编译,可以看到工程编译成功,生成了led.out文件。
在这里插入图片描述
7.烧录工程
连接好下载usb线,usb接口既可以进行工程的烧录,也可以进行串口的发送
在这里插入图片描述

点击锤子右边的按钮,选择Select Program to Load,然后点击Browse Project,找到led工程下生成的led.out,点击OK即可导入,然后等待烧录过程完成即可。
在这里插入图片描述

点亮两盏LED灯的代码如下

#include <msp430.h> 

/**
 * main.c
 */

void Initial_Led(void);
void led(void);
//*****************************************************************************
//
// Blink the on-board LED.
//
//*****************************************************************************
int main(void)
{
	WDTCTL = WDTPW | WDTHOLD;	// stop watchdog timer
	Initial_Led();
	led();
	return 0;
}

void Initial_Led(void)
{
    P1DIR |= BIT0;              // 设置P10方向为输出
    P1OUT &= ~BIT0;              // P10输出为0,熄灭LED1

    P9DIR |= BIT7;              // 设置P97方向为输出
    P9OUT &= ~BIT7;              // P97输出为0,熄灭LED2
}

void led(void)
{
    // Configure GPIO
    P1DIR |= BIT0;                          // Clear P1.0 output latch for a defined power-on state
    P1OUT |= BIT0;                          // Set P1.0 to output direction
    P9DIR |= BIT7;                          // Clear P9.7 output latch for a defined power-on state
    P9OUT |= BIT7;                          // Set P9.7 to output direction
    PM5CTL0 &= ~LOCKLPM5;                   // Disable the GPIO power-on default high-impedance mode
                                            // to activate previously configured port settings
    while(1)
    {
        P1OUT ^= BIT0;                      // Toggle LED
        P9OUT ^= BIT7;
        __delay_cycles(100000);
    }
}

这里就不对代码进行讲解了,如需要源代码,可以私信我。

(1)与 & :与 相当于“乘”,任何数乘以0,都等于0,
只有1与1才是1与是拉成0;a & 0x1f 就是把高三位拉成0,
别的位不变。与0 会拉成0 , 与1不变

(2)或 | :或 相当于“加”,任何数加上1,都等于1,
只有0或0才是0或是拉成1;a | 0x1f 就是把第五位
拉成1,别的位不变。或1会拉成1 , 或0不变

(3)取反~:所有的位都进行 非 运算

(4)左移 右移:移位填0


总结

以上就是今天要讲的内容,本文仅仅简单介绍了CCS的简单使用,以及如何点亮2盏LED灯函数和方法。

参考

[1].TI https://www.ti.com/tool/MSP-EXP430FR6989

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值