快速上手MSP430F5529开发板教程(基于CCS8环境下的自制库)

这篇具有很好参考价值的文章主要介绍了快速上手MSP430F5529开发板教程(基于CCS8环境下的自制库)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、前言

MSP430单片机的学习难度介于51与STM32之间,推荐使用寄存器开发,因为MSP430的寄存器操作真的比库函数操作要简易许多。在学习MSP430的时候,建议直接看中文手册(重点)和原理图学习。

二、准备工作

  • CCS8环境搭建
  • MSP430F5529开发板
  • 中文手册与原理图

关于下载及安装CCS大家可以参考这篇文章:CCSv9.3安装与搭建msp430F5529LP库函数环境
关于中文手册与原理图我已上传至网盘:https://pan.baidu.com/s/1IGjVHhveqcF5FDBrkbMl4g
密码:fbss
自制库是根据Black Helo这位博主的库修改而来,大家可以看他的这篇文章:备战TI系列 — 五分钟内玩转MSP430F5529开发板几大重要功能及常用模块(基于CCS8环境下自制函数库)

三、快速了解CCS8的使用

1、目录

msp430开发教程,MSP430F5529,单片机,嵌入式硬件,ccs


msp430开发教程,MSP430F5529,单片机,嵌入式硬件,ccs

2、Debug界面

msp430开发教程,MSP430F5529,单片机,嵌入式硬件,ccs

3、添加文件(设置文件路径)

