MSP430系列微控制器开发软件的使用_第1页
MSP430系列微控制器开发软件的使用_第2页
MSP430系列微控制器开发软件的使用_第3页
MSP430系列微控制器开发软件的使用_第4页
MSP430系列微控制器开发软件的使用_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1第 2 章 MSP430 系列微控制器开发软件的使用 流水灯控制电路的设计目标通过本章的学习,应掌握以下知识 MSP430 微控制器开发软件的使用 工程(Project)的概念 C 语言源程序的编辑 C 语言源程序的结构 源程序的编译 源程序对逻辑资源的占用和它的运行时间 源程序的模拟调试 源程序的仿真调试引言基于微控制器的电路开发,无论大到一个复杂的应用系统,还是小到一个本章将要涉及的流水灯控制电路,设计者都需要具备以下 3 个方面的知识:第一是对所使用微控制器芯片的了解;第二是编程语言的掌握;第三为开发软件的使用。MSP430 系列微控制器的编程语言包括汇编语言和 C 语言,本书采用 C 语言作为开发语言。MSP430 系列微控制器的开发软件有 2 种, TI 公司提供的 Code ComposerTM Studio开发软件和 IAR 公司的产品 Embedded Workbench for MSP430 开发软件。这两种开发软件都可以从 TI 公司的网站下载免费的代码限制版。代码限制版的含义是这种版本的开发软件只支持小规模用户程序的处理,或者说只支持初学者所编写的小规模程序的整个开发过程。Code ComposerTM Studio 开发软件的代码限制版可以支持 16kB 的用户程序处理,Embedded Workbench for MSP430 开发软件的代码限制版可以支持 4kB 的用户程序处理。本章分别描述 Embedded Workbench for MSP430 开发软件和 Code ComposerTM Studio开发软件的使用。通过设计一个使用 P1 并行输入/输出端口控制的流水灯电路来介绍应用系统的开发过程。内容包括工程建立,源程序的编辑、编译、模拟调试以及需要向目标芯片下载程序代码的仿真调试。源程序采用 C 语言编写。作为第一个接触的应用程序,程序中涉及的系统时钟、监视定时器和 P1 端口的配置部分,建议读者简单地承认。22.1 流水灯电路硬件电路是编写软件程序的基础,电路的具体结构决定了源程序的组成。图 2.1 所示为一个由 8 个发光二极管组成的流水灯电路。P 1 . 0P 1 . 1P 1 . 2P 1 . 3P 1 . 4P 1 . 5P 1 . 6P 1 . 7D 1D 2D 3D 4D 5D 6D 7D 8M S P 4 3 0D V C CD V S SG N D1 . 8 3 . 6 VR 1C 14 7 k0 . 1 uR 2 2 2 0R S T图 2.1 基于 P1 端口的流水灯原理电路图图 2.1 给出的基于 P1 并行输入/输出端口的流水灯原理电路图是在图 1.3 所示的MSP430 芯片最小系统电路图的基础上,通过添加 8 个发光二极管构成的。芯片不需要使用的管脚在这里没有画出,组装电路的时候这些没有画出的管脚悬空即可。二极管 D1D8 和电阻 R2 组成流水灯的显示电路。图中 8 个发光二极管的连接方式被称为共阴极连接方式,即所有发光二极管的 N 极被连接在一起,再通过电阻 R2 与地线相连接。对于这种连接方式,如果 P1 端口的某个管脚输出逻辑“1”,即高电平,则对应的发光二极管将被点亮;如果 P1 端口的某个管脚输出逻辑“0”,即低电平,则对应的发光二极管将熄灭。电阻 R2 为限流电阻,限流电阻用来防止电流过大损坏电路器件。由于不同型号发光二极管的技术参数存在差异,应根据具体情况来确定限流电阻的阻值,限流电阻的取值范围是 1001k。为保证电路的安全,限流电阻的阻值开始可以选取大一些,如果发光二极管的亮度不够,再逐渐减小限流电阻的阻值,直到发光二极管的亮度满足要求。限流电阻还有第二种接入方法。第二种方法是每个发光二极管都与 1 个限流电阻串联,然后再分别与地相连。这时共需 8 个电阻。限流电阻的第一种接入方法的优点是接线简单,第二种方法的优点是在点亮不同个数的发光二极管时亮度能够保持一致。MSP430 系列微控制器支持多个时钟信号源,其中包括芯片内部的数字控制振荡器(DCO )。数字控制振荡器属于 RC 振荡器,具体工作频率可以通过软件进行设置。微控制器复位以后,系统默认的时钟信号就来自于这个数字控制振荡器。由于流水灯电路对时钟稳定度和精度的要求都不高,这里将采用这个时钟信号源,因此图 2.1 所示的电路中不需要外部的时钟电路。数字控制振荡器的默认工作频率大约 1MHz,不同型号的 MSP430微控制器芯片存在一些差异。32.2 Embedded Workbench for MSP430 开发软件的使用这里使用 Embedded Workbench for MSP430 开发软件的版本为 v5.30。Embedded Workbench for MSP430 开发软件对设计过程的管理采用工程方式。工程(Project)保存着设计输入的编辑信息和设计调试的环境信息等内容。在开始设计输入之前首先需要建立一个工程。新建一个工程之前需要为它建立一个专用的文件夹,后面产生的工程文件以及设计输入文件等都将存储在这个文件夹之中。建议不同工程的文件最好放在不同的文件夹中,同一工程的所有文件都放在同一个文件夹中。建议一个文件夹只存储一个工程,一个工程中只包含一个设计输入文件,这样文件夹名称、工程名称、设计文件名称都可以取为相同名称,它们之间的区别通过文件扩展名来实现。新建一个文件夹“led_8”,用来保存由 8 个发光二极管组成的流水灯电路的显示控制工程中的所有文件。2.2.1 创建工程(Project)图 2.2 所示为已经打开 Embedded Workbench for MSP430 开发软件后呈现的工作窗口。窗口中将自动出现一些开发软件的使用介绍信息,如果现在不想阅读,可以将这个窗口关闭,也可以置之不理。图 2.2 Embedded Workbench for MSP430 开发软件的工作窗口在工作窗口中,用菜单“Project Create N ew Project.”可以打开创建新工程窗口,如图 2.3 所示。图 2.3 创建新工程窗口4创建新工程窗口默认产生一个新的工程,即这个窗口中“Project templates”栏目中的“Empty project”,因此这里仅需要简单地点击“OK”按钮即可。点击“OK”按钮将打开新工程存储窗口,如图 2.4 所示。图 2.4 新工程存储窗口利用这个窗口可以将创建的新工程存储到专门为它建立的文件夹之中。由下拉菜单“保存在(I)”找到专门为它建立的文件夹,例如这里的“led_8”;在下拉菜单“文件名(N)”输入新工程的名称,例如这里的 “led_8”;在下拉菜单“保存类型(T)”,已经默认为工程类型“ewp”,因此不用修改。不同工程的文件最好放在不同的文件夹中,同一工程的所有文件都放在同一文件夹中。由于在一个文件夹中将只保存一个工程的相关文件,因此文件夹名称、工程名称以及后面将要命名的源程序名称都推荐采用同一名称。在图 2.4 中,点击“保存(S)”按钮将返回到 Embedded Workbench for MSP430 开发软件的工作窗口,如图 2.5 所示。对比图 2.2,在现在的工作窗口,工作区“Workspace”的文件栏目“Files”已经不再是空的,呈现出了新建的工程标志, led_8。这表示已经完成工程的创建。图 2.5 Embedded Workbench for MSP430 开发软件的工作窗口2.2.2 编辑源程序在 Embedded Workbench for MSP430 开发软件工作窗口中,用菜单“File New File ”可以创建一个新的编辑窗口,即文本输入窗口。使用工作窗口中的符号 也可以实现同样功能。包含新编辑窗口的工作窗口如图 2.6 所示。这个新编辑窗口当前没有被命名,名称栏显示“Untitled1”。5图 2.6 Embedded Workbench for MSP430 开发软件的工作窗口编辑窗口被用来编辑 C 语言源文件。编辑窗口,即 C 语言源文件,的命名可以用菜单“File Save As.”打开如图 2.7 所示的“另存为”窗口来实现。图 2.7 “另存为”窗口“另存为”窗口的下拉菜单“保存在(I)”将自动指向为当前工程创建的文件夹“led_8”。窗口中的文件夹“settings”保存着所建立工程的相关内容。编辑窗口支持多种文本文件的编辑。这个窗口中的下拉菜单“保存类型(T)”将显示出编辑窗口能够进行编辑文本文件的所有类型。在下拉菜单“文件名(N)”输入将要编辑的文本文件的名称和文件扩展名,led_8.c。扩展名“c”表示这个文本文件采用 C 语言编写。通过点击“保存(S)”按钮将返回到 Embedded Workbench for MSP430 开发软件的工作窗口。图 2.8 Embedded Workbench for MSP430 开发软件的工作窗口图 2.8 为已经完成 C 语言源文件编辑的 Embedded Workbench for MSP430 开发软件工作窗口。在文本编辑窗口中,C 语言源程序中第 1 句是包含语句6#include / 包含名称定义和对应地址或数据的头函数这条语句将开发软件提供的头文件 MSP430.h 包含进本程序。头文件 MSP430.h 直接,或者间接,地声明了许多内容,其中就包括这里需要使用的 P1 端口功能寄存器“P1SEL”、方向寄存器“P1DIR”、输出寄存器“P1OUT”名称。头文件建立了这些功能寄存器名称与它们地址之间的关系,这样就可以通过这些名称进行寄存器的访问。使用名称比使用地址具有明显的物理意义,而且也容易记忆。C 语言源程序中必须具有一个主函数。语句void main(void) / 主函数声明主函数。不同的编译系统对函数的格式要求不一样,对于 Embedded Workbench for MSP430 开发软件,希望读者按照这个格式输入。主函数中的第一句WDTCTL=WDTPW+WDTHOLD; / 关闭看门狗用来关闭 MSP430 芯片中的监视定时器,也称看门狗。监视定时器用来当程序运行不正常时使 MSP430 芯片复位,然后从新开始工作。为简化程序结构,这里简单地关闭了MSP430 芯片中的监视定时器。接着的两条语句P1SEL=0x00; / 设置 P1 端口为数字输入 / 输出口P1DIR=0xff; / 设置 P1 端口为输出口用来对驱动发光二极管的 P1 端口的管脚进行配置,将这些管脚配置为数字信号输入/输出管脚,信号传输方向为输出方向。发光二极管的闪烁应该一直在程序的控制之下,这里使用下面语句实现这个想法。while(1) / 重复执行P1OUT=0x01; / 依次点亮每一个发光二极管P1OUT=0x02;P1OUT=0x04;P1OUT=0x08;P1OUT=0x10;P1OUT=0x20;P1OUT=0x40;P1OUT=0x80;微控制器芯片的工作必须一直在程序的控制之下,因此 C 语言源程序中必须具有这样一个无条件循环结构。需要执行的任务放在这个无条件循环结构之内,使之重复执行。在图 2.8 所示的编辑窗口中,程序语句后面存在被称作为注释的程序说明。注释由双斜杠“/”开始,直到本行结束。注释可以与某条语句同行,也可以独立成行。注释也可以包含在符号“/*”和“*/”之间。使用这两个符号可以包含 1 行,也可以包含多行。72.2.3 编译源程序在编译源程序之前,需要选择程序运行的目标芯片。在 Embedded Workbench for MSP430 开发软件工作窗口,用菜单“Project Options.”可以打开如图 2.10 所示的源程序编译条件选择窗口。在工作区的“Files”栏目,用鼠标选择工程标志 “led_8”,再点击鼠标右键将打开一个浮动菜单,如图 2.9 所示。图 2.9 浮动菜单在浮动菜单中选择“Options.”也打开如图 2.10 所示的源程序编译条件选择窗口。图 2.10 源程序编译条件选择窗口图 2.10 所示窗口的左侧为目录,当前在“Category”中选择的是“General Options”。窗口的右侧为“General Options”中可以选择的具体内容。“General Options”具有多个选项卡,图示为目标芯片选项卡“Target”。在这个选项卡中,由“Device”栏目的下拉菜单可以展示所使用版本的 Embedded Workbench for MSP430 开发软件支持的全部芯片系列的名称。从展示的芯片系列名称中可以选择目标芯片从属的系列,例如选择“MSP430Gxxx Family”芯片系列。随着目标芯片系列名称的选择,该系列中被支持的芯片名称将被显示。选择“MSP430G2231”作为本次设计将要使用的目标芯片。完成选择以后“D evice”栏目的文本框中将显示“MSP430G2231”。图 2.10 所示的源程序编译条件选择窗口中其它内容保持默认状态。通过点击窗口中的“OK”按钮完成目标芯片的选择。8在编译源程序之前,还需要将完成编辑的 C 语言源程序添加到工程之中。这个添加工作同样可以通过如图 2.9 所示浮动菜单完成。在浮动菜单中选择“Add”将打开一个添加文件列表,选择“Add“led_8.c”即可完成添加工作。在开发软件工作窗口,用菜单“Project Add Files.”可以打开一个包含“led_8.c”文件的窗口,选择“led_8.c”文件,点击窗口中的“打开(O )” 按钮也可以完成这个添加工作。完成 C 语言源程序添加以后的工作区“Workspace”窗口如图 2.11 所示。图 2.11 工作区“Workspace ”窗口在 Embedded Workbench for MSP430 开发软件工作窗口中,用菜单“F ile Save Workspace”将打开一个类似于图 2.4 所示的工作区存储窗口“Save Workspace As”。在下拉菜单“文件名(N)”输入工作区的名称,这里也同样为“led_8”。点击“保存(S)”按钮将返回到 Embedded Workbench for MSP430 开发软件的工作窗口。上述必需的操作步骤完成以后,在工作窗口,用菜单“Project Make”就可以开始C 语言源程序“led_8.c”的编译。使用工作窗口中的符号 也可以实现同样功能。完成编译工作以后的 Embedded Workbench for MSP430 开发软件的工作窗口如图 2.12 所示。图 2.12 Embedded Workbench for MSP430 开发软件的工作窗口工作区窗口“Workspace”显示工程中包含的文件。信息窗口“Messages”显示 C 语言源程序“led_8.c”存储需要 100bytes 的代码存储空间;程序运行需要 50bytes 的数据存储空间的支持等内容。MSP430G2231 芯片具有 2kB 的程序存储器和 128B 的数据存储器,MSP430F2619 芯片具有 120kB 的程序存储器和 4kB 的数据存储器,两者都具有足够的逻辑资源支持工程 led_8。Embedded Workbench for MSP430 的代码限制版的开发软件支持4kB 的用户程序,也满足支持工程 led_8 的要求。信息窗口“Messages ”还显示 C 语言源程序“led_8.c”的编译过程中没有错误,也没有警告。如果编译过程中发现错误,将不能产生向芯片下载的代码。出现警告信息,向芯9片下载的代码可以产生,但是建议检查产生警告信息的原因。2.2.4 模拟调试C 语言源程序的编译成功只能说明程序不存在语法错误,并不能证明它没有逻辑错误。通过逐步执行语句,观察执行过程中相关数据的变化情况可以判断程序是否满足设计要求。Embedded Workbench for MSP430 开发软件提供这样的调试环境。Embedded Workbench for MSP430 开发软件的程序调试支持需要硬件电路支持的仿真调试和只在计算机上进行的模拟调试两种方式。在图 2.10 所示的源程序编译条件选择窗口的“Category”中选择“Debugger”,这时的窗口如图 2.13 所示。图 2.13 源程序编译条件选择窗口在窗口右侧选择“Setup ”选项卡,在“Driver ”栏目利用下拉菜单选择 “Simulator”,点击窗口中的“OK”按钮返回工作窗口,这样就可以使用 Embedded Workbench for MSP430 开发软件提供的模拟调试环境。2.2.4.1 源程序逻辑功能检查在工作窗口,用菜单“Project D ownload and debug”能够进入调试环境,如图 2.14所示。使用工作窗口中的符号 也可以实现同样功能。图 2.14 中的 led_8.c 现在不是设计输入的编辑窗口,而是进行程序调试的窗口。窗口左侧的箭头指向的语句,同时这条语句具有绿色阴影,为将要执行的语句。注意,是将要执行,但是还没有执行。led_8

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论