《DSP原理与应用》实验指导书

上传人:人*** 文档编号:496408956 上传时间:2022-09-19 格式:DOC 页数:29 大小:1.42MB
返回 下载 相关 举报
《DSP原理与应用》实验指导书_第1页
第1页 / 共29页
《DSP原理与应用》实验指导书_第2页
第2页 / 共29页
《DSP原理与应用》实验指导书_第3页
第3页 / 共29页
《DSP原理与应用》实验指导书_第4页
第4页 / 共29页
《DSP原理与应用》实验指导书_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《《DSP原理与应用》实验指导书》由会员分享,可在线阅读,更多相关《《DSP原理与应用》实验指导书(29页珍藏版)》请在金锄头文库上搜索。

1、2013春季学期“DSP原理与应用”实验教学资料实验一 CCS集成环境的熟悉 -2学时实验二 算术运算与数据操作的汇编语言程序设计-2学时实验三 信号发生器设计 -2学时实验四 IIR滤波器的DSP实现 -2学时实验五 FIR滤波器的DSP实现 -2学时实验六 FFT的DSP实现 -2学时实验一CCS集成开发环境的熟悉一、实验内容及步骤通过编写程序计算y=x1+x2+x3+x4+x5练习CCS 2 (C5000)的使用。1在D盘或E盘建立一个自己的文件夹, 如e:05136101,该文件夹用英文或数字命名。后面所有与实验内容有关的工程与程序都在此文件夹下保存或操作。2运行CCS 2(C5000

2、)进入CCS集成开发环境。以下操作如无特殊声明一般都在此环境下操作。3新建工程。点击主菜单Project-New,会出现图1-1所示的Project Creation对话框。图1-1参照图1-1按如下顺序进行设置或操作: Location:e:05136101 Project:example2 点击完成按钮即可。4新建并保存主程序文件、链接命令文件和中断向量表文件。本次实验三个文件的参考名称为:主程序文件example2.asm、链接命令文件example2.cmd、中断向量表文件vectors.asm。点击菜单File-New-Source File打开文本编辑窗口Untitled1,如图1

3、-2。用菜单File-Save功能将其保存到e:05136101example2中,其中文件名称为example2,保存类型为*.asm,如图1-3。用同样的方法新建并保存文件example2.cmd和vectors.asm。图1-3图1-25为新建工程添加主程序文件、中断向量表文件和链接命令文件。在工程管理器中(图1-2中的红色方框处)右键单击example2.pjt,选择Add Files to Project,在出现的如图1-4所示的Add Files to Project对话框中查找并选中刚才建立的三个文件example2.asm,example2.cmd,vectors.asm,点击

4、打开按钮将它们一起添加到该工程中去。图1-46编写主程序文件。单击工程管理器中的工程example2.pjt左边的+号展开example2.pjt工程,再单击文件夹Source左边的+号,如图1-5。找到并双击example2.asm ,在界面右边出现的example2.asm文本编辑窗口中输入或复制主程序(注释部分可不输入)。文件内容如下:图1-5*计算y=x1+x2+x3+x4+x5的程序*.title example2.asm ;伪指令。用于格式化输出清单文件,声明在每页的顶部打印文件标题.mmregs ;伪指令。声明CPU寄存器名称STACK .usect STACK,10H ;伪指令

5、。自定义未初始化段STACK及大小(10H个字),最左边的STACK是标号.bss x,5 ;伪指令。声明数组x,5个字.bss y,1 ;伪指令。声明变量y,1个字.def start ;伪指令。声明本文件中的标号start能被别的文件(程序)引用.data ;伪指令,指示下面的代码为数据段,通常包含初始化的数据(常数)。 table: .word 10,20,3,4,5 ;伪指令。声明5个16位整数类型的常数。table是标号。.text ;伪指令,指示下面的代码为文本段,通常包含可执行的代码。 start:STM #0,SWWSR ; SWWSR=0,插入0个等待状态。start是标号。

6、STM #STACK+10H,sp ;sp=#STACK+10H,设置堆栈指针指向堆栈段的底部STM #x,AR1 ;AR1=#x或AR1指向数组xRPT #4 ;下一条指令重复执行4+1=5次MVPD table,*AR1+ ;数据传送。程序存储器中的table数据表AR1+指向的数据存储器LD #0,A;累加器A清零CALL SUM;调用求和子程序SUMend: B end ;无条件转移到标号end所在地方执行程序SUM: ;标号,指示求和子程序SUM从这里开始STM #x,AR3;AR3指向数组xSTM #4,AR2;AR2=4loop: ADD *AR3+,A ;*AR3+AA,然后A

