MSP430单片机C语言编程与实践(入门篇)之一 ----MSP430单片机简介和LaunchPad开发板

这篇具有很好参考价值的文章主要介绍了MSP430单片机C语言编程与实践(入门篇)之一 ----MSP430单片机简介和LaunchPad开发板。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.1 MSP430单片机的架构

       单片机是一个综合的模拟和数字系统,根据其丰富的片上资源,再添加一些外围电路,通过软件编程后就可以完成检测、控制等任务,形成一个实用的电子装置或设备。MSP430是美国德州仪器公司(TI,Texas Instruments)推出的系列单片机,因其超低功耗和丰富的片上资源而受到业界的广泛推崇和应用。MSP430单片机是一个混合信号处理器(MSP的英文意思是Mixed Signal Processor),它的内部有一个16位的RISC(精简指令集,Reduced Instruction Set ComputerCPU、许多外围模块、和一个灵活的时钟系统,通过一个共用的冯·诺依曼存储地址总线(MAB)和一个存储数据总线(MDB)相互连接。

1.1.1 MSP430单片机的特点和框图

MSP430单片机的特点 (以MSP430G2x53系列为例)

·低供电电压范围:1.8V至3.6V

·超低功耗

活跃模式(Active Mode):在1MHz和2.2V供电下,230uA

备用模式(Standby Mode):0.5uA

关闭模式(Off Mode):0.1uA

·五个节能模式

·从备用状态超快速唤醒,唤醒时间少于1uS

·16位精简指令结构,指令周期时间62.5nS

·基础时钟模块设置

    -内部频率可达16MHz,并有4个校准的频率

    -内部非常低耗低频(LF)振荡器

    -32 kHz 晶振

    -外部数字时钟源

·两个16位定时器,每个定时器有3个捕获/比较寄存器

·可达24个电容触摸使能的I/O管脚

·通用串行通信接口(USCI)

    -增强的UART,支持自动波特率检测(LIN)

    -IrDA编码器和解码器

    -同步SPI

    -I2C

·片上比较器,用于模拟信号比较功能或者斜坡(Slope)模数转换

·10位200-ksps(每秒20万采样率)的模数转换器,有内部参考电压,采样和保持以及自动扫描(Autoscan)

·欠压检测器(Brownout Detector)

·串行板上(Onboard)编程,无需外部编程电压,通过安全熔丝可编程的代码保护

·有Spy-Bi-Wire接口的片上仿真逻辑

·封装选择

-TSSOP:20脚,28脚

-PDIP:20脚

-QFN:32脚

       MSP430G2x53系列的方框图如图1.1所示,对于不同的封装其内部的模块有所变化。

texas instruments的单片机,c语言

图1.1  MSP430G2x53系列的方框图

       图1.1中,左上角为时钟系统,可以产生ACLK、SMCLK、MCLK三个时钟,其中ACLK、SMCLK可用于外围模块,MCLK用于CPU和系统。然后自左向右为Flash和RAM存储区、十位ADC、端口P1、P2和P3,其中P1和P2具有中断能力。另外,P1、P2和P3这三个端口都有内置的上/下拉电阻。最左侧中间为16位的CPU,最高频率为16MHz,CPU内部包含16个寄存器。左下角为仿真及JTAG接口等。图1.1的下方自左向右又依次为欠压保护、比较器A+、看门狗WDT+、定时器0_A3、定时器1_A3和USCI A0 及USCI B0。CPU和各个外围模块间通过存储器地址总线(MAB)和存储器数据总线(MDB)进行连接。

1.1.2  CPU简介

       由图1.2可见,CPU的主要部件是一个16位的算术逻辑单元(16-bit ALUALU—Arithmetic Logic Unit),这个ALU就完成了所有的数学运算和逻辑运算,类似于我们的大脑,能进行运算和对事物的判断等。注意图中ALU的运算结果会产生一些零(Z)、进借位(C)、溢出(V)、负(N)的标志位,这些信息是程序中需要判断并以此决定程序进程的一些条件,特别是用汇编语言时,经常要跟这些标志位打交道。

       CPU中除了ALU,自上而下是16个寄存器R0~R15。这些寄存器中,R4~R15是一般的寄存器(General Purpose),R0~R3是比较特殊的。其中R0称为PCProgram Counter),即程序计数器,这个部件很关键,它就是一个指挥棒,引导着CPU的运行,而且CPU每执行完一条指令,PC就自动加2(或加4、加6),并指向下一条指令(地址),CPU再执行完这条指令,PC又自动加,再指向下一条指令使整个程序被逐条的执行下去。

texas instruments的单片机,c语言

