wangfengDSP实验.doc_第1页
wangfengDSP实验.doc_第2页
wangfengDSP实验.doc_第3页
wangfengDSP实验.doc_第4页
wangfengDSP实验.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验一程序的控制与转移一、实验目的1、掌握条件算符的使用。2、掌握循环操作指令(BNAZ)和比较操作指令(CMPR)二、实验设备计算机三、实验内容编写程序,实现计算y=的值。四、实验步骤1、点击桌面CCS 2(C5000)图标,运行CCS软件。2、新建一个项目:点击ProjectNew,将项目命名为example1,并将项目保存在自己定义的文件夹下,注意文件夹一定要用英文名,不要将文件夹取名为中文名,因为CCS软件不能识别以中文命名的文件夹。3、新建一个源文件:点击FileNewSource File可以打开一个文本编辑窗口,点击保存按键,保存在和项目相同的一个文件夹下面(example1),保存类型选择*.ASM(如果源文件是C语言编写的,保存类型选择*.C,本实验中的例程是使用汇编语言编写的,所以选择*.ASM为保存类型),我们在这里将保存名字命名为example1.asm 。4、在项目中添加源文件:在新建立了一个源文件以后,要想使用CCS编译器对该源文件进行编译还需要将源文件添加到项目中去。添加方法是在工程管理器中右键单击example1.pjt,在弹出的菜单中选择Add Files,然后将刚才建立的example1.asm文件添加到该项目中去。5、编写源程序:在工程管理器中双击example1.asm ,将出现文本编辑窗口,在该文本编辑窗口中输入如下内容。(要求:将以下程序每条加上注解。).title example1.asm.mmregsSTACK .usect STACK,10H ; .bss x,5; 给x保留5个空间.bss y,1 ; 给y保留1个空间.def start ; .data ;table: .word 10,20,3,4,5; .textstart:STM #0,SWWSR; STM #STACK+10H,sp; STM #x,AR1;RPT #4; MVPD table,*AR1+; LD #0,A; CALL SUM; end: B endSUM:STM #x,AR3; STM #4,AR2;loop: ADD *AR3+,A;BANZ loop,*AR2-; STL A,*(y);RET.end提示:(1)源代码的书写有一定的格式,初学者往往容易忽视。每一行代码分为三个区:标号区、指令区和注释区。标号区必须顶格写,主要是定义变量、常量、程序标致时的名称。指令区在标号区之后,以空格或TAB格开。如果没有标号,也必须在指令前面加上空格或TAB,不能顶格。注释区在标号区、程序区之后,以分号开始。注释区前面可以没有标号区或程序区。另外还有专门的注释行,以*打头,必须顶格开始。(2)一般区分大小写,除非加编译参数忽略大小写。(3)标点符号有时不注意会打成中文全角版本号导致错误。6、编写链接配置文件:只有汇编源程序是不够的,一个完整的DSP程序至少包含三个部分:主程序(*.asm)、中断向量表(vectors.asm)、链接配置文件(*.cmd)。这里先介绍一下链接配置文件。链接配置文件有很多功能,这里先介绍最常用的也是必须的两条:1.存贮器的分配 2.标明程序入口。由于每个程序都需要一个链接配置文件,每个程序的链接配置文件根据实际情况的需要都略有不同,下面就为本实验的程序编写一个链接配置文件,其它实验的链接配置文件都可以参考此例来完成:/*example1.cmd */vectors.obj example1.obj -o example1.out -m example1.map -estart MEMORYPAGE 0: EPROM:org=0090H len=0F70H VECS: org=0080H len=0010HPAGE 1: SPRAM:org=1000H len=1000H DARAM:org=2000H len=2000HSECTIONS.text :EPROM PAGE 0.data :EPROM PAGE 0.bss :SPRAM PAGE 1STACK :DARAM PAGE 1.vectors :VECS PAGE 0 7、编写中断向量表文件/* vectors.asm */.title vectors.asm.refstart.sect .vectorsBstart.end8、对项目进行编译和链接:把example1.asm、vectors.asm、example1.cmd依次添加到项目后,点击ProjectCompile File,在项目编译成功之后点击ProjectBuild选项对该项目进行链接,生成*.OUT文件。9、装载可执行文件:要让程序代码在DSP内部运行必需将生成的*.OUT文件装载到DSP内部,装载方法是点击:FileLoad Programe再选择生成的example1.out文件就可以将程序装载到DSP的内部存储器中。10、运行程序并查看结果:a)首先打开欲查看的数据空间:点击ViewMemory,弹出“Memory Window Options”对话框,把欲查看的地址改为0x1000,如上页右图所示。b)点击OK按钮,然后点击DebugRun让程序在DSP内部运行,最后点击DebugHalt,再观察“Memory ”对话框,看是否与下图一致:实验二加减法和乘法运算一、实验目的掌握加减法和乘法运算指令。二、实验设备计算机三、实验内容编写程序,分别实现计算z=x+y-w、y=mx+b、y=。四、实验步骤 前4项实验步骤与实验一相同。5、编写源程序: * 计算 z=x+y-w*.titleexample2.asm.mmregsSTACK.usectSTACK,10H;堆栈的设置.bssx,1;为变量分配4个字的存储空间.bssy,1.bssw,1.bssz,1.defstart.datatable.word10,26,23;x,y,w.textstart:STM#0,SWWSR;插入0个等待状态STM#STACK+10H,SP;设置堆栈指针STM#x,AR1;AR1指向xRPT#2MVPDtable,*AR1+;把程序存储器中的数据移动到数据存储器CALLSUMBend:BendSUMB: LD *(x),AADD *(y),A SUB *(w),ASTLA,*(z)RET.end.编写计算y=的程序段,数据均为小数。其中:a1=0.1,a2=0.2,a3=-0.3,a4=0.4 x1=0.8,x2=0.6,x3=-0.4,x4=-0.2.titleexample13.asm.mmregsSTACK.usectSTACK,10H.bssa,4.bssx,4.bssy,1.defstart.datatable:.word 1*32768/10.word 2*32768/10 .word -3*32768/10.word 4*32768/10.word 8*32768/10.word 6*32768/10.word -4*32768/10.word -2*32768/10.textstart:SSBXFRCTSTM#a,AR1RPT #7MVPDtable,*AR1+STM#x,AR2STM#a,AR3RPTZ A,#3MAC *AR2+, *AR3+, ASTHA,(y)end:Bend.end11、建立项目工程文件example3,使之实现计算y=mx+b;* * 计算 y=mx+b * *.titleexample3.asm.mmregsSTACK.usectSTACK,10H;堆栈的设置.bssm,1;为变量分配4个字的存储空间.bssx,1.bssb,1.bssy,1.defstart.datatable:.word3,15,20;m,x,b.textstart:STM#0,SWWSR;插入0个等待状态STM#STACK+10H,SP;设置堆栈指针STM#m,AR1;AR1指向mRPT#2;把下一条指令重复执行3遍MVPDtable,*AR1+;把程序存储器中的数据转移到数据存储器CALLSUend:BendSU: LD *(m),T MPY *(x),A ADD *(b),ASTLA,*(y)RET.end12建立项目工程文件example4,使之实现计算y=。* * 计算 y= * *.titleexample4.asm.mmregsSTACK.usectSTACK,10H;堆栈的设置.bssa1,4;为变量分配5个字的存储空间.bssx1,4.bssy,1.defstart.datatable:.word3,5,15,20,1,2,3,4 ;输入ai,xi.textstart:STM#0,SWWSR;插入0个等待状态STM#STACK+10H,SP;设置堆栈指针STM#a1,AR1;AR1指向x1RPT#7;移动8个

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论