MSP430常用程序架构

发布者:HeavenlyJoy444最新更新时间:2015-09-17 来源: eefocus关键字:MSP430  程序架构 手机看文章 扫描二维码
随时随地手机看文章
一、低功耗+中断

主函数

{

关闭看门狗

设置系统时钟

显示等外围设备初始化

定时器等内部资源初始化设置

开全局中断

进入低功耗

}

中断函数1

{};

中断函数2

{}

文件组织形式

main.c

/***************************头文件引用*******************************/

#include "msp430f149.h"

设备文件1头文件(例如#include "ILI9325_Driver.h")

设备文件2头文件(例如#include "Disp_Lib.h")

/*********************宏定义与数据定义*************************************/

#define YEAR   TimeBuff[0]

unsigned char  TimeBuff[7]={11,6,27,8,35,0,7};

/*************************************************************

函数名称:Sys_Init

功    能:设置系统时钟,内部资源和外设初始化。(例如完成TFT初始化

显示,定时器A初始化)

参    数:无

返 回 值:无

*************************************************************/

int main(void)

{ 

  Sys_Init();

  _EINT();                        //使能全局中断

  LPM3;//进入睡眠模式,等待被唤醒

}

#pragma vector = TIMERA0_VECTOR       //CCR0中断服务

__interrupt void ta0_isr(void)

{};

 

设备文件1(例如ILI9325_Drive.c)

/*********************头文件引用************************************/

#include "msp430f149.h"

#include "ILI9325_Driver.h"

#include "Disp_Lib.h"

/*********************定义接口信息************************************/

#define ILI9325_CTRL_DIR               P4DIR

#define ILI9325_CTRL_SEL               P4SEL

函数1()

{};

函数2()

{};

 

设备文件1头文件(例如ILI9325_Drive.h)

#ifndef _ILI9325_DRIVER_H_防止重复调用

#define _ILI9325_DRIVER_H_

/*********************宏定义************************************/

#define CYAN           0x7FFF//青色

#define YELLOW         0xFFE0

#define TEST           0xFF55

/*********************函数申明************************************/

extern void LCD_DispOnePixel(unsigned int xAddr,unsigned int yAddr,unsigned long color);

extern void LCD_ClearScreen(unsigned long bColor);

#endif

 

二、循环+低功耗+中断中唤醒

 
主函数

{

关闭看门狗

设置系统时钟

显示等外围设备初始化

定时器等内部资源初始化设置

开全局中断

While(1)

{

       进入低功耗

       函数;

 }

}

中断函数1

{

       中断服务函数;

       退出低功耗模式;

};
 

 

三、菜单按键交互模式

 
while(1)

{

扫描按键;

键值处理函数;

}

键值处理函数

{

    swich(键值)

case ……

显示刷新

}

关键字:MSP430  程序架构 引用地址:MSP430常用程序架构

上一篇:MSP430F149的IO口
下一篇:MSP430的内部函数

推荐阅读最新更新时间:2024-03-16 14:32

MSP430单片机常见加密总结
1、为什么要加密,如何加密? 当您的产品推向市场的时候,您的竞争对手就开始盯上它了,如果您的产品硬件很容易被模仿,而且您使用的MSP430单片机没有被加密的话,那么您辛辛苦苦的劳动成功就很容易成为您竞争对手的产品了,使用JTAG调试工具FET虽然可以将程序下载到芯片内部,但只有使用专业编程器能够防止程序被 窃取。 2、JTAG、BSL、BOOTLOADER、熔丝的区别和关系是什么? JTAG接口能够访问MSP430单片机内部所有资源,通过JTAG可以对芯片进行程序下载、代码调试、内存修改等等,通过JTAG还能烧断加密熔丝,熔丝一旦被烧断,JTAG接口绝大部分功能失效,就再也不能通过它进行编程了。 BSL接口是利用芯
[单片机]
TinyOS在MSP430F2618上移植(二)之USCI
第一篇文章《TinyOS在MSP430F2618上移植(一)》早在5月份就已写好,间隔了2个月才有时间写这篇文章,期间一直忙于SPI、UART接口的测试以及FLASH、LCD的移植。本文主要叙述MSP430F2618单片机USCI的移植。 对比MSP430F1611与MAP430F2618,可以看出两者最大的不同点在于后者提供了更丰富的外围接口,分为A,B两组,其中A组的功能有UART、IrDA ,B组提供SPI、I2C功能,另外A组也可以配合B组中提供的SCK作为SPI接口。在A,B组中又分为两个独立组,A0/1,B0/1。 2618中特殊功能寄存器也做了改动,去除了模块使能寄存器1、2(module enable re
[单片机]
MSP430单片机低功耗控制与系统工作模式详解
CPU内状态寄存器SR中的SCG1、SCG2、OscOff和CPUOff位是 重要的低功耗控制位。只要任意中断被响应,上述控制位就被压入堆栈保存,中断处理之后,又可以恢复先前的工作方式。在中断处理子程序执行期间,通过间接访 问堆栈数据,可以操作这些位;这样允许程序在中断返回(RETI)后,以另一种功耗方式继续运行。各控制位作用如下: SCG1:当SCG1复位时,使能SMCLK;SCG1置位则禁止SMCLK。 SCG0:当SCG0复位时,直流发生器被激活,只有SCG0被置位且DCOCLK信号没有用于MCLK或SMCLK,直流发生器才能被禁止。 OscOff:当OscOff复位时,LFXT晶体振荡器激活,只有当OscOff
[单片机]
基于MSP430的低功耗便携式心电仪的设计
  心电图是心脏疾病诊断的重要工具之一,目前在医院临床中有广泛的应用,给医生诊断病症带来很大的帮助。传统的心电仪虽能有效地监测心电、降低心脏病患者的死亡率 ,但不能对患者进行长时间的实时监护,而且存在体积大、功耗高、携带不便等缺点。鉴于此,本文设计了一种结构简单、性能稳定、可靠的便携式心电仪,能够在家庭、野外等一些场所对心电进行实时监测,具有广泛的应用前景。   1 系统硬件结构及原理   低功耗便携式心电仪由MSP430F169、心电信号采集调理电路、液晶显示模块、数据存储模块、按键输入模块等组成,如图1所示。   通过以标准导联方式I和人体相连的电极取得的心电信号,因为环境中存在各种干扰(人体自身的肌电干扰,外部的工
[单片机]
基于<font color='red'>MSP430</font>的低功耗便携式心电仪的设计
学习MSP430F5438初体验
我选择的是IAR+usb仿真器方案,这里有很多问题需要注意: 一,安装软件 1, 建议大家到官网上下载最新版的软件,下载过程中会在IAR官网上注册,注册后就会获得一个密钥,不需要在网上下载什么破解软件。 2, 安装的时候要选自定义,在自定义里面把所有的选项都选上,我安装了几次,事实证明,没有全部安装下载程序的时候,下载不进去的可能性很大。 二,使用软件, 1. 建立工程没有什么难度,一般只要有过类似经验的人都能完成,在工程的Option里面都是默认,可以不做任何修改。 2. 在工程中写入一下代码: #include msp430f5438.h int main(void ) { // Stop watch
[单片机]
基于MSP430单片机的CPU卡模板程序(四)
;******************************************************************** 1.;接收一个字符,C=0接收正确,C=1接收出错,容错次数为3 ;******************************************************************** recchar://接收字符 MOV.B#3,ERRCNT RECCHAR1: clr.bicflag1 MOV.B#8,CNTREG CLR.BTRDATA MOV.W#40000,DELAYCNT RECC_WAIT: BIT.B#ICSAM//判断对
[单片机]
MSP430设计极低功耗数字温度计
  概述   很多地方都需要测量温度。在设计温度遥测系统时,通常需要采用电池供电的极低功耗模块。传统的测温手段比较多,但不论是采用分立晶体管、热敏电阻,或者是热电偶,功耗都降不下来。本文介绍了一种满足低功耗要求的可行方案,该方案使用一枚极低功耗的、带Flash存储器的MCU,以及数字温度传感器、液晶模块(LCD)和一个32kHz的钟表用振荡器。该方案的突出特点是节能耐用,仅需一枚纽扣电池,就可以连续工作10年以上。 工作原理   MCU扩展系统的电源是一枚CR-2032型纽扣式锂电池,这种电池的容量为220mAh。要让系统达到连续工作10年(87600小时)的要求,允许的最大负载电流可以用以下方法计算出来: 220mAh
[单片机]
基于MSP430的血糖仪设计
引言 当前市场上血糖仪种类繁多,外形结构千奇百态,而价格和精度却大相径庭;且价格和精度难以兼得。原因在于没有找到一款合适的微处理器。另外,出于屏幕尺寸的限制,界面普遍采用英文字符显示,这给中国病人上带来一定的困惑。 随着电子技术的发展,微处理器功能日益增强,价格日趋降低。有必要选出一款功能强大而价格便宜的微处理器来重新设计血糖仪。本系统选用的MSP430系列微处理器使上述设想成为可能。 原理 血糖仪是根据电生物化学原理——施加一定电压于经酶反应后的血液产生的电流会随着血液中的血糖浓度的增加而增加——设计的。通过精确测量出这些微弱电流,并根据电流值和血糖浓度的关系,反算出相应的浓度。所以,确定这个关系是问题的核心。但
[单片机]
基于<font color='red'>MSP430</font>的血糖仪设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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