图1.2  CPU的方框图

       R1称为SP(Stack Pointer),即堆栈指针。什么是堆栈呢?看一下仓库或车站、码头里的货物,都是一层一层叠放的,那就是堆栈。计算机(单片机)处理数据时需要把数据临时存放在一些存储区域中,就像叠放货物一样,一个一个地放进去,再一个一个地取出来,叫做压栈和出栈。这个堆栈指针就指向栈顶,并随着栈顶的改变而自动变化,它永远指向栈顶。这样,程序中就可以通过堆栈指针来找到需要操作和处理的数据。这一般是汇编语言编程的事情了,我们用C语言时是不用管这些事情的,CCS或IAR这些开发环境已经在后台为我们处理好这些事情了,这也是C语言编程的好处之一(你不用管太多的事情,专注于你的程序就行了)。

       R2称为SR(Status Register),即状态寄存器。状态寄存器随时记录着程序运行过程中所产生的各种信息,比如前面提到的计算结果为0(Z)、进借位(C)、负(N)、溢出(V)等,还有CPU及晶振的状态等。汇编语言中需要通过SR来获取这些信息,并进行相应的判断和处理。

       R2和R3还联合在一起产生一些常用的常数。称为常数发生器CG1,CG2,(CG即Constant Generator),这些常数配合其它指令可以产生一些高效的模拟指令。

       R4~R15是通用寄存器,如果你用汇编的话,这十二个寄存器就是你天天要打交道的对象了,数据的传递和获取经常要在这些寄存器中进行。

1.1.3  存储器地址空间

       MSP430采用冯-诺依曼的存储器结构(另一种叫哈佛结构),其寄存器、代码和数据存储的地址都统一安排在同一个大的存储空间,如图1.3中的0h~1FFFFh,总存储空间为128KB。其中,代码的存取总是在偶数地址,数据的存取可为字节或字。前面提到的R0~R15又叫特殊功能寄存器(SFR,Special Function Registers),分布在0h~0Fh地址,它们的家就在那儿。再往上是8位的外围模块区,在010h~0FFh地址;16位的外围模块区,在0100h~01FFh地址。然后是RAM区,从0200h地址开始,其结束的地址取决于RAM区的大小,不同的器件其结束地址不同。RAM可用于存储代码或数据。Flash/ROM区的起始地址取决于Flash/ROM区的大小,不同的器件其起始地址不同,对于Flash/ROM区小于60KB的器件,其Flash/ROM区的结束地址为0FFFFh。Flash可用于存储代码和数据,字或字节表可存储于并用于Flash/ROM中,在使用前无需复制表到RAM中。中断向量表(Interrupt Vector Table,即各中断的入口地址)被安排在Flash/ROM地址空间的高端16个字中,最高优先级的中断向量在Flash/ROM的最高字地址0FFFEh。每个字占用2个字节,最高优先级的中断向量占用0FFFEh和0FFFFh两个字节,因此,其起始地址为0FFFEh。另一片Flash/ROM区分布在10000h~1FFFFh。

texas instruments的单片机,c语言

图1.3  存储器图

1.1.4  存储器组织

       如图1.4所示,字节位于奇数或偶数地址,字只能位于偶数地址。一个字节由八位二进制数构成,就像八个格子,每个格子里的数要么是1,要么是0,只有这两种状态。字是由两个字节组成的,分别称为低字节和高字节。一个字的低字节永远是一个偶数地址,其高字节为下一个奇数地址。例如,如果一个数据字位于xxx4h地址,则这个数据的低字节位于xxx4h,其高字节位于xxx5h。位(Bit)、字节(Byte)、字(Word)之间的关系请看图1.4所示。

texas instruments的单片机,c语言

图1.4  用字节组织的存储器中的位、字节和字

1.2 MSP430G2 LaunchPad简介

     为便于初学者应用和开发MSP430单片机,TI公司推出了许多单片机的开发板,MSP430G2 LaunchPad即为其中的一款针对G2系列的开发实验板。图1.5为该开发板的实物图,图中虚线的上方为仿真器部分,通过USB接口可直接与电脑相连,调试好的程序可以通过该仿真器直接下载到开发板的单片机中运行。虚线下方为单片机实验板,单片机的20个管脚都通过插排对外引出,并带有一个复位键。P1.3管脚外接了一个按键,P1.0和P1.6通过跳线分别连接了一个红色和绿色的LED。

texas instruments的单片机,c语言

图1.5  MSP430G2 LaunchPad实物图

        图1.6为该开发板的原理图(不包括仿真器部分)。

texas instruments的单片机,c语言

图1.6  MSP430G2 LaunchPad原理图

       MSP430G2开发板虽小,但我们可以外接按键、传感器、无线模块、驱动模块、LCD等,形成一个完整的检测或控制系统。图1.7为对开发板各个部分的说明。

texas instruments的单片机,c语言

