《MSP430系列微控制器开发软件IAR的使用_2》由会员分享,可在线阅读,更多相关《MSP430系列微控制器开发软件IAR的使用_2(12页珍藏版)》请在金锄头文库上搜索。
1、0MSP430 系列微控制器开发软件系列微控制器开发软件 IAR 的使用的使用 流水灯电路的设计流水灯电路的设计2.1引言基于微控制器的电路开发,无论大到一个应用系统,还是小到一个本章将要涉及的流 水灯控制电路,设计者都需要具有以下 3 个方面的知识:对所使用微控制器芯片的了解、 编程语言的掌握和开发软件的使用。MSP430 系列微控制器的开发软件有 2 种,一种为 TI 公司提供的 Code ComposerTM Essentials 开发软件,另一种为 IAR 公司的产品 Embedded Workbench for MSP430。这两种开发软件都可以从 TI 公司的网站下载免费的代码限制
2、版。本章描述 Embedded Workbench for MSP430 开发软件的使用,这里以版本 v5.30 为例, 通过编写一个使用 P1 并行输入/输出端口控制的流水灯来介绍应用系统的开发过程,内容 包括工程建立,源程序的编辑、编译、模拟调试以及向目标芯片的程序代码下载。源程序 采用 C 语言编写。作为第一个接触的应用程序,程序中涉及的系统时钟初始化、P1 端口 的配置部分建议读者简单地承认。 硬件电路是编写软件程序的基础,电路的具体结构决定了源程序的组成。图 2.1 所示 为一个由 8 个发光二极管组成的流水灯电路。P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7D1
3、D2D3D4D5D6D7D8MSP430 DVCCDVSSGND1.83.6VR1C147k0.1uR2220RST图 2.1 基于 P1 端口的流水灯原理电路图图 2.1 给出的基于 P1 并行输入/输出端口的流水灯原理电路图是在图 1.3 所示的 MSP430 芯片最小系统电路图的基础上,通过添加 8 个发光二极管构成的。芯片不需要使用的管脚在这里没有画出,组装电路的时候这些没有画出的管脚悬空即可。 二极管 D1D8 和电阻 R2 组成流水灯的显示电路。图中 8 个发光二极管的连接方式 被称为共阴极连接方式,即所有二极管的 N 极被连接在一起,再通过电阻 R2 与地线相连 接。对于这种连接
4、方式,如果 P1 端口的某个管脚输出逻辑“1”,即高电平,则对应的发 光二极管被点亮;如果 P1 口的某个管脚输出逻辑“0”,即低电平,则对应的发光二极管 熄灭。 电阻 R2 为限流电阻,限流电阻用来防止电流过大损坏电路器件。由于不同型号的发 光二极管的技术参数不同,应根据具体情况来确定限流电阻的阻值,限流电阻的取值范围 是 1001k。为保证电路的安全,限流电阻开始可以选取大一些,如果发光二极管的 亮度不够,再逐渐减小限流电阻的值,直到发光二极管的亮度满足要求。 限流电阻还有第二种接入方法。第二种方法是每个发光二极管都与 1 个限流电阻串联, 再分别与地相连。这时共需 8 个电阻。限流电阻的
5、第一种接入方法的优点是接线简单,第 二种方法的优点是在点亮不同个数的发光二极管时亮度能够保持一致。 MSP430 系列微控制器支持多个时钟信号源,其中包括芯片内部的数字控制振荡器 (DCO)。这是一个 RC 振荡器,具体工作频率可以通过软件进行设置。微控制器复位以 后,系统默认的时钟信号就来自于这个数字控制振荡器。由于流水灯电路对时钟稳定度和 精度的要求都不高,这里将采用这个时钟信号源,因此图 2.1 所示的电路中不需要外部的 时钟电路。数字控制振荡器的默认工作频率大约 1MHz,不同型号的微控制器芯片具有一 些差异。2.2创建工程(Project)Embedded Workbench for
6、 MSP430 开发软件对设计过程的管理采用工程方式。工程 (Project)保存着输入编辑的信息和设计调试的环境等内容。在开始设计输入之前首先应 该建立一个工程。新建一个工程之前还需要建立一个文件夹,后面产生的工程文件以及源 代码文件等都将存储在这个文件夹之中。建议不同工程的文件最好放在不同的文件夹中, 同一工程的所有文件都放在同一个文件夹中。 图 2.2 所示为打开 Embedded Workbench for MSP430 开发软件后呈现的工作窗口。窗 口中将自动出现一些使用介绍信息,如果现在不想阅读,可以将这个窗口关闭,也可以置 之不理。2图 2.2 Embedded Workbenc
7、h for MSP430 开发软件的工作窗口在工作窗口中,用菜单“Project Create New Project.”打开创建新工程窗口,如 图 2.3 所示。图 2.3 创建新工程窗口创建新工程窗口默认产生一个新的工程,即“Empty project”,因此这里仅需要简单 地点击“OK”按钮即可。点击“OK”按钮将打开新工程存储窗口,如图 2.4 所示。图 2.4 新工程存储窗口利用这个窗口可以将创建的新工程存储到专门为它建立的文件夹之中。由下拉菜单 “保存在(I)”找到专门为它建立的文件夹,例如这里的“led_8”;在下拉菜单“文件 名(N)”输入新工程的名称,例如这里的“led_8”
8、;在下拉菜单“保存类型(T)”, 由于默认为工程类型“ewp”,因此不用修改。 不同工程的文件最好放在不同的文件夹中,同一工程的所有文件都必须放在同一文件 夹中。文件夹名称、工程名称以及后面将要命名的源程序名称推荐采用同一名称。 在图 2.4 中,点击“保存(S)”按钮将返回到 Embedded Workbench for MSP430 开 发软件的工作窗口,如图 2.5 所示。在现在的工作窗口,工作区“Workspace”已经不再 是空的,呈现出了新建的工程标志,led_8。图 2.5 Embedded Workbench for MSP430 开发软件的工作窗口2.3编辑源程序在 Embe
9、dded Workbench for MSP430 开发软件工作窗口中,用菜单“File New File”可以创建一个新的编辑窗口。包含新编辑窗口的工作窗口如图 2.6 所示。这个新 编辑窗口当前没有被命名,名称栏显示“Untitled1”。图 2.6 Embedded Workbench for MSP430 开发软件的工作窗口编辑窗口支持多种文本文件的编辑。用菜单“File Save As.”可以打开如图 2.7 所示的“另存为”窗口。这个窗口中的下拉菜单“保存类型(T)”显示出了编辑窗口能 够进行编辑的文本文件类型。图 2.7 “另存为”窗口“另存为”窗口的下拉菜单“保存在(I)”将自
10、动指向为当前工程创建的文件夹“led_8”。窗口中的文件夹“settings”保存着刚建立工程的相关内容。 在下拉菜单“文件名(N)”输入将要编辑的文本文件的名称和文件扩展名, led_8.c。扩展名表示这个文本文件采用 C 语言编写。通过点击“保存(S)”按钮将返回 到 Embedded Workbench for MSP430 开发软件的工作窗口。 图 2.8 为已经完成 C 语言源文件编辑的 Embedded Workbench for MSP430 开发软件工4作窗口。 在文本编辑窗口中,C 语言源程序中第 1 句是包含语句#include / 包含名称定义和对应地址或数据的头函数 这
11、条语句将开发软件中的头文件 MSP430.h 包含进本程序。头文件 MSP430.h 声明了许多 内容,其中就包括这里需要使用的 P1 端口功能寄存器“P1SEL”、方向寄存器“P1DIR”、输出寄存器“P1OUT”。头文件建立了这些功能寄存器名称与它们地址之间 的关系,这样就可以通过这些名称进行寄存器的访问。图 2.8 Embedded Workbench for MSP430 开发软件的工作窗口C 语言源程序中必须具有一个主函数。语句int main(void) / 主函数 声明主函数。不同的编译系统对函数的格式要求不一样,对于 Embedded Workbench for MSP430
12、开发软件,希望读者按照这个格式输入。 主函数中的第一句WDTCTL=WDTPW+WDTHOLD; / 关闭看门狗 用来关闭 MSP430 系列芯片中的监视定时器,也称看门狗。监视定时器用来当程序运行不 正常时使 MSP430 系列芯片复位。为简化程序结构,这里简单地关闭了 MSP430 系列芯片 中的监视定时器。 接着的两条语句P1SEL=0x00; / 设置 P1 端口为数字输入 / 输出口P1DIR=0xff; / 设置 P1 端口为输出口 用来对驱动发光二极管的 P1 端口的管脚进行配置,将这个端口配置为数字信号输入/输出 端口,信号传输方向为输出方向。注意,使用的管脚需要进行配置,因为
13、 MSP430 的大多 数管脚都是复用管脚。 发光二极管的闪烁应该一直在程序的控制之下,这里使用下面语句实现这个想法。while(1) / 重复执行P1OUT=0x01; / 依次点亮每一个发光二极管P1OUT=0x02;P1OUT=0x04;P1OUT=0x08;P1OUT=0x10;P1OUT=0x20;P1OUT=0x40;P1OUT=0x80; 微控制器芯片的工作必须在程序的控制之下,因此 C 语言源程序中必须具有这样一 个无条件循环结构。需要执行的任务放在这个无条件循环结构之内,使之重复执行。 在图 2.8 所示的编辑窗口中,程序语句后面存在被称作为注释的程序说明。注释由双 斜杠“/
14、”开始,直到本行结束。注释可以与某条语句同行,也可以独立成行。 注释也可以包含在符号“/*”和“*/”之间。使用这两个符号可以包含 1 行,也可以 包含多行。 使用注释的目的是为了方便程序阅读。切忌有这样的想法:我是程序的唯一阅读者, 我不会忘记自己编写的程序中语句的含义。一个好的注释记载了设计思想,同时它也可以 方便别人阅读,方便互相交流。另外,撰写注释也可以迫使设计者更加仔细地思考程序设 计的细节,这点对于一个初学者非常重要。2.4编译源程序在编译源程序之前,需要选择程序运行的目标芯片。在 Embedded Workbench for MSP430 开发软件工作窗口的工作区“Workspa
15、ce”栏目,用鼠标选择工程标志“led_8”, 再点击鼠标右键将打开一个浮动菜单,如图 2.9 所示。图 2.9 浮动菜单在浮动菜单中选择“Options.”将打开如图 2.10 所示的源程序编译条件选择窗口。6图 2.10 源程序编译条件选择窗口窗口的左侧为目录,当前在“Category”中选择的是“General Options”。窗口的右 侧为可以选择的具体内容。“General Options”具有多个选项卡,图示为目标芯片选项卡“Target”。在这个选项卡中,由“Device”栏目的下拉菜单可以展示使用的 Embedded Workbench for MSP430 开发软件版本支持
16、的芯片系列名称。从展示的芯片系列名称中可以 选择目标芯片从属的系列,例如这里选择“MSP430Gxxx Family”芯片系列。随着目标芯 片系列名称的选择,该系列中被支持的芯片名称将被显示。这里选择“MSP430G2231” 作为目标芯片。完成选择以后“Device”栏目的文本框中将显示“MSP430G2231”。 图 2.10 所示的源程序编译条件选择窗口中其它内容保持默认状态。通过点击窗口中 的“OK”按钮完成目标芯片的选择。 在编译源程序之前,还需要将完成编辑的 C 语言源程序添加到工程之中。这个添加 工作也可以通过如图 2.9 所示浮动菜单完成。在浮动菜单中选择“Add”将打开一个添加 文件列表,选择“Add“led_8.c”即可完成添加工作。完成 C 语言源程序添加的工作区“Workspace”窗口如图 2.11 所示。图 2.11 工作区“Wo