7、R3= AR3+1。 loop是标号。BANZ loop,*AR2-;如果AR2的值不为0, AR2= AR2-1,跳转到loop处执行;否则执行下一条指令STL A,*(y) ; y=ALRET ;子程序返回.end ;伪指令。指示汇编结束7)编写链接命令文件。在工程管理器中双击example2.pjt工程中的example2.cmd ,将出现example2.cmd文本编辑窗口。在该文本编辑窗口中输入或复制文件内容。文件内容如下:vectors.obj/*声明要链接的文件-中断向量表文件的目标文件*/ example2.obj/*声明要链接的文件-主程序文件的目标文件*/ -o examp

8、le2.out/*声明链接产生的可执行文件名称,默认为a.out */ -m example2.map/*声明链接产生的存储器映射文件*/ -estart/*声明主程序入口*/MEMORY /*关键字加一对,存储器配置*/PAGE 0: /*程序存储区*/ EPROM:org=0090H len=0F70H/*定义EPROM区,起始地址0090H,长度0F70H*/ VECS: org=0080H len=0010H/*定义VECS区,起始地址0080H,长度0010H*/PAGE 1: /*数据存储区*/ SPRAM:org=1000H len=1000H /*定义SPRAM区,起始地址10

9、00H,长度1000H*/ DARAM:org=2000H len=2000H /*定义DARAM区,起始地址2000H,长度2000H*/SECTIONS /*关键字加一对,定位段*/.text :EPROM PAGE 0/*将.text段映射或定位到PAGE0的EPROM区*/.data :EPROM PAGE 0/*将.text段映射或定位到PAGE0的EPROM区*/.bss :SPRAM PAGE 1/*将.text段映射或定位到PAGE1的SPRAM区*/STACK :DARAM PAGE 1/*将.text段映射或定位到PAGE1的DARAM区*/.vectors :VECS P

10、AGE 0 /*将.vectors段映射或定位到PAGE0的VECS区*/8编写中断向量表文件。在工程管理器中双击example2.pjt工程中的vectors.asm ,将出现vectors.asm文本编辑窗口。在该文本编辑窗口中输入或复制文件内容。文件内容如下:.title vectors.asm.refstart ;伪指令。声明要引用其他程序中定义的标号start.sect .vectors ;伪指令。定义初始化的段名.vectors,这一种伪指令声明的段与.data和.text功能一致Bstart ;无条件转移到标号start所在的地方执行程序.end9对工程中的文件进行编译和链接。点

11、击菜单ProjectRebuild All,对工程中的所有文件进行编译、链接。工程中的文件如果编译链接成功,会生成example2.out文件;如果不成功,会出现出错信息,这时应按照提示的出错信息对文件进行修改,然后再Rebuild All。10装载可执行文件。要让程序代码在DSP内部运行必需将生成的*.out文件装载到DSP内部。点击菜单File-Load Programe,选择并双击刚才生成的example2.out文件将程序装载到DSP的内部存储器中。11运行程序,查看并记录相关结果。点击菜单Debug-Run或按功能键F5运行程序。查看数据的保存情况。点击菜单View-Memory,会

12、出现图1-6 (a)所示的“Memory Window Options”对话框,按图1-6 (a)设置Address=0x1000(为什么要设置成Address=0x1000?),Page=Data。点击OK按钮,观察出现的如图1-6 (b)所示的“Memory ”对话框,这个对话框显示的是变量在数据存储器中的地址与值。请思考:为什么.bss的地址是0x1000,变量y的地址是0x1005,变量x的地址又是多少呢? 图1-6 (a) ( b)查看程序的保存情况。点击菜单ViewMemory,按图1-7 (a)设置Address=0x0090(为什么要设置成Address=0x0090?),Pa

13、ge=Program。点击OK按钮,观察出现的如图1-7 (b)所示的“Memory ”对话框,这个对话框显示的是可执行程序在程序存储器中的地址与指令代码。请思考:为什么.text段的地址是0x0090?标号end的地址是0x009C?标号SUM的地址是0x009E?标号loop的地址是0x00A2?.data段的地址是0x00A8? 图1-7 (a) (b)查看寄存器的状况。第一步:点击菜单View-Registers-CPU Registers。基本界面如图1-8。 图1-8第二步:点击菜单File-Load Program重新装载可执行程序*.out。 第三步:点击菜单Debug-Step Into或按F8,观察程序在单步运行时(单步运行指的是按一次F8程序执行一步,再按一次F8程序再执行一步),CPU Registers的变化。单步运行有助于进一步了解程序运行机理及用于程序调试。查看指令代码。再一次装载并运行程序

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号