0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何利用代码编写器编写MSP430程序实现LED闪烁

科技观察员 来源:circuitdigest 作者:里沙布·耆那教 2022-11-14 16:13 次阅读

在本教程中,我们将了解代码编辑器工作室以及如何使用它来编程 MSP430。本教程是为初学者编写的,除了 MSP430 板和计算机外,不需要任何硬件。在本教程结束时,我们将能够闪烁MSP430的板载LED

MSP-EXP430G2 开发板:

华丽的红色板是MSP-EXP430G2开发板。该板可以对属于 MSP430 系列的 TI 微控制器进行编程。该板的主要目的是将代码从计算机上传到MCU,并从MCU读取串行数据以进行调试。它还为MCU的每个引脚提供引脚布局,以及两个LED和一个按钮,使开发变得容易。自推出以来,该板已经发展了很多,下面显示的是MSP_EXP430G2 Rev1.5。

poYBAGNx-KWAG_z0AACNlKS-xww381.jpg

MSP430G2553 具有比其他系列更好的规格,它还具有一个 UART 模块,在使用代码编辑器工作室进行调试时非常方便。因此,在本系列教程中,我们将使用 MSP430G2553 来探索该开发套件的所有功能。

为开发板供电和测试:

在我们开始之前,TI 已经在您的 MSP430G2553 微控制器上上传了一个示例程序,因此让我们为电路板供电并检查它是否正常工作。您可以通过迷你 USB 插孔为电路板供电,完成后,您应该注意到主板左下角的 LED(红色和绿色)交替发光。然后,您可以按下连接到P1.3的按钮,检查内部温度传感器是否正常工作。是的,MSP2553 有一个内部温度传感器,按下按钮后只需揉搓手指将其预热并将其放在 IC 上,您就可以注意到红色 LED 亮起以指示温度升高。凉!!右??好了,现在让我们继续讨论软件环境。

适用于 MSP430 LaunchPad 的编程软件 (IDE):

德州仪器允许我们通过各种环境对他们的微控制器进行编程。官方的是一个代码编辑器工作室,通常被称为CCS。该软件是免费提供的。此外,它需要一些最低水平的微控制器经验。不用担心,我们将涵盖熟悉CCS的每一步。

还有一个IDE可用于编写我们的程序,即Energia IDE。那么,CCS和Energia IDE有什么区别呢?我们已经在之前的教程中介绍了Energia IDE。

Energia IDE vs. Code Composer Studio:

Energia是一个开源和免费的环境,使我们能够轻松地对TI微控制器进行编程。Energia的主要目的是使TI MCU的编程像在Arduino中编程一样简单。因此,Energia相当于支持德州仪器微控制器的Arduino。使用过Arduino的人一旦下载并启动Energia IDE,就会更加同意这一点。

Code Composer Studio (CCS)是一个更通用的专业 IDE,在访问微控制器的内部架构方面具有更多的功能和能力。它具有内置的调试功能,可以检查代码中的错误,您可以逐行运行代码,这有助于查找错误而不会令人头疼。适应CCS需要一些时间。一旦你设置了这个很棒的软件,相信我,你会对特定的微控制器有所了解。您必须借助微控制器的数据表来编写程序。

如果您完成了Arduino iDE或Energia IDE,请将编码环境更改为CCS,这是工业中最苛刻的软件。

下载并启动代码编辑器工作室:

该软件可在德州仪器的网站上免费获得。因此,您可以从给定的链接下载它 下载链接 .我们将使用Code Composer Studio V7,但您也可以下载最新版本,过程保持不变。

poYBAGNx-KaAa6LFAADw9RqZc64904.jpg

您可以使用 Web 安装程序下载整个软件,也可以下载安装程序/离线安装程序。该软件在1GB左右非常重,因此您需要等到下载完成。

下载软件后,打开并安装。

当您单击安装程序时,就像任何其他软件一样,系统会要求您同意条款和条件并选择安装文件夹。之后,您必须选择要为其下载文件的板。在我们的例子中,我们使用的是MSP430 MCU,请单击第一个选项。您可以下载多个电路板文件。

pYYBAGNx-KmAMQRrAADghozfb3c095.jpg

下一个窗口是选择调试探针。默认情况下,有一个选项可用,因此,单击它并完成。现在,您的安装将开始,所以只需等待它完成。

安装后,它会询问工作区文件夹,因此选择要保存文件的文件夹,然后单击确定。

poYBAGNx-KuAYjFoAABby1oZqgY955.png

因此,让我们看一下我们将看到的第一个窗口。

pYYBAGNx-K2AIFj-AADpmlgJeVs834.jpg

这是一个简单的界面,您可以在其中看到入门菜单,您可以在其中开始制作项目,在入门旁边有一个资源浏览器。这是该软件的一项很棒的功能,您可以在其中找到 TI 产品的每个细节,例如数据表、文档等。无需在互联网上查找数据表,只需单击资源浏览器并单击要探索的设备,然后您就可以看到有关产品的所有详细信息

poYBAGNx-K-ALAVjAACWsEJcgb4425.jpg

在代码编辑器工作室中创建第一个项目:闪烁 LED:

在CCS中创建项目:

第 1 步:-单击“文件 ->新建 -> CCS 项目”。如下图所示

pYYBAGNx-LGAaKaoAADEMJhc0tw096.jpg

Step 2:-Next, you have to choose MSP board that you are using. I am using MSP430G2553 so, I will choose this as shown.

pYYBAGNx-LOAHFfbAADXnQAwxRk268.jpg

为您的项目命名,然后单击完成。

单击完成后,将打开一个新窗口,其中已经写入了一些行代码。

poYBAGNx-LaAbE7tAACyr28RVlo739.png

在 CCS 中编写代码:

让我们看看已经给出的代码的结构。第一行是我们的头文件,它取决于我们在创建项目时选择的变体。正如我所说,我使用的是 MSP430G2553,所以我将头文件重命名为

#include

下一行是主要功能。在主函数中,您将看到看门狗定时器的初始化。MSP430和其他基于TI的微控制器具有特殊类型的定时器,称为看门狗定时器。该定时器的工作是在微控制器开始挂起或停止发出响应时重置微控制器。在我们的代码中,我们不会使用看门狗计时器,因为它高于初学者的观点。当我们打开微控制器时,看门狗定时器默认打开,因此我们必须通过编写此行来关闭此计时器

WDTCTL = WDTPW | WDTHOLD;

现在,我们必须编写代码来闪烁连接到P1.0的板载LED。另一个指示灯连接到P1.6。我们将仅使用第一个 LED。在了解闪烁程序后,您也可以编写用于切换这两个 LED 的代码。

首先,我们必须声明这些 PIN,因为我们将它们用作 INPUT 或 OUTPUT。

有许多类型的寄存器,即用于控制端口的内存块。因此,对于将端口定义为输入或输出,PXDIR(X是端口号)。(数据方向寄存器)寄存器使用。如果 PXDIR 为 1,则充当输出,0 表示输入。我们的 LED 位于端口号 1,因此我们将写为P1DIR 。

我们需要配置 PIN 0,因为我们的 LED 连接到此 PIN 并且它是输出的。每个端口有 8 位,我们希望 Bit0 作为 HIGH 以使其输出。因此,我们将 P1DIR 分配为

P1DIR = 0b00000001;

it is in binary , we can also write it in Hexadecimal i.e.

P1DIR = 0x01;

接下来,我们必须将特定端口的特定引脚设置为高或低。为此,我们必须使用P1OUT寄存器,1 表示高电平,0 表示低电平。最初,我通过将 BIT0 设置为 1 个保持零来使 LED 亮起。

P1OUT=0b00000001

;

P1OUT = 0x01; //

in hexadecimal

由于MSP430中没有内置的延迟功能,因此我们必须使用for循环来提供延迟。

因此,在下一步中,我们必须声明一个变量'i'用于延迟目的,它可以写为

Unsigned int i;

首先,我们将使 PIN0 为高电平,并使用 FOR 循环给出一些延迟,然后使引脚为低电平。这样,我们得到了闪烁效果。我们像这样编写程序:

P1OUT=0X01; //make bit0 HIGH

for

