MSP430-GRACE 实战(一):LED流水灯

发布者:RadiantWhisper最新更新时间:2022-09-19 来源: csdn关键字:MSP430  GRACE  LED流水灯 手机看文章 扫描二维码
随时随地手机看文章

Grace 是 Graphical Code Engine 的缩写,是 TI 为了方便用户开发 MSP430 提供的图形化代码配置工具,但是目前只有部分 MSP430 的型号支持 Grace,如 G2 系列


本系列文章使用 Grace 配置 MSP430 外设,快速实现功能,帮助大家进一步了解 MSP430


文章侧重点是功能的使用,寄存器原理只有部分的阐述,适合有一定基础同学(不论是 STM32还是MSP430基础),深入的原理需要自行探索


一、开发平台

1.1 硬件平台

MSP430G2553 口袋实验平台:

20211222120039

1.2 软件平台

是 TI 公司推出的集成开发环境:CCS V5.5(Code Composer Studio)


仅 5 和 6 版本支持

20211222174735


二、原理分析

首先看一下 LED 灯的接口

20211222175340

驱动 LED 灯就是控制对应的 IO 口输出高低电平,对 MSP430 来说驱动 GPIO 一般有如下步骤:


配置系统时钟,使单片机能稳定运行


设置 GPIO 的方向寄存器为输出


通过位操作配置输出寄存器来控制 GPIO 的输出电平


其中第 1、2 两个步骤都可以通过 GRACE 软件来实现配置,下面讲解具体配置实现方法


三、GRACE 配置

3.1 新建工程(通用步骤)

点击新建 CCS 工程:

20211222180014

配置工程信息:


20211222180211

工程建立完成:


20211222180306

3.2 配置时钟(通用步骤)

点击 main.cfg 下面的 Device Overview,进去后 Device Overview 颜色会变淡:


20211222180408


我们看到设备界面有个 DVCC 的设置,默认显示 1.8V,这个根据实际单片机供电设置,我这里设置 3.3V,因为 Grace 要知道单片机的实际供电电压,因为在低电压情况下,某些外设不能使用,Grace 会自动屏蔽配置该外设的功能,之后点击 BCS+(Basic Clock System+) 模块配置时钟,点击后弹出 Overview 界面如下:

20211222194329

其中 introduction 是关于该模块的介绍,下面两个则是两个代码使用例子用作参考


在 Overview 旁边有 BasicUser、Power User、Regisiter三个配置项,区别如下:


Grace 的 Basic User 模式配置时钟,可以配置最基础的功能,界面简单,可以瞬间即可完成高速时钟和低速时钟配置:

20211222194730

Power User 是基于 MSP430 的时钟树,列出了关键的分频倍频等寄存器配置接口,方便我们详细开发:


20211222194930

这里配置我们可以根据 MSP430 的时钟树进行配置:


20211222195054

至于 Regisiter 模式则是以图像化的方式配置 BCS+ 的各个寄存器,适合对寄存器非常了解的人进行开发:

20211222195316

这里我们直接选择第一项进行时钟配置,高速时钟选 12M,低速的的话因为没有 32.768K 晶振,配置 12K 就行,配置后如下:


20211222195843


然后我们 Crtl + S 保存一下配置再编译一下,Grace 会自动根据配置,生成代码:


20211222200434


到这时钟配置完成


3.3 关闭看门狗

看门狗实际就是一个定时器,只不过在定时到达时,如果 CPU 没有去操作看门狗寄存器,看门狗就会复位单片机,这里我们没有使用到,但系统自动把它使能了,所以要把它关闭,否则会影响程序正常执行,点击看门狗配置项,取消选 Enable 就行,这里我们开启和关闭其他模块都是一样的操作,勾选 Enable 开启,不勾选则关闭:

20211222202728

3.4 配置 GPIO

我们从主设置页面进入 GPIO 设置:

20211222200926

可以看到Overview 也是关于 GPIO 的介绍,同时给出了使用例子,方便我们配置完成后能快速进行调用:

20211222200856

在配置项这有 32-QFN、20-TSSOP、28-TSSOP 这三个带引脚和封装的配置项,我们可以直接根据型号来配置,但功能比较局限,不能配置中断和具体 GPIO 参数信息,这里我们直接使用 PowerUser 来配置:


这里配置 P1.0、P1.6 为高速输出:

20211222201651

配置完成保存后编译代码,可以看到配置代码已经生成:

20211222201858

四、代码编写

4.1 代码编写位置

Grace 在生成的代码中给用户预留了代码编写位置,用户可以在 Grace 生成的初始化代码中自行添加代码,具体位置在如下的注释之间,这样二次生成代码不会覆盖用户代码:


    /* USER CODE START (section: GPIO_graceInit_prologue) */

    /* User initialization code */

    /* USER CODE END (section: GPIO_graceInit_prologue) */


4.2 流水灯代码

我们在 main 函数中直接编写一个死循环代码,循环点灯:


int main(void)

{

    Grace_init();                   // Activate Grace-generated configuration

    

    // >>>>> Fill-in user code here <<<<<

    

    while(1)

    {

    P1OUT |= BIT6;

    P1OUT &= ~BIT0;

    __delay_cycles(10000000);

    P1OUT |= BIT0;

    P1OUT &= ~BIT6;

    __delay_cycles(10000000);


    }

    return (0);

}


4.3 程序下载

代码编写完成后,构建代码,然后连接开发板调试仿真程序:

20211222204450

五、实验现象

流水灯,轮流点亮

test

关键字:MSP430  GRACE  LED流水灯 引用地址:MSP430-GRACE 实战(一):LED流水灯

上一篇:MSP430-GRACE 实战(三):定时器中断
下一篇:msp430中如何连续对位进行取反_MSP430系列通用串行通信模块的异步模式