与keil5一样,在工程中添加的.c文件,需要添加头文件路径
步骤如下图所示:

  • 右键文件目录下的工程,点击Properties。
    msp430开发教程,MSP430F5529,单片机,嵌入式硬件,ccs

  • 点击Include Options增加文件路径。(路径不要带中文
    msp430开发教程,MSP430F5529,单片机,嵌入式硬件,ccs

  • 点击File Search Path,增加文件路径。(路径不要带中文
    msp430开发教程,MSP430F5529,单片机,嵌入式硬件,ccs
    点击Apply and Close结束

四、基本操作

1、开发板图样

msp430开发教程,MSP430F5529,单片机,嵌入式硬件,ccs

2、打开工程

  • 点击File,打开我上传文件里的程序(将程序文件复制到桌面)。
    msp430开发教程,MSP430F5529,单片机,嵌入式硬件,ccs

msp430开发教程,MSP430F5529,单片机,嵌入式硬件,ccs


3、程序烧入

  • 添加文件路径
    msp430开发教程,MSP430F5529,单片机,嵌入式硬件,ccs

msp430开发教程,MSP430F5529,单片机,嵌入式硬件,ccs

msp430开发教程,MSP430F5529,单片机,嵌入式硬件,ccs


  • 双击左边目录的main.c,打开main.c。
    msp430开发教程,MSP430F5529,单片机,嵌入式硬件,ccs

  • 点击编译
    msp430开发教程,MSP430F5529,单片机,嵌入式硬件,ccs
    没有错误,没有警告。
    用USB线连接电脑与开发板,烧入程序。

五、基本使用

1、LED闪烁

  • LED原理图
    msp430开发教程,MSP430F5529,单片机,嵌入式硬件,ccs

  • Define.h配置
    msp430开发教程,MSP430F5529,单片机,嵌入式硬件,ccs

  • 操作程序
#include "All.h"


void main(void)
{
     Init();
    LED0_STATE(0);//操作led0 灭
    LED1_STATE(0);//操作led1 灭
        while(1)
        {
            LED0_STATE(2);//操作led0 状态翻转
            LED1_STATE(2);//操作led1 状态翻转
            delay(500);   //延时
        }
}

  • 实验效果
    msp430开发教程,MSP430F5529,单片机,嵌入式硬件,ccs

2、串口操作

开发板上的USB接口是串口1,串口0在开发板的引脚上。

  • Define.h配置
    msp430开发教程,MSP430F5529,单片机,嵌入式硬件,ccs

  • 串口中断函数
#if USART1_switch
#pragma vector = USCI_A1_VECTOR
__interrupt void USCI_A1_ISR()
{
    switch(_even_in_range(UCA1IV,4))
    {
        case 0:break;                             // Vector 0 - No interrupt
        case 2:                                   // Vector 2 - RXIFG
        UCA1TXBUF = UCA1RXBUF;                // 发送接收到的数据
        break;
        case 4:break;                             // Vector 4 - TXIFG
        default: break;
    }
}
#endif

在USART.c文件里,打开串口时默认打开。文章来源地址https://www.toymoban.com/news/detail-572936.html


  • 操作程序
#include "All.h"


void main(void)
{
     Init();
        while(1)
        {
            send1_buf("发送成功\r\n");
            delay(500);   //延时
        }
}

  • 实验效果
    msp430开发教程,MSP430F5529,单片机,嵌入式硬件,ccs

  • 删除send1_buf,打开总中断,再次烧入程序,验证串口中断。
#include "All.h"


void main(void)
{
     Init();
     _EINT();
        while(1)
        {
            delay(500);   //延时
        }
}

  • 实验效果
    msp430开发教程,MSP430F5529,单片机,嵌入式硬件,ccs

3、按键中断

  • 按键原理图
    msp430开发教程,MSP430F5529,单片机,嵌入式硬件,ccs

  • Define.h配置
    msp430开发教程,MSP430F5529,单片机,嵌入式硬件,ccs

  • 使用按键控制LED0亮灭,程序为:
#include "All.h"


void main(void)
{
     Init();
     LED0_STATE(0);
     LED0_STATE(0);
     IN_Config(1,1);   //打开按键1的中断
     IN_Config(2,1);   //打开按键2的中断
        while(1)
        {

        }
}

//中断函数
#pragma vector = PORT1_VECTOR
__interrupt void P1_ISR()
{
    if(P1IFG & BIT1)
    {
        while((P1IN & BIT1)==0);
        LED0_STATE(1);
    }
    P1IFG &=~ BIT1;
}
#pragma vector = PORT2_VECTOR
__interrupt void P2_ISR()
{
    if(P2IFG & BIT1)
    {
        while((P2IN & BIT1)==0);
        LED0_STATE(0);
    }
    P2IFG &=~ BIT1;
}

  • 实验效果
    msp430开发教程,MSP430F5529,单片机,嵌入式硬件,ccs

4、定时器中断

  • Define.h配置
    msp430开发教程,MSP430F5529,单片机,嵌入式硬件,ccs

  • 定时器中断程序(打开定时器是默认打开),这里让其控制LED灯闪烁。
#if TIME_A1
/*定时器1的中断函数回调*/
#pragma vector=TIMER1_A0_VECTOR
__interrupt void TIMER1_A0_ISR(void)
{
    LED0_STATE(2);
    LED1_STATE(2);
    send1_buf("定时器打开\r\n");
}
#endif
  • 主函数
void main(void)
{
     Init();
        while(1)
        {

        }
}

  • 实验效果
    msp430开发教程,MSP430F5529,单片机,嵌入式硬件,ccs
    msp430开发教程,MSP430F5529,单片机,嵌入式硬件,ccs

5、PWM输出

  • Defien.h配置
    msp430开发教程,MSP430F5529,单片机,嵌入式硬件,ccs
  • 主函数
#include "All.h"


void main(void)
{
     Init();
     PWM0_State(50);
        while(1)
        {

        }
}

  • 实验效果
    msp430开发教程,MSP430F5529,单片机,嵌入式硬件,ccs

6、IIC驱动OLED 0.96

  • Defien.h配置
    msp430开发教程,MSP430F5529,单片机,嵌入式硬件,ccs
  • 主函数
#include "All.h"


void main(void)
{
     Init();
     OLED_Clear();//OLED清屏
        while(1)
        {
            OLED_ShowString(60,1,"Hello",8); //按照x,y坐标来显示字符串,最后一位是字体大小
        }
}

  • 实验效果
    msp430开发教程,MSP430F5529,单片机,嵌入式硬件,ccs
    到这里就结束啦
    msp430开发教程,MSP430F5529,单片机,嵌入式硬件,ccs

到了这里,关于快速上手MSP430F5529开发板教程(基于CCS8环境下的自制库)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MSP430F5529库函数学习——串口

    波特率计算网站;导入MSP430Ware,查看例程;原理图和中文开发手册获取 目录 GPIO_setAsPeripheralModuleFunctionInputPin()和GPIO_setAsPeripheralModuleFunctionOutputPin 函数声明  作用 参数 selectedPort selectedPins 使用 USCI_A_UART_init() 函数声明  作用 参数 baseAddress param  USCI_A_UART_enable() 函数

    2024年02月16日
    浏览(68)
  • msp430f5529学习笔记(2)时钟系统

    写在前~本章将会详细的讲解msp430f5529单片机的时钟系统及其使用方法。如有不妥的地方欢迎各位大佬斧正!!! 目录 什么是时钟系统和时钟源 MSP430f5529时钟源和时钟系统介绍 产生时钟信号的时钟源: 时钟配置        在单片机中,单片机每开始一个周期的工作就需要一个节

    2024年02月17日
    浏览(46)
  • MSP430F5529库函数GPIO学习

    导入MSP430Ware,查看例程;数据手册以及原理图获取 建议不是很了解寄存器的看完我的MSP430F5529学习笔记  目录 GPIO_setAsOutputPin() 函数声明 作用 参数 selectedPort selectedPins 修改的寄存器 使用 与GPIO_setAsOutputPin()参数一致的函数  GPIO_setOutputHighOnPin() GPIO_setOutputLowOnPin()

    2024年02月15日
    浏览(67)
  • MSP430F5529学习笔记(6)——导入MSP430Ware,查看例程

    MSP430WARE下载; 目录 在线版本 下载MSP430Ware 查看例程 导入例程  离线版本 下载MSP430Ware  查看例程 导入例程 MSP430Ware里面有很多例程和库函数使用手册,我们可以查看学习。非常重要 (1) 打开CCS——view——Resource Explorer  之后我们会进入如下界面 (2)  点击MSP430——Embe

    2024年02月13日
    浏览(55)
  • 06:PWM与电机驱动【MSP430F5529】

    电机型号: 工作方式: 原理图以及接线: 根据官方例程,主要代码为drive.c drive.h main.c (后面好像使用的时候会有什么冲突导致1或者2通道无法正常运行,不太记得了,可以到实物上实验一下子) 下面是智能送药小车使用PWM驱动电机相关代码与注释(在实物中,均能正常运行)

    2024年02月15日
    浏览(49)
  • MSP430F5529学习笔记(五)——串口|UART

            我们在使用MSP430的时候大家会发现插上usb线后电脑上有两个端口标识,那么在进行串口通信时选择哪个呢。其实如图所示,上面的端口是用来进行串口通信的,下面的则是用来进行程序的下载,大家在使用的时候多加分辨即可。          当然熟悉单片机操作的

    2024年02月16日
    浏览(47)
  • 【2023电赛备赛】msp430f5529学习笔记(一)

    【写在前】 本人目前是大二在读生,第一次参加电赛,准备不充分,结果熬了四天,最后成绩却不如人意。有51和32的基础,然后想立一个flag系统的学习一下主打超低功耗的msp430f5529单片机为比赛做准备(毕竟电赛限制TI的板子)。另一方面也是给电协的后继者留下一些参考的

    2024年02月11日
    浏览(47)
  • MSP430F5529单片机入门学习笔记1

    本笔记整理自B站教程 MSP430F5529单片机学习视频汇总 右边部分写错了,看的时候注意 注意#include“driverlib.h”头文件时要注意: 添加MSP430F5xx_6xx文件夹到当前工程下 MSP430F5xx_6xx文件夹是在导入的msp430ware_3_80_13_03包中找 把上述MSP430F5xx_6xx文件夹的路径包含进来 有三个系统时钟可

    2024年02月06日
    浏览(47)
  • MSP430F5529循迹小车 2022电赛 C题

    编辑时间2022/8/21 选用材料:主控MSP430F5529、直流减速电机(带光电编码器)、TB6612电机驱动、超声波测距、灰度传感器、无线透传、OLED屏显示。 使用灰度传感器巡线,超声波检测前后车距作为位置环反馈,通过位置环调节前后车距离。 :MSP430   循迹    无线串口透

    2024年02月16日
    浏览(46)
  • MSP430F5529库函数定时器A——捕获实验

    需提前学习:MSP430F5529库函数学习——串口;MSP430F5529库函数定时器A——硬件PWM 目录 引脚手册获取 实验目的 代码 代码解析 串口数据发送部分 数据捕获部分 定时器部分可选参数 设置定时器部分 捕获部分可选参数 设置捕获引脚部分 中断处理 TA2IV_TACCR2解析 TA2IV_TAIFG解析 主函

    2024年02月13日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包