DSP第二章数值运算
- 格式:ppt
- 大小:576.50 KB
- 文档页数:69
实验一:基本算数运算1 、实验目的和要求加、减、乘、除是数字信号处理中最基本的算术运算。
本实验学习使用定点DSP 实现16 位定点加、减、乘、除运算的基本方法和编程技巧。
本实验的演示文件为exer1.out。
2 、实验原理1) 定点DSP 中的数据表示方法在DSP 中一个16 进制的数可以表示不同的十进制数,或者是整数,或者是小数(如果表示小数,必定小于1),但仅仅是在做整数乘除或小数乘除时,系统对它们的处理才是有所区别的,而在加减运算时,系统都当成整数来处理。
2) 实现16 位定点加法在本实验中,我们使用下列代码来说明加法运算:ld temp1,a ;将变量temp1 装入寄存器Aadd temp2,a ;将变量temp2 与寄存器A 相加,结果放入A 中stl a,add_result ;将结果(低16 位)存入变量add_result 中。
注意,这里完成计算temp3=temp1+temp2,我们没有特意考虑temp1 和temp2 是整数还是小数,在加法和下面的减法中整数运算和定点的小数运算都是一样的。
3) 实现16 位定点减法在本实验中,我们使用下列代码来说明减法运算:stm #temp1,ar3 ;将变量temp1 的地址装入ar3 寄存器stm #temp3,ar2 ;将变量temp3 的地址装入ar2 寄存器sub *ar2+, *ar3,b ;将变量temp3 左移16 位同时变量temp1 也左移16 位,然后;相减,结果放入寄存器B(高16 位)中,同时ar2 加1。
sth b,sub_result ;将相减的结果(高16 位)存入变量sub_result。
4) 实现16 位定点整数乘法在本实验中,我们使用下列代码来说明整数乘法运算:rsbx FRCT ;清FRCT 标志,准备整数乘ld temp1,T ;将变量temp1 装入T 寄存器mpy temp2,a ;完成temp2*temp1,结果放入A 寄存器(32 位)例如,当temp1=1234H(十进制的4660),temp2=9876H(十进制的-26506),乘法的结果在A 寄存器中为0F8A343F8H(十进制的-123517960)。
实验二加减法和乘法运算---------------------------------------------------------------------------------------------------------------------- 一、实验目的掌握加减法和乘法运算指令。
二、实验内容编写程序,分别实现计算z=x+y-w、y=mx+b、y=x1×a2+x2×a2、y=41i iia x =∑三、实验原理根据加减法和乘法指令的用法和汇编语法规则来完成程序。
四、实验器材计算机、ZY13DSP12BD 实验箱、5402EVM 板。
五、实验步骤1、用仿真机将计算机与ZY13DSP12BD 实验箱连接好,并依次打开实验箱电源、仿真机电源,然后运行CCS 软件。
2、新建一个项目:点击Project-New,将项目命名为example4,并将项目保存在自己定义的文件夹下,不能识别以中文命名的文件夹。
3、新建一个源文件:点击File-New-Source File 可以打开一个文本编辑窗口,点击保存按键,保存在和项目相同的一个文件夹下面(example4),保存类型选择*.ASM 4、在项目中添加源文件:在新建立了一个源文件以后,要想使用CCS 编译器对该源文件进行编译还需要将源文件添加到项目中去。
5、编写源程序6、编写链接配置文件7、编写中断向量表文件8、对项目进行编译和链接:把 example4.asm、vectors.asm、example4.cmd 依次添加到项目后,点击Project -Compile File,在项目编译成功之后点击Project-Build 选项对该项目进行链接,生成*.out 文件。
9、装载可执行文件:要让程序代码在 DSP 内部运行必需将生成的*.OUT 文件装载到DSP 内部,装载方法是点击:File-Load Programe 再选择生成的example4.out 文件就可以将程序装载到DSP 的内部存储器中。