推荐阅读最新更新时间:2024-11-16 22:38

MSP430的中断优先级、打开关闭、中断嵌套
优先级顺序从高到低为: PORT2_VECTOR (1 * 2u) PORT1_VECTOR (4 * 2u) TIMERA1_VECTOR (5 * 2u) TIMERA0_VECTOR (6 * 2u) ADC_VECTOR (7 * 2u) USART0TX_VECTOR (8 * 2u) USART0RX_VECTOR (9 * 2u) WDT_VECTOR (10 * 2u) COMPARATORA_VECTOR (11 * 2u) TIMERB1_VECTOR (12 * 2u) TIMERB0_VECTOR (13 * 2u) NMI_VECTOR (14 * 2u)
[单片机]
基于MSP430 的温湿度监控系统分析
  0 引言   随着社会经济的发展和科学技术的不断进步,许多情况下都需要对环境的温湿度进行限定。因此,为了随时可以检测环境温湿度以进行监测,减少由于温湿度对工程带来的经济损失,本文设计基于SHT11 对温湿度进行测量的系统,可以实现对环境温湿度的监测。   1 系统硬件设计   1.1 总体结构   温度监测系统以msp430 为核心,采用温湿度传感器SHT11测量温湿度,系统由温湿度数据采集模块、主控模块、显示模块、按键模块组成,由温湿度数据采集模块采集数据送入单片机,处理之后根据按键操作完成相应的温度和湿度显示,并且具有超限报警的功能,图1 为系统结构图。      1.2 硬件选型   1.2.1 主控模块
[单片机]
基于<font color='red'>MSP430</font> 的温湿度监控系统分析
MSP430 中断优先级
MSP430的中断优先级、打开关闭、中断嵌套 优先级顺序从高到低为: PORT2_VECTOR (1 * 2u) /* 0xFFE2 Port 2 */ PORT1_VECTOR (4 * 2u) /* 0xFFE8 Port 1 */ TIMERA1_VECTOR (5 * 2u) /* 0xFFEA Timer A CC1-2, TA */ TIMERA0_VECTOR (6 * 2u) /* 0xFFEC Timer A CC0 */ ADC_VECTOR (7 * 2u) /* 0xFFEE ADC */ USART0TX_VECTOR (8 * 2u) /* 0xFFF0 USART 0 Tran
[单片机]
基于MSP430单片机和CH376USB接口的信号采集存储系统
在现代控制系统中,经常需要在操作现场进行数据采集,以及对数据进行处理来实现现场控制,但是由于单片机数据存贮容量和数据处理能力都较低,因此本文主要介绍了使用USB总线通用接口芯片CH376和16位单片机MSP430对天线发射的信号进行数据采集处理,并且能够将这些大容量的数据以.txt文本格式实时的存储到U盘中,然后能在上位机上方便的打开查看和应用。这样就可以很容易的实现把单片机所采集的数据传送到PC机上,再在PC机上进行数据处理,充分发挥两者各自优势。 本文首先要设计出天线方向图的自动测试系统。通过这个天线参数自动化测量系统准确地发送和接收信号,从而进行数据的采集处理和存储等。早期的天线测试主要依靠手工,误差大、效率低。随着计算机
[单片机]
基于<font color='red'>MSP430</font>单片机和CH376USB接口的信号采集存储系统
MSP430单片机的4X4矩阵键盘C语言程序
#include msp430x24x.h #define uchar unsigned char #define uint unsigned int uchar table ={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; void delay(unsigned int i) //延时子程序 { while(i--); } uchar keyvalue() { uchar key; uchar np10,np11,np12,np13; P1DIR=0x0f; //第一排 P1OUT=~BIT3; delay(10); np10=P1IN&BIT4; if(np10==0
[单片机]
矩阵键盘控制forMSP430
/***************************************************************** //文件名 :Keypad.c //描述 :该文件定义与矩阵键盘有关的各种接口、函数,适用于MSP430F149 //编写人 :小邪@清水 //版本号 :1.01 *****************************************************************/ #include msp430x14x.h #include 12864.h uchar keyPressed;
[单片机]
msp430单片机实现常按键和短按键加去抖功能
通过P1口的中断开启定时器,然后利用定时器中断不断扫描相应的端口状态,判断按键的 //定时器设置 void TimerA1Init() { _UINT data = 0 ; TA1CTL = data ;//clear all ,diaable interrupt , claer ifg TA1CTL |= TASSEL__ACLK | ID_0 | TACLR ; // ACLK, stop mode, ,div:1 ,clear TAR //TA0CTL |= MC__UP ;//启动定时器 TA1CCTL0 = CCIE ; //ccr0 比较中断允许 TA1CCR0 = 327 ; //ccr0
[单片机]
基于MSP430F149单片机的车体调平装置设计
随着国防技术的发展,根据任务需求,越来越多的军用武器需要随时变更工作地点。为了保证这些军用武器的机动性能,往往以载车为运输载体,如火箭炮这样的大型武器就被安装在载车上。载车到达目的地后,借助平台快速将武器架设调至水平而后工作,工作完成后平台能够快速地撤收、转移。既保证了武器的工作性能,又提高了机动性。 传统上,主要依靠人工手动完成平台的水平度调节,这需要一部分人员手动调节千斤顶,另外一部分人员观察水平仪的水泡位置。这种调平方式费时费力,且精度低、抗倾覆能力差。随着调平时间和调平精度要求的提高,过去的调平方式已远远不能满足实际情况的需要,所需时间短、精度高、抗倾覆能力强的自动调平控制技术应运而生。 在军用方面,自动调平控制系统广泛应用
[单片机]
基于<font color='red'>MSP430</font>F149单片机的车体调平装置设计
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved