自控1202张宁科1217014057-毕业论文 - 图文(6)

2019-03-11 13:44

陕西理工学院毕业设计

(该值由辨识器自动生成)。这样就可以根据这个单元的值来判断是否经过训练。

什么已经训练过的系统在重新运行时还要进行模型装载? 在首次训练完成之后,辨识器中保存着训练的模型,但是系统一旦复位辨识器中的模型就会丢失,所以在重新运行时必须把存储在Flash中的语音模型装载到辨识器(RAM)中去。

转弯时为什么前轮要先做一个反方向的摆动? 这是为了克服车体的限制,由于前轮电机的驱动能力有限,有时会出现前轮偏转不到位的情况,所以在转弯前首先让前轮朝反方向摆动,然后再朝目标方向摆动。这样前轮的摆动范围更大,惯性更大,摆幅也最大,能更好实现转弯。

第 19 页 共 51 页

陕西理工学院毕业设计

5 系统调试

5.1 软件调试环境

μ’nSP? 集成开发环境,它集程序的编辑、编译、链接、调试以及仿真等功能为一体。具有友好的交互界面、下拉菜单、快捷键和快速访问命令列表等,使人们的编程、调试工作更加方便且高效。此外,它的软件仿真功能可以在不连接仿真板的情况下模拟硬件的各项功能来调试程序。

IDE 的调试界面如图5.1所示。本章将介绍 μ’nSP?开发环境的菜单、窗口界面以及项

[15]

目的操作等,使有兴趣者对开发环境有一个总体了解,并能够动手实践。

图5.1调试环境界面

凌阳十六位单片机集开发环境采用项目方式进行文件管理。项目(Project)是指为用户调程建立起来的一个开发环境,提供用户程序及资源文档的编辑和管理,并提供各项环境要素的设置途径,最后将通过对用户程序及库的编制(包括编译、汇编以及链接等)提供出一个良好的调试环境,输出窗口调试信息界面如图5.2所示。

图5.2 输出窗口调试信息界面

凌阳十六位单片机集开发环境的工具栏其中含有μ’nSP? IDE提供了3种工具栏,包括标准、编辑和调试。每种工具栏都有固定和浮动两种形式。把鼠标移到固定形式工具栏中没有图标的地方,按住左按钮,向下拖动鼠标,即可把工具栏变为浮动的;而双击浮动工具栏的标题条,则可变为固定工具栏。

固定形式的标准工具栏位于菜单栏的下面,它以图标的形式提供了部分常用菜单命令的功能。只要用鼠标单击代表某个命令的图标按钮,就能直接执行相应的菜单命令。工具

[4]

条中有38个图标,代表38种操作,如图5.3所示。

第 20 页 共 51 页

陕西理工学院毕业设计

图5.3 工具栏

新建项目的方法。

(1)用鼠标左键单击File下拉菜单New 弹出New对话框,如图5.4所示。

(2) 在该窗口中选中Project标签并在File的文本框中键入项目的名称,在Location 下的文本框中输入项目的存取路径或利用该文本框右端的浏览按钮制定项目的存储位置。

(3) 用鼠标左键单击New对话框里的OK按钮,则项目建立完成。

图 5.4新建项目界面

5.2硬体开发工具

u'nSP?部分产品均内置有在线仿真接口,即 ICE(In-Chip-Emulator)接口。该接口方式适用于内部ROM存储空间为闪存的(FLASH)。该种产品硬体开发工具较为简单。只需要一个在线调试器(PROBE)既可以完成。PROBE既是一个编程器(即程序烧写器),又是一个实时在线调试器。用它可以替代在单片机应用项目的开发过程中常用的软件工具——硬件在线实时仿真器和程序烧写器。

PROBE 工作于凌阳集成开发环境软件包下,其5芯的仿真头直接连接到目标电路板上单片机相应管脚,来调试、运行用户编制的程序。PROBE 的另一头是标准 25 针打印机接口,直接连接到计算机打印口与上位机通讯,在计算机 IDE 集成开发环境软件包下,完成在线调试功能。图5.5是计算机、PROBE、用户目标板三者之间的连接示意图。

第 21 页 共 51 页

陕西理工学院毕业设计

图5.5计算机、PROBE、用户目标板三者之间的连接示意图

5.3程序调试

5.3.1μ'nSP IDE的项目组织结构

新建项目包括三类文件:源文件(Source files)、头文件(Head files)和用来存放文档或项目说明的文件(External Dependencies)其组织结构。这种项目管理的方式,会把与项目相关的代码模块组织为一个有机的整体,便于开发人员对其代码以及相关文件文档的管

[6]

理。在表5.6中,详细描述了一个新建项目后自动产生的各种文件。

从编写调试代码的角度来看,需要反复提出的有如下一些重要的设置。 路径的设置:菜单tools>>option?>>Directiories。

链接库函数的加载:菜单Project>>Setting?>>Link,可以加载应用函数库。 虽然在头文件夹下面加入了所需的头文件,但是在汇编文件和C文件中仍需用伪指令把它包含到自己的文件中。μ'nSP 集成开发系统提供了SPCE061A的寄存器定义的汇编头文件以及C语言的头文件。当我们对单片机设置时,要把这些头文件添加到项目文件中。

表5.6 μ'nSP IDE新建项目的结果

自动生成文件

名称

项目文件 资源文件 资源表 资源表头文件 MAKE文件

文件名或文件扩展名 .scs .rc Resource.asm Resource.inc Makefile

包含信息 当前项目中源文件的信息 当前项目中资源文件的信息

当前项目中重新编辑文件信息

File视窗建立元组

用于存放源文件,

Source FIles

Head Files

External Depencies

经编译生成扩展名为.obj的目标文件 用于存放头文件,通常是一些要包含在源文件中的接口 用来存放文档记录或项目说明等文件

Resource视窗建立Resource元组

用来存放项目的资源文件

μ'nSP?单片机的汇编指令针对 C 语言进行了优化,所以其汇编的指令格式很多地方直接类似于 C 语言。另外其开发仿真环境 IDE 也直接提供了 C 语言的开发环境,C函数和汇编函数可以方便地进行相互调用,详细方法在本章节中将详细介绍。

是否具有对高级语言 HLL(High Level Language)的支持已成为衡量微控制器性能的标准之一。显然,在 HLL 平台上要比在汇编级上编程具有诸多优势:代码清晰易读、易维护,易形成模块化,便于重复使用从而增加代码的开发效率。

HLL 中又因 C 语言的可移植性最佳而成为首选。因此,支持C语言几乎是所有微控制器设计的一项基本要求。'nSP?指令结构的设计就着重考虑了对C语言的支持,GCC 是一种针对’nSP? 操作平台的 ANSI-C 编译器。

第 22 页 共 51 页

陕西理工学院毕业设计

5.3.2汇编语言程序调试

C的编译器GCC 把C语言代码编译为汇编代码。汇编编译器 Xasm16对汇编代码进行编译成为目标文件。链接器将目标文件、库函数模块、资源文件连接为整体形成一个可在芯片上运行的可执行文件。μ'nSP?的汇编指令只有单字和双字两种,其结构紧凑,且最大限度地考虑了对高级语言中C语言的支持。另外,在需要寻址的各类指令中的每一个指令都可通过与6种寻址方式的组合而形成一个指令子集,目的是为增强指令应用的灵活性和实用性。

而算逻运算类指令中的16位×16位的乘法运算指令(Mul)和内积运算指令(Muls),又提供了对数字信号处理应用的支持。此外,复合式的「移位算逻操作」指令允许操作数在经过ALU的算逻操作前可先由移位器进行各种移位处理,然后再经ALU的算逻运算操作。灵活、高效是μ'nSP?指令系统的显著特点。

数制、数据类型与参数

μ'nSP?的汇编器将十进制作为缺省数制。十六进制数可用符号“0x”或“$”作为前缀,或用符号“H”

作为后缀。对于其它数制的后缀可见表 5.7中所列。

表5.7 μ’nSP?的数制及其后缀规定

数制 二进制 八进制 十进制 十六进制 ASCII字符串

μ'nSP?汇编指令中所用的基本数据类型为字型,在此基础之上发展的一些数据类型与字型一起列在表 5.8中。

表 5.8 μ’nSP?汇编指令中的数据类型 数据类型 字长度(位数) 无符号数值域 有符号数值域 字型(DW) 双字型(DD) 单精度浮点型(FLOAT) 双精度浮点型(DOUBLE) 64 无 16 32 32 0~65535 0~4294967295 无 -32768~+32767 -2147483648~+2147483647 以 IEEE 格式表示的 32 位浮点数 以 IEEE 格式表示的 64 位浮点数 后缀 B O D或不写

H

用双引号或单引号括起

汇编指令中的参数可以是常数或表达式。常数参数基本有数值型和字符串型两种。数值

型参数将按当前数值的数制进行处理(缺省为 10 进制)。如果用户强调参数用某一种数制,则必须给数值加必要的前缀或后缀来表示清楚。

地址表达式与标号

修饰符 SEG 与 OFFSET 常常应用在计算表的地址。例如有如下一张 1 到 10 的平方表,在编译链接过程中,链接器将自动在将以上 10 个数据放在程序存储区内,并且Square_Table 就代表了此 10 个连续数据的起始 22 位的起始地址。那么 “ SEG Square_Table”就代表了 22 位地址的高 6 位,而“OFFSET Square_Table”则代表了22 位地址的低 16 位。

SPCE061A 只有 32kword 的程序存储空间,所以其高 6 位的地址一定为 0。如果上面的 1 到 10 的平方表应用在 SPCE061A 中,那么常量 Square_Table 与常量 OFFSET Square_Table 的值是相等的。

我们想通过标号要得到一段程序代码或表的实际的物理地址时,往往需要 SEG 和 OFFSET 这样的修饰符。

μ'nSP?汇编语言程序中所有标号的定义都是字母大小写区分的。全局标号原则上可以

第 23 页 共 51 页


自控1202张宁科1217014057-毕业论文 - 图文(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2018-2019年高考备考:2018届江苏省高考英语零模(摸底考试)试卷

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: