第3讲 MSP430学习和调试系统的软件环境( 下)
・张俊谟・
3.高级语言交互式调试器(C-SPY)⑴高级语言交互式调试器(C-SPY)的工作模式和启动 高级语言交互式调试器(C-SPY)的工作方式有三种:
①模拟方式(Simulation) 。 在这种方式下,目标系统的工作过程由调试主机以软件模拟的方式来实现,用户可以通过各种不同的窗口来观察调试程序的运行过程,即在目标硬件系统产生之前,验证程序的设计思想和程序结构。
②仿真方式(Emulation)。在这种方式下,目标硬件系统通过JTAG接口与调试主机连接起来,使整个调试过程在目标硬件系统的真实运行下进行,不仅可以验证程序的设计思想和程序结构,还可以实际判断目标系统的硬件设计,调试完成后产生的程序代码可以在最终的目标系统上运行。
③ROM-Monitor方式。 这种方式是采用调试主机通过RS-232接口联机的方法进行调试,并要求将调试程序暂时存入RAM中。这种方式使用较少。启动高级语言交互式调试器(C-SPY)必须在设计的程序通过了Make(编译、汇编、连接),生成目标代码之后。进入C-SPY调试环境的方法有三种:
a.在Embedded Workbench环境下,在Project中,单击Debugger;
b.在Embedded Workbench环境下,在项目栏中,单击
快捷按钮;
c.在Windows环境下,依次单击“开始”“、程序”、IAR Systems、IAR EmbeddedWorkbench For MSP430 Kickstart、IARCSPY debugger。
⑵高级语言交互式调试器(C-SPY)概述 嵌入式调试环境中的主菜单如图12所示。主菜单中的各项分述如下:
①File(文件)菜单。打开和关闭文件,记录输入及输出,退出C-SPY。
② Edit(编辑)菜单。在源代码窗口进行编辑。
图12
③ View(视图)菜单。允许用户选择当前显示的C-SPY内含的窗口。当已经通过File菜单调入已经编译的.d43文件后,其下拉菜单如图13。
图15
图16
图13
View(视图)菜单可以对窗口中的各个工具栏进行打开和关闭控制,包括Toolbar(工具栏)、Debug Bar(调试栏)、Source Bar(源码栏)、Memory Bar(存储器栏)等,如果相应的工具栏打开,可以直接用鼠标点工具栏中的按钮运行相应功能,为调试程序提供方便。图14是已经打开的
图17
图14
Toolbar(工具栏)。
Toolbar(工具栏)可打开以下窗口:调用窗口(Calls)如图15;存储器窗口(Memary)如图16;寄存器窗口(Register)如图17;监视窗口(Watch)如图18。在存储器窗口中,能以8、16、32位方式显示内存的内容,可以观察MSP430存储器的全部内容,双击任意内存地址,
图18
可对这一地址进行赋值。
用户可以在寄存器窗口(Register)中显示处理器的寄存器的内容。Register窗口允许用户修改任一寄存器的内容,在修改后,寄存器的内容自动更新。
用户可以在监视窗口(Watch)查看
・29・电子世界2004年6期
单片机与可编程器件变量的数值,左边是变量名称,右边是变量的数值。查看的变量个数可以很容易地增减。④运行(Execute)菜单 。执行和调试源代码,大部份命令可通过点击调试栏内的按钮执行。其下拉菜单如图19,调进行控制和排列。其下拉菜单如图23。在这里,除了编辑工具栏中可打开的几个常用窗口之外,还能打开源文件窗口(Source)、局部变量窗口(Locals)、报告窗口(Report)、特殊功能寄存器窗口(SFR)及I/O终端窗口(Terminal I/O)等。其中源文件窗口(如图24)是调试程序必不可少的,在进入C-SPY调试环境时,该口是默认打开的。若因某种原因关闭了,可以在Window菜单中,点击“Source”打开它。在源文件窗口中,突出显示的是即将执行的指令或语句。点击调试工具栏中的“图19图21”按钮还可以在“C语言”和图22试工具栏如图20,表2为调试工具功能说明。“汇编语言”之间进行切换,以进行C语言级和汇编语言级的交互式调试。C语言级调试时能显示源程序。用户可以每次执行一条C语句,同时监视C变量和结构型数据的值。汇编语言级调试时显示用户程序的汇编语言程序清单,允许用户每次执行一条汇编指令。在调试时,用户可以显示寄存器和内存的内容,并可对它们进行修改。C语言级调试使用户可以用最快和最方便的方法调试应用程序中不太紧急的部分,而不必关心编译器如何将C代码转换成MSP430汇编指令的。而汇编语言级调试则使用户可以集中注意力于应用程序的关键部分,使用户能对仿真调试的硬件进行精确的控制。⑧Help(帮助)菜单。提供此图20图23面。点击File>new>project,点击“确定”,进入如图25所示界面。到您所需的路径并输入项目文件名(*.prj),然后点击图24⑤控制(Control)菜单 。允许用户定义断点,改变内存映射。其下拉菜单如图21。表3为断点运行功能说明。⑥Options(选项)菜单。为C-SPY环境配置各项参数,执行宏。其下拉菜单如图22。⑦Window(窗口)菜单。允许用户选择或打开C-SPY的各类窗口,对它们工作环境的帮助。4.嵌入式工作平台(Embedded Workbench)和高级语言交互式调试器(C-SPY)的操作(1) 项目文件和源文件的建立 启动IAR编译软件进入IAR Embedded Workbench 界图25・30・电子世界2004年6期
单片机与可编程器件Embedded Workbench 界面的主菜单Projiec>Option>,如图28。选择General项下的“Target”页,选目标系统CPU含有硬件乘法器。②ICC430项的设置。选择ICC430项下的Debug页,在Generate debugIinformat选项前打“√”并选File Rreferen 选项,如图29。 ③A430项的设置。与ICC430项相同,在A430项下的Debug页,在Generatedebug Iinformat选项前打“√”并选File Rreferen 选项。④XLINK项的设置。图27图31图26图30选择XLINK,再选择右边“include”, 在“XCL filename 选项中“Overridedefault”上打“√”,如图30。通过右边的浏览选项,在IAR所在安装路径进入IAR SYSTEM>EW23>430>ICC430选择MSP430F449A,尾缀A代表汇编,C代表C语言,这里调试汇编语言,如图31。⑤C-SPY项的设置。选择C-SPY,再选择右边Driver 为 “Flash EmulationTool”,在“use description” 前打“√”,如图32。通过右边的浏览选项,在IAR所在安装路径进入IAR SYSTEM>EW23>430>cw43选择MSP430F449,如图33。在以上各项设置完成之后,点击OK退出。(4)源程序编译和下载①源程序编译。在IAR EmbeddedWorkbench界面,用鼠标点击主菜单Project下的compile和build all ,如正确会出现如图34所示界面。其中,编译(compile)结果显示界面如图35,全部构建(buildall)界面如图36,build all结果如图37。如有错误,按错误信息回到IAR图28图32图33图29create出现如图26所示界面。(2)源程序(*.S43/*.C)的加载 点击主菜单Project>files 选项,从源程序所在路径选择源程序(*.S43/*.C),点击ADD加载,然后退出,如图27。(3)工作环境的设置①General项的设置。进入IAR图34Embedded Workbench界面重新修改程序,再编译直到出现图38的结果。・31・电子世界2004年6期
单片机与可编程器件用PIC单片机设计可调时间的抢答器
・阿城继电器集团公司 许世芬 黄树波・
摘要:应用Microchip公司的PIC单片机作为核心元件设计六路可调时间的抢答器,并详细阐述了硬件和软件的设计过程。
本文介绍了一种利用PIC单片机制作的可调时间的抢答器。
1.抢答器的整体设计思路以六路抢答器为例,每人要有一个抢答按钮、一个记分牌(数码显示器)以及抢答指示灯。抢答者抢到题后其指示灯应点亮并有提示音,同时闭锁其他抢答者的按键;由于答题不同,答题时间应可调;抢答者答题时间到应有提示音;根据回答问题的不同,加、减分数也应可调,最好伴有相应的音乐;在抢答过程中如出现故障掉电,重新上电后应保留各答题者的得分以便继续进行抢答。
2.抢答器的具体功能与操作方法通过上面的分析,笔者利用PIC单片机设计了一种完全可以实现上述功能的抢答器。其具体的功能与操作方法如下:
装置(指抢答器)上电后,判断是否是故障断电。如果是故障掉电,则恢复到掉电前的状态;如不是故障掉电,则装置进行初始化,通过按NJ1键给每位参赛选手赋1000分。利用控制键K1判断是进入
抢答状态还是必答题状态。这也是本抢
答器很实用的一个附加功能。
如K1键闭合进入抢答状态,任意抢答者抢到题后其指示灯点亮并伴有提示音,同时屏蔽了其他抢答者的按键。根据计时挡开关KK1的开合位置判断是否要抢答后立即开始计时,还是人工启动计时开关。KK1的开合状态与时间关系的真值表见表1。答题时间结束后提示音响起。根据答题的正确与否来给答题者进行相应的加、减分。回答正确按加分键,每按一次累加一个设定好的分数值;回答错误按同样方法作减分处理。加、减分都有不同的音乐响起。加、减的分值是由分数挡控制键KK2来控制的,其真值表
把答题者的分数储存起来,并消除其他
抢答者按键的屏蔽回到抢答状态。
如K1键断开进入必答题状态,则由控制台控制点亮相应答题者的指示灯,但没有抢答时的提示音(通过编写不同的软件,与抢答题区别开);但加、减分数有相应的音乐,也是按确认键NJ4存储答题者的分数并回到必答题状态。
3.硬件设计
根据上面介绍可知,要想完成上面复杂的功能,单片机必须有足够的I/O口。普通的单片机I/O口较少需要扩展,这样硬件电路又比较烦琐。本系统选用了PIC16F877型单片机,是因为它具有33个双向可独立编程设置的I/O口,且每个I/O口的最大拉电流20mA,最大灌电流为
见表2。加、减完分数后按确认键NJ4来
②源程序下载。在
IAR EmbeddedWorkbench界面,用鼠标点击主菜单 Project下的Debugger下载程序,如下载正常会出现如图38所
图35
示的界面,就可以进行仿真。
如出现错误,需查找问题所在,解决问题、编译、下载直到出现图38的结果。(5)仿真调试。 在如图38所示界面,可以设置断点、观察变量、单步等,如有修改源程序,再重新回到步骤4,重复步骤4和5,直到程序调试无误。◆
图36
图38
・32・
电子世界2004年6期
因篇幅问题不能全部显示,请点此查看更多更全内容