MSP430单片机的CPU属于RISC(精简指令集)处理器,RISC处理器基本上是为高级语言所设计的,因为精简指令系统很大程度上降低了编译器的设计难度,有利于产生高效紧凑的代码。初学者完全可以在不深入了解汇编指令系统的情况下,直接开始C语言的学习。本章介绍MSP430单片机软件工程的开发基础,主要讲解MSP430单片机C语言编程基础、MSP430单片机的软件编程方法及软件集成开发环境的基本操作。通过本章的讲解,旨在使读者对MSP430单片机的编程思想有一定的了解。
C语言基础
变量定义
单片机的RAM较小,运算速度有限,在编程时应注意通过合理的编码提高单片机的利用效率。对于小于256的正整数,定义为uint8_t,变量名可取ui8Count;如果有负数存在,可定义为int16 i16Flag。
变量名应有前缀,全局变量以"g_"开头,指针以“p"开头,结构体以”s"开头。
函数声明
调用函数之前首先要在所有函数外声明函数原型。
如果一个函数只能被本文件内的其他函数所调用,称为内部函数。在定义内部函数时,在函数名和函数类型的前面加static。
在声明函数时,如果在函数首部的最左端冠以关键字extern,则表示此函数是外部函数,可供其他文件调用。
程序编译
源文件分别编译,再将目标文件连接成可执行文件
$>gcc -c main.c
$>gcc -c function.c
$>gcc -o sum main.o function.o
当多人协作时,需要各自负责一部分工程,可以只是负责通信或着显示这块。这个时候,应该将自已写的这一块程序写成一个模块,单独调试,留出接口给其他模块调用,当小组成员都将自己写的模块写完并调试通过后,最后由项目组组长进行联调,这就要求程序必须模块化。
模块化程序设计需理解以下概念:
(1)模块是一个.c 文件和一个.h文件的结合,头文件(.h)中是对于该模块接口的声明;
(2)某模块提供给其他模块调用的外部函数及变量需在.h文件中冠以extern关键字声明;
(3)模块内的函数和全局变量需在.c文件开头冠以static关键字声明;
(4)永远不要在.h文件中定义变量。
(5)在.h文件中使用#ifndef条件编译,防止重复声明。
软件编程方法
最简单、最常用的MSP430单片机软件流程如图所示。主监控程序首先进行系统初始化,包括初始化I/O端口、片内外设和变量等,之后进入低功耗休眠模式。当被中断唤醒后,通过查询标志位来执行相应的任务。当查询结束后,再次进入低功耗休眠模式等待被中断唤醒。中断服务程序可以置位相应标志位或执行相应任务。用户可以选择在中断唤醒MSP430单片机后在主循环中通过查询标志位处理任务,也可以选择在中断服务程序中处理任务。可以将对定时要求不严格或实时性要求不高的任务放在主循环中,通过查询标志位来完成,例如,液晶显示任务等。将对定时要求严格或实时性要求较高的任务放在中断服务程序中完成,例如, ADC采样任务、按键处理任务等。
关键字:MSP430系列 嵌入式 基础
引用地址:
MSP430系列嵌入式实验教程---基础
推荐阅读最新更新时间:2024-11-02 23:44
Pyxos嵌入式网络中链路供给电源模块的设计
0 引言 Pyxos嵌入式网络是一种应用于机器内部的低成本的高速传感器网络,它凭借只有5mm×5mm大小的Pyxos芯片能够嵌入到任何一种传感器或执行器中,使得任何机器内部的各个组成部分之间形成智能的数字控制网络,因此要尽量减少Pyxos嵌入式网络中的元器件,这样不仅减少Pyxos网络占用的空间,而且还能简化安装、维护工作,降低网络成本。 链路电源技术能够在同一媒介上既能传输数据信号又能传输24V交流或直流电,也就是说,采用链路电源技术的Pyxos嵌入式网络上的节点可以同时从通信数据线上取得工作电源,这样避免了额外电源线的铺设和接口终端的使用,因此降低了Pyxos网络的成本、占用空间和使用的复杂性。 l 链路供给电源模块的设
[电源管理]
基于linux的嵌入式无线可视门铃系统的设计
1、引言
在当前的电子行业中,无线技术已经渗透到方方面面,无论是电视机的遥控设备,还是计算机的外围设备都是如此,有的键盘和鼠标甚至也使用了无线技术。无线网络技术已经成为热门技术。无线网络产品广泛应用于家庭网络、小型办公室、会展中心、体育中心、飞机厂、医院、学校、港口、住宅小区、酒店、宽带接入。它使人们在Internet应用中摆脱了无穷无尽电线电缆的束缚,进入真正的无网不在的Internet自由空间。无线网络技术可望成为新的经济增长点。 近几年来, 随着市场上智能化楼宇的不断升温, 门铃系统已作为智能化办公室和智能化住宅小区的一个重要组成部分,被各商家和用户所接受。人们已开始习惯用门铃系统代替传统的铁钥匙去管理各通道
[嵌入式]
Imagination打破SoC嵌入式软件开发的价格障碍
2017年4月24日 —— Imagination Technologies宣布,适用于该公司 M-class 与 I-class CPU IP 内核的强大开发环境,包括先进的 PowerVR 图形界面(GUI)与 Eclipse 整合开发环境(IDE),以及低成本的 Bus Blaster JTAG 探针 —— 这些专业级的工具全部都将以前所未有的价格供应。 为了应对日趋复杂的设计所需的大量软件,SoC 设计人员需要高品质的开发环境。此外,芯片供应商也面临了越来越大的压力,要为客户提供完整的开发解决方案 —— 通常是数百位的使用者 —— 为其特定的芯片创建最佳的软件。因此,低成本的开发环境是不可或缺的因素。 Imagin
[嵌入式]
碎片化的IoT时代,中天微填补国产嵌入式CPU空白
2018年,集成电路再次被写入政府工作报告,位列实体经济发展第一位。尽管我国芯片产业日益强大,但由于起步较晚,无论是产业基础、产业结构、产业规模还是创新能力和水平与发达国家相比差距仍旧很大,尤其在IC产业基础设施布局与建设领域中,仍然严重滞后于发达国家水平。尽管如此,在中国IC产业内也不乏始终坚持的开拓者,拥有自主知识产权的嵌入式CPU的空白便被杭州中天微系统有限公司所填补。 嵌入式CPU IP是芯片研发和嵌入式系统的基础,该领域过去一直被国外企业所垄断,就在大家普遍认为这个市场将会一家独大时,中天微却凭着过硬的研发技术功底,加之正确的商业化运作以及有效的市场策略,逐渐获得了国内同行的广泛认可,走出一条有自己特色的道路,短短2
[半导体设计/制造]
嵌入式WEB服务器在太阳能发电站监测系统中的设计应用
监控系统分2种,C/S模式和B/S模式。C/S模式需要在PC安装客户端,在嵌入式系统上还需要安装服务端,这在设计上不仅加大了开发工作量,而且还得配备专用电脑,但有时候在工业现场上是没有办法做到的。而B/S模式则显得其灵活性和成本低廉性。首先在B/S模式下面我们只需要开发单个WEB应用,客户端和服务端程序都不需要。其次还可以用具备浏览器的终端设备来随时随地浏览察看和控制后端设备。另外还可以省下其他监控硬件设备,有效降低了成本,增强整套系统市场竞争力。 综合考虑本系统采用B/S方式。监控系统以ARM11微处理器(SC6410)为硬件核心,嵌入式Linux为软件核心的综合平台方案。在此平台上设计了基于Linux嵌入式Web太阳能监控系统
[单片机]
基于ARM控制器LPC2214的嵌入式系统研究与开发
1 嵌入式系统与ARM 嵌入式系统以应用为中心、以计算机技术为基础。ARM(Advanced RSIC Machines)是一家出售芯片设计技术授权的公司,目前其设计的ARM微处理器占据了32位RISC(Reduced Instruction Set Computing)微处理器75%以上的市场份额。 2 ARM体系结构 ARM已经从V3发展到V6。目前流行的ARM芯片内核有ARM7TDMI、StrongARM、ARM720T、ARM9TDMI、ARM922T、ARM940T、ARM946T、ARM966T、ARM10TDMI等。Philips LPC2214(以下简称LPC2214) 是基于ARM7TDMI-S的
[单片机]
FLASH K9F1G08U0M在MSP430F149嵌入式系统中的应用
NAND Flash是采用NAND结构技术的非易失存储器,具有ROM存储器的特点,存储在该芯片中的数据可在断电情况下维持10年不丢失,而芯片的引脚与访问又具有类似于RAM的特点。NAND FLASH 存储器将数据线与地址线复用为8条线,另外还分别提供了命令控制信号线,因此,NAND FLASH 存储器不会因为存储容量的增加而增加引脚数目。从而极大方便了系统设计和产品升级。 1 元件介绍 1.1 MSP430芯片 MSP430系列单片机是TI公司推出的16位RISC系列单片机,该系列是一组超低功耗微控制器,供电电压范围为1.8V—3.6V。考虑到本系统有微体积、低功耗的要求,在此选用MSP430F149,它具有60KB Fla
[单片机]
基于嵌入式的智能家居监控系统设计
随着信息技术和Internet技术的发展,实现家居网络化和智能化已经成为当前研究的热点。具有用户界面、能远程控制、智能管理的电器是未来的发展趋势。在此形势下,基于ARM、PowerPC等32位微处理器的出现,使嵌入式Internet成为现实,传统PC的Web服务完全可以通过嵌入式控制器实现。正如早已为人们熟知的“把互联网带入生活中”,使用嵌入式Web技术的家居计算机网络成为目前网络发展的一个重要方向。
基于PC架构的智能家居由于实用性较差已经逐步退出了市场,目前只有一些国外厂商和极少数国内厂商选择了基于嵌入式的技术方案。而基于嵌入式系统的家庭智能系统在国内才刚刚出现,随着嵌入式技术更加广泛的应用,成本的逐步降低
[嵌入式]