(i=0;i<20000;i++){   //    delay till you make LED HIGH    }        P1OUT=0X00;   //make bit0 LOW        

for

(i=0;i<20000;i++){   // delay till you make LED LOW               }

您也可以以其他方式编写此代码。可以使用按位运算符来减少代码行数。有 OR、AND 和 XOR 位运算符可用。您可以使用异或运算符 (^)。当两个位都相等时,XOR 运算给出 1,例如 1 和 1、0 和 0。我们这样写

P1OUT ^= 0x01;

这意味着P1OUT = P1OUT xor 0b00000001;

因此,最初我们将 P1OUT 初始化为 0b00000001,如果我们使用 0b00000001 进行异或运算,输出将为 0b00000000 表示我们的 LED 将熄灭。在此之后,我们出于延迟目的放置了 for 循环。

while

(1) { P1OUT ^=0X01; //toggle the bits

for

(i=0;i<20000;i++){   // delay till you make LED LOW HIGH      }    }

将代码上传到 MSP430:

CCS的完整程序在页面末尾给出。因此,我们的代码已准备好在 MSP430 中刻录。因此,请使用USB电缆将MSP与笔记本电脑连接。

现在,我们必须编译/构建我们的代码,为此单击项目 -> 全部构建。在窗口底部的控制台框中检查编译报告。它将显示“构建完成”。

是时候上传程序了。单击“运行”->“调试”。单击调试后,您将获得一个与省电相关的窗口,只需单击继续即可。在调试选项中,转到“运行>恢复”。如果选项已清空,则无需担心,请转到“查看>调试”,然后再次转到“运行>恢复”。

调试代码后,程序将立即上传到 MSP 中。一种快捷方法是简单地单击屏幕上的播放/暂停按钮。调试屏幕如下所示,如下所示

poYBAGNx-LyAXDSwAAEEA-jKr5U358.jpg

如果 LED 不闪烁,则重置主板或再次连接 USB。

这就是如何在代码编写器工作室中编写一个简单的程序来使用 MSP430 闪烁 LED。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • led
    led
    +关注

    关注

    237

    文章

    22350

    浏览量

    645538
  • msp430
    +关注

    关注

    178

    文章

    2223

    浏览量

    228446
  • 编辑器
    +关注

    关注

    1

    文章

    785

    浏览量

    30042
收藏 人收藏

    评论

    相关推荐

    TI工程师编写MSP430单片机IAR代码示例(超过千种的代码)

    本帖最后由 knowyourself 于 2012-8-6 14:03 编辑 TI工程师编写MSP430单片机IAR代码示例(超过千种的代码),各种型号的芯片的示例
    发表于 08-04 13:22

    msp430g2553程序msp430初学及省赛必备)

    省赛自学msp430时写了一些代码,都是调试通过,以下程序比较基础简单,希望能为msp430初学者及下届电赛提供一些帮助。基于launchpad m
    发表于 10-08 20:05

    MSP430单片机实现远程升级

    MSP430单片机实现远程升级的办法,可以参考附件的PDF。 前言 有什么方法对MSP430 flash存储更新而不用 JTAG和BSL 现在这个问题已经得到解决:一段检测监控
    发表于 07-03 04:13

    MSP430单片机实现远程升级

    MSP430单片机实现远程升级的办法,可以参考附件的PDF。 前言 有什么方法对MSP430 flash存储更新而不用 JTAG和BSL 现在这个问题已经得到解决:一段检测监控
    发表于 07-09 08:23

    如何利用MSP430实现Blackfin DSP的程序引导?

    如何利用MSP430实现Blackfin DSP的程序引导?
    发表于 04-27 06:16

    如何利用MSP430输出PWM控制小车呢

    一、总体思路使用openMV寻找最大色块,使用pid对色块的xy轴坐标运算,然后利用串口输出到MSP430,最终MSP430输出PWM控制小车动作,实现追小球二、openMV
    发表于 01-05 08:31

    基于MSP430的指纹保险柜的实现

    在介绍基于MSP430单片机的指纹保险柜工作原理的基础上,从系统软件设计的角度出发,详细介绍了指纹保险柜软件的总体分析过程、程序结构的设计以及代码编写,给出了按键管
    发表于 12-08 15:59 67次下载

    用C语言编写程序实现通过按键使LED灯周期闪烁

    用C语言编写程序实现通过按键使LED灯周期闪烁
    发表于 03-30 16:54 10次下载

    msp430延时程序设计

    msp430延时程序设计msp430延时程序设计msp430延时程序设计
    发表于 04-29 14:40 0次下载

    MSP430单片机的定时器

    实现MSP430单片机的定时器中断,并在中断中使LED闪烁
    发表于 03-15 16:10 5次下载

    MSP430代码编写器Studio V5.2

    本手册描述了使用MSP430超低功耗微控制器的德克萨斯仪器代码编写器Studio Studio V5.2(CCS V5.2)。
    发表于 04-28 14:41 4次下载
    <b class='flag-5'>MSP430</b><b class='flag-5'>代码</b><b class='flag-5'>编写</b>器Studio V5.2

    基于MSP430的SPI驱动编写之用MSP430驱动AFE4400

    平常工作中,如果使用 MSP430 作为主控芯片,经常会遇到需要编写SPI 或 I2C 驱动,来读取和控制外设(比如LCD屏幕,一些传感器)的情况。为了减少重复性工作,本文以具体实例来总结 SPI驱动 编写的详细步骤(用
    发表于 05-14 02:35 5008次阅读
    基于<b class='flag-5'>MSP430</b>的SPI驱动<b class='flag-5'>编写</b>之用<b class='flag-5'>MSP430</b>驱动AFE4400

    基于MSP430系列单片机的常用程序编写总结

    前一段时间一直在用TI公司的MSP430系列的单片机,总结了点430常用的程序框架。
    发表于 10-01 09:00 3832次阅读
    基于<b class='flag-5'>MSP430</b>系列单片机的常用<b class='flag-5'>程序</b><b class='flag-5'>编写</b>总结

    新手学习msp430之自动贩卖机闪烁LED

    新手学习msp430之自动贩卖机闪烁LED昨天去贩卖机买饮料,看到贩卖机的灯光很好看,仔细看了一会,忽然想到能不能用学了一个月的msp430F5529做一个呢,以作为这一个月学习的总结
    发表于 12-03 15:36 2次下载
    新手学习<b class='flag-5'>msp430</b>之自动贩卖机<b class='flag-5'>闪烁</b><b class='flag-5'>LED</b>

    编写一个闪烁LED代码

    电子发烧友网站提供《编写一个闪烁LED代码.zip》资料免费下载
    发表于 10-24 10:55 1次下载
    <b class='flag-5'>编写</b>一个<b class='flag-5'>闪烁</b><b class='flag-5'>LED</b>灯<b class='flag-5'>代码</b>