430课件.docx
《430课件.docx》由会员分享,可在线阅读,更多相关《430课件.docx(19页珍藏版)》请在冰豆网上搜索。
430课件
实验一MSP430开发环境与程序设计
一、实验目的
1.掌握MSP430开发环境——IAREmbeddedWorkbench的使用方法
2.学会使用IAREmbeddedWorkbench来开发简单的C语言和汇编语言程序,并掌握常用的调试方法。
二、IAREmbeddedWorkbench开发环境
MSP430开发需要硬件和软件两方面环境,本书以MSP430F149为例进行介绍,其他产品开发过程与此类似。
硬件环境非常简单,只需一台PC、一个JTAG仿真器和开发板。
软件开发环境常用IAR公司的IAREmbeddedWorkbench嵌入式工作台以及仿真器C-SPY和AQ430,本章仅介绍IAR产品。
3.1硬件环境
MSP430FLASH单片机内有JTAG调试接口和电可擦除FLASH存储器,开发调试十分方便,只需一台PC、一个JTAG仿真器和一块开发板(FlashEmulationTool),简单功能调试时可有仿真器供电,开发板不需外加电源。
开发调试时可先将程序下载到FLASH中,通过软件控制程序运行,芯片中的信息通过JTAG口提供给开发者进行调试。
图E.1PC-JTAG仿真器-开发板连接图
JTAG仿真器一端连接在PC的并口(打印机接口),另一端连接在开发板上,如图E.1所示。
JTAG仿真器可以购买现成产品也可以自行设计,自行设计可参考本书附录提供的原理图、PCB板图和元器件清单。
3.2IAREmbeddedWorkbench简介
IAREmbeddedWorkbench是一种用于开发应用各种不同的目标处理器的灵活的集成环境。
它提供一个方便的窗口界面用于迅速的开发和调试。
EmbeddedWorkbench支持多种不同的目标处理器,使用项目模式组织应用程序。
它有如下一些特点。
(1)通用性
a)可以在Windows环境下运行;
b)分层的项目(Project)表示;
c)直观的用户界面;
d)工具与编辑器全集成;
e)全面的超文本帮助。
(2)编辑器
a)可以同时编辑汇编和C语言源文件;
b)编辑汇编和C语言程序的句法用文本格式和颜色区别显示;
c)强有力的搜索和置换命令,而且可以多个文件搜索;
d)从出错列表直接跳转到出错的相关文件的相关语句;
e)可以设置在出错语句前标志;
f)圆括号匹配;
g)自动缩进,可以设置自动缩进的空格;
h)每个窗口的多级取消与恢复。
1IAREmbeddedWorkbench安装
在Windows环境下,双击FET_R445.EXE,安装过程中使用默认值。
有两种方式进入IAREmbeddedWorkbench开发环境:
(1)在Windows环境下依次单击“开始”、“程序”、“IARSystems”、“EmbeddedWorkbenchforMSP430V3”、“IAREmbeddedWorkbench”。
注意:
IAREmbeddedWorkbench安装完成之后必须重新启动计算机,否则会导致程序编译的异常。
(2)双击IAREmbeddedWorkbench图标
。
进入嵌入式工作台软件环境后,可以进行程序的编辑、项目的管理、编译及连接工作。
2IAREmbeddedWorkbench使用指南
第一次使用程序编写调试一般需要经过创建工作站、创建并保存工程、创建或加载源文件、保存工作站、设置工作环境(目标芯片、调试方式、仿真器接口类型、工程编译连接和调试七个步骤。
第一步,创建新工作站。
打开IAREmbeddedWorkbench。
单击:
“开始”、“程序”、IARSystems、IAREmbeddedWorkbenchForMSP430V3,自动创建一个新的工作站,出现如2.2所示的界面。
图2.2第一次进入EmbeddedWorkbench
界面提示如下:
Createnewprojectincurrentworkspace:
在新工作站中创建新的工程。
Addexistingprojecttocurrentworkspace:
添加已经存在的工程到当前的工作站中。
Openexistingworkspace:
打开已经存在的工作站。
Exampleworkspace:
打开示例工作站。
根据您的具体情况选择上述4个选项之一。
第二步,创建并保存工程。
单击选项中Createnewprojectinnewworkbench。
出现图2.3界面。
图2.3创建新工程
选择工程类型(Emptyproject、asm、C、C++或xternallybuiltexecutable),若选择的工程类型为Emptyproject,单击“OK”按钮,出现图2.4界面,选择保存路径,同时输入工程文件名(如test),单击保存,一个工程就建立完成了。
图2.4保存新工程
第三步,创建或加载源文件
(1)创建源程序。
单击File,New,File(如图2.5所示)或按快捷键Ctrl+N,出现如图2.4所示的源程序编辑界面。
图2.5创建源程序
图2.6编写源程序
将1.3.4中例子P1端口输出高电平源程序输入编辑窗,结果如图2.6。
编辑过程要注意标点应为英文。
程序代码如下:
ORG1100H;以下指令机器码存储在1100开始的连续存储单元
MOV.B#0FFH,&22H;P1方向寄存器P1DIR切换为输出
MOV.B#0FFH,&21H;P1输出寄存器设为全1,引脚输出高电平
ORG0FFFEH;以下指令机器码存储在0FFFEH开始的连续存储单元
DW1100H;在0FFFEH单元写入1100H
;对MSP430F149而言存储器FFFEH单元
;存储的是第一条指令的地址号
END
伪指令ORG,只在汇编时有用,汇编成的目标程序中就没有了。
在MSP430F149中汇编程序中ORGxxxxH表示下面紧接的一句汇编指令后放在地址xxxxH。
如上述代码第一条指令ORG01100H,表示目标代码43F20022(MOV.B#0FFH,&022H)等顺序存放在地址单元号为1100H开始的存储器单元中,直到遇上另一个ORG语句为止。
程序中DW是伪指令,它的作用是告汇编器在生成目标程序时,在DW当前地址上写入DW后面跟的数据,数据宽度为一个字,本段程序中DW1100H,即在ORG0FFFEH指定的地址单元0FFFFH中写入1100H。
源程序编辑好之后,保存源文件。
单击工具条的保存或文件菜单(File中的Save)出现如图2.7界面,“保存在框”中选择好文件路径目录,“文件类型”框中填入430P1.s43。
注意不要忘记写上文件名后缀.s43,否则第③步添加源程序时无法找到需要的文件。
s43是430汇编语言的源文件扩展名。
图2.5保存源文件
注意,此时源程序虽然编辑完成,但仅仅是一个孤立的文件,不能进行编译、连接操作。
下面需将它加载到工程中进行管理,以便编译、连接生成目标代码。
(2)加载源文件。
点击菜单Project,Addfiles…出现图2.6所示加载源文件界面。
选择相应的文件类型(此处选择汇编程序),出现相应的文件,选中需要加载的文件后,点击“打开”按钮。
源文件加载完成后,出现如图2.7所示界面,在工程Test下出现430P1.s43和Output子目录。
图2.6加载源文件
图2.7源文件加载完成
第四步保存工作站
依次点击File,SaveWorkspace出现如图2.8所示界面,输入文件名TestWorkspace,点击“保存”。
保存工作站工作完成。
图2.8保存工作站
第五步编译环境设置
选中项目名称(test)后,单击鼠标右键,如图2.9所示。
从快捷菜单中选择Options进入图2.10所示参数设置界面。
环境设置需要设置目标芯片类型、仿真方式、仿真器类型等参数。
图2.9进入环境设置
(1)目标芯片设置,即选择需要调试的单片机型号。
在如图2.10设置界面中,从左边Category列表下选择GeneralOptions,在Target页的Device选项中选择目标芯片型号,本例选择MSP430F149。
如果是新建工程且只使用汇编语言需将Assembleronlyproject选中。
否则会出现默认C语言,连接时会出错。
图2.10目标芯片设置
(2)仿真方式设置。
设置软件模拟仿真或FET在线仿真调试。
在ategory列表下选择Debugger如图2.11界面,在Driver选项中选择FETDebugger或Simulator。
单使用FET仿真器连接目标板进行在线仿真调试时,选择FETDebugger,软件模拟仿真则选择Simulator。
图2.11仿真方式设置
(3)仿真器接口类型设置。
设置并口FET或USBFET。
若选择TETDebugger,最后需进入Category列表下选择FETDebugger,出现如图2.12界面,在Connection选择项中有三个可选项,单使用并口FET时,选择Lpt,同时根据连接并口的实际情况选择相应的并口Lpt1,Lpt2或Lpt3;若使用USB型仿真器,则选择TIUSEFET。
设置正确后单击“OK”按钮,完成环境设置。
图2.11仿真器类型设置
第六步工程编译和连接,调试。
工程编译,连接,调试通过选择菜单Project下的Compile/Make/Debug,或点击图2.12界面右上方的快捷按钮完成。
图2.12编辑编译连接环境界面
(1)工程编译和修改源程序。
在左侧工程管理选中源文件430P1.s43文件,双击鼠标左键,进入源程序编辑状态。
编译图标
有灰变黑,激活编译功能,此时单击Project,compile或单击Ctrl+F7键,或单击
按钮进行文件编译。
出现如图2.13下部分所示的错误提示,出错行前标注红色“√”。
图2.13汇编之后产生的错误
任意单击某一个错误提示,系统就会自动的跳到有错误的语句行。
仔细阅读错误提示,发现该行“;”不是英文符号。
修改后编译通过。
(2)连接生成目标代码。
源文件编译通过之后,将连接生成目标代码。
通过单击Project,Make,或按F7键,或单击
按钮,进行连接。
(3)调试。
在的程序通过了连接,生成目标代码之后。
通过单击Project,Debugger,或按Ctrl+F7键,或单击
按钮可以进入如图2.14所示的调试集成环境。
该环境在原编辑编译环境的基础上,工具栏增加了如图2.15所示的调试快捷按钮。
图2.14调试环境简介
图2.15调试快捷按钮
下面介绍一些常用的调试窗口。
所有的窗口通过单击菜单View下相应的内容来激活显示,通过单击窗口右上角“×”来关闭。
(1)存储器窗口
如图2.16所示为存储器窗口。
单击View/Memory,可以打开此窗口。
MSP430的存储器为线性统一编址,小模式下存储器地址范围为0000H~0FFFFH。
此窗口可以观察其存储器的全部内容。
单击显示模式设置下拉列表可以设置显示格式:
1xUnits:
8位(单字节)显示、2xUnits:
16位(双字节)显示4xUnits:
32位(四字节)显示,LittleEndean:
高位在前BigEndean:
低位在前。
图2.16中我们可以看到左边一列为地址号码,每行16个单元,中间部分为存储内容(机器代码或数据)。
图2.16上半图中第一行为地址编号从1100H-1107H单元的内容,即43f20022(MOV.B0FFH,&22H),43f20021(MOV.B0FFH,&21H)。
注意指令按16位形式存放,高位在前,也就是说1100H单元存放f2、1101H单元存放43、1102H单元存放22、1103H单元存放00等等,其他没有存储内容空间全为FFFF。
从图2.16下半图我们可以看见FFFEH-FFFFH单元存放1100,FFFEH-FFFFH单元的存放MSP430F149上电复、复位后的第一条指令的地址,因此单片机启动后将从1100H单元开始取指。
图2.16存储器窗口
(2)源程序窗口
源程序窗口通常处于激活状态,若已经关闭可以通过双工程管理器中相应的源文件来激活。
如图2.23左侧所示。
窗口中的绿色指示为即将执行的指令语句条。
随着程序的运行,此绿色指示条会改变,指向即将执行的语句。
图2.17源程序窗口
(3)反汇编窗口
单击View/Disassembly,则可以观察到如图2.18所示的地址-代码-源程序窗口。
此时的绿色指示条指示在具体的物理地址处,其上一行显示显示源程序,从该窗口可以看出每一条指令都开始于偶地址处。
图2.18源程序/代码窗口
(4)寄存器窗口
单击View/Register可以打开如图2.19所示的寄存器窗口。
通过下拉列表可以选择不同模块类型的寄存器。
选择CPURegisters打开如图2.20所示窗口。
可以方便查看PC(程序计数器)、SP(堆栈指针)、SR(状态寄存器的各位名称与对应位的值);R3为常数发生器,模拟指令使用,这里用户看不到;R4~R15给用户使用,可以查看与修改;CYCLECOUNT为程序执行所用的机器周期,通过它可以方便地知道执行代码的时间,在延时程序中经常会用到。
图2.19寄存器窗口
图2.19CPU寄存器窗口
(5)观察窗口
单击View/Watch,可以打开如图2.20所示的变量观察窗口。
窗口第1列是变量名称,第2列变量的数值,第3列是位置,第4列是类型。
图中已经有3个变量,要添加其他变量,可以在下面的虚线框内右击,再单击Add,然后输入变量名称;或直接在源程序中要观察的变量处右击,再击QuickWatch。
观察窗口中不想查看的变量名称可以方便的删除,在不想查看的变量处右击,单击Remove。
选中相应变量第2列,单击右键可以将显示格式设置为2进制、8进制10进制16进制、字符的形式。
图2.20观察窗口
三、实验设备
名称
指标
数量
微机
1台
双踪同步示波器
40MHz
1台
JTAG下载器(带并口下载线)
1套
MSP430系统最小板
1个
万用表
1个
工具
1盒
四、实验内容
1参照IAREmbeddedWorkbench开发环境学习MSP430开发环境。
(1)按照讲义的步骤学习MSP430程序编写和调试的方法,并记录相关的数据。
(2)观察并记录SR寄存器在POR和PUC之后的初始值,填写下表:
15~9
V
SCG1
SCG0
CPUOff
GIE
N
Z
C
POR
PUC
2学习MSP430汇编语言和C语言编程的方法。
(1)用汇编语言编写程序,实现二进制转为BCD码,列出程序并记录测试数据和结果
(2)用C编写程序,实现二进制转为BCD码,列出程序并记录测试数据和结果
(3)用汇编语言编写程序,实现BCD码转为二级制,列出程序并记录测试数据和结果(选做)
(4)用C编写程序,实现BCD码转为二进制,列出程序并记录测试数据和结果(选做)
五、实验报告要求
1根据实验讲义学习IAR开发环境,并记录学习过程中出现的问题及解决办法。
2记录实验数据,填写实验表格。
3附上实验程序及其测试数据和结果(每个程序至少测试3组数据)。