图1.7 MSP430G2 LaunchPad各部分说明

       上述对MSP430单片机的介绍及对LaunchPad开发板的说明,简单了解即可。我们在后续的讨论中会逐步展开、掌握和应用的。文章来源地址https://www.toymoban.com/news/detail-841036.html

到了这里,关于MSP430单片机C语言编程与实践(入门篇)之一 ----MSP430单片机简介和LaunchPad开发板的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • MSP430F5529单片机入门学习笔记1

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

    2024年02月06日
    浏览(49)
  • 51单片机——LCD1602液晶屏 C语言入门编程

    目录 LCD1602: 数据指令:  字节写入时序: 1. LCD1602:LCD1602液晶上显示字符信息         1602液晶也叫1602字符型液晶,它能显示2行字符信息,每行又能显示16个字符。它是一种专门用来显示字母、数字、符号的点阵型液晶模块。它是由若 干个5x7的点阵字符位组成,每个点

    2024年02月05日
    浏览(53)
  • 51单片机——数码管、按键、矩阵按键C语言入门编程

    目录 数码管: 1.静态数码管:第二位数码管显示0 2.动态数码管:每一位数码管依次显示对应位数 按键: 1.独立按键:按下按键对应LED亮灭 矩阵按键: 1.矩阵按键:按下的每个按键,数码管显示对应键码          数码管按段数可分为七段数码管和八段数码管,八段数码管

    2024年01月23日
    浏览(48)
  • 单片机之从C语言基础到专家编程 - 4 C语言基础 - 4.8 运算符

    1.算术运算符 运算符 名称 备注 + 加法运算符 双目运算,a + b - 减法运算符 双目运算,a - b * 乘法运算符 双目运算,a * b / 除法运算符 双目运算,a / b % 求余运算符 双目运算, a % b ++ 自增运算符 单目运算, a++ – 自减运算符 单目运算, a– 2.关系运算符 运算符 名称 数学中的表

    2024年02月12日
    浏览(46)
  • 【TB作品】MSP430单片机 Proteus仿真 DS18B20温度 LCD1602显示器 温度读取与显示

    效果图如下: 首先,让我们先来说说DS18B20集成电路。 • DS18B20是一款采用OneWire通讯协议的集成电路,因此只需要一条线就可以与微控制器通讯。它不需要额外的电源,但是也有外部电源输入端口。 • OneWire设备具有64位的ROM代码。如我们之前所说,这64位的前8位是家族代码,中间

    2024年02月08日
    浏览(69)
  • Go语言的安全编程实践与最佳实践

    Go语言,也被称为Golang,是一种现代的编程语言,由Google的Robert Griesemer、Rob Pike和Ken Thompson于2009年开发。Go语言旨在简化系统级编程,提供高性能和可扩展性。随着Go语言的发展,安全编程变得越来越重要。本文旨在探讨Go语言的安全编程实践与最佳实践,帮助读者更好地编写

    2024年02月20日
    浏览(50)
  • [编程]UML语言:理论之光与实践之惑

    UML(统一建模语言)是软件工程领域中具有悠久历史的一种模型化语言工具。它通过标准化的图形符号体系,使得软件系统的蓝图能够被更直观地表达出来。UML诞生于20世纪90年代,经过多年积累,已拥有完备的理论体系和广泛的实践应用。 在理论上,UML被公认为是描述软件结构和处

    2024年02月05日
    浏览(45)
  • 【Go】Go语言并发编程:原理、实践与优化

    在当今的计算机世界,多核处理器和并发编程已经成为提高程序执行效率的关键。Go语言作为一门极富创新性的编程语言,凭借其强大的并发能力,在这方面表现出色。本文将深入探讨Go语言并发编程的原理,通过实际代码示例展示其应用,并讨论可能的优化策略。 在了解G

    2024年02月10日
    浏览(59)
  • New Bing 编程提效实践 - 语言识别功能

    作者 :明明如月学长, CSDN 博客专家,蚂蚁集团高级 Java 工程师,《性能优化方法论》作者、《解锁大厂思维:剖析《阿里巴巴Java开发手册》》、《再学经典:《EffectiveJava》独家解析》专栏作者。 热门文章推荐 : (1)《人工智能时代,软件工程师们将会被取代?》 (2)

    2023年04月09日
    浏览(46)
  • 学习单片机的秘诀:实践与坚持

    在学习单片机时,将实践与学习结合起来是一个很好的方法。不要一上来就死磕指令和名词,而是边学边做实验,循序渐进地理解和应用指令。通过实验,你能亲身感受到指令的控制效果,增强对单片机的理解和兴趣。 学习单片机不是一蹴而就的过程,需要持之以恒。合理安

    2024年02月14日
    浏览(49)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包