TMS320C54x程序设计与应用_第1页
TMS320C54x程序设计与应用_第2页
TMS320C54x程序设计与应用_第3页
TMS320C54x程序设计与应用_第4页
TMS320C54x程序设计与应用_第5页
已阅读5页,还剩143页未读 继续免费阅读

下载本文档

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

文档简介

1、第6章TMS320C54x计算机编程和应用程序节目、内容摘要、6.1汇编语言本机命令应用程序节目6.2 DSP信号发生器的应用程序节目6.3 DSP中断应用程序节目6.4 DSP串行通信应用程序6.5其他应用程序、6.1组件语本机命令应用程序、C54x是丰富的程序集命令,可以实现数据传输、计算、程序控制和处理器控制,表示整数时,最低位(D0)的权重为20,D1的权重为21,第二高位(D14)的权重为214。如果需要小数表示,则小数点的位置始终位于最高位的后面,最高位(D15)表示符号位。第二高级(D14)的权利为2-1,其次是2-2,最低(D0)的权利为2-15。1000H表示小数0.5,10

2、00H小数2-3=0.125,0001H表示16位点DSP可以表示的最小小数(有符号)2-15=0.00030517578125。6.1.1数字的表示方法整数和小数,在DSP中,十六进制数字可以表示其他十进制数字、整数或小数(如果是小数,则必须小于1),但是只有进行整数乘法或小数乘法和除法时,系统处理才能不同。在C54X中,以16位指针格式表示一个小数的方法是将215 (32768)乘以小数,将结果的整数部分转换为十六进制数。6.1.1数字的表示整数和小数,如0.5:* 0.5:*32768=16384: 4000H-0.5:绝对值* 32768=16384:4000h:倒数1可以写为word

3、 32768*707/1000。表示带符号的数字时,最高位(D15)是符号位,0是正数,1是负数。例如,7FFFH表示最大正数32767(十进制数),FFFH表示最大负数-1(负数表示二进制补码)。temp1数字的显示方式正负,temp2算术运算,基本算术运算如下:加减乘除、alu (adder)、multiplier (17x17)、(rre变量temp1为累加器a,变量temp2添加到累加器a,结果为a,结果(低16位)存储在temp3变量中。6.1.2算术运算定点减法,STM #temp1,ar3;变量temp1的地址为ar3寄存器STM #temp2,ar2加载到中。变量temp2的地

4、址为ar2寄存器sub * ar2、* ar3、b;变量temp2和temp1都向左移动16位,然后减去,放在累加器b(16位高)sthb,temp3中。减法结果(累加器B的高度16位)存储在变量temp3中。6.1.2算术运算定点整数乘法,C54X提供了大量乘法命令,结果全部为32位。MPYU是仅用于无符号数字乘法的命令;其他乘法命令是有符号数字的乘法;6 . 1 . 2算术运算点整数乘法RSBXFRCTFRCT徽标,整数乘法LDTEMP1,T;变量temp1加载t寄存器mpytemp2,a。Temp2*temp1,结果为累加器A(32位元)stha,temp3;结果高16位为temp3 s

5、tla,temp4中选择所需的构件。结果的低16位存储在temp4,6.1.2算术运算定点小数乘法中。由于两个小数相乘,结果的小数点位置位于次高度之后,因此必须向左移动一位,才能得到正确的结果。C54X可以使用状态位FRCT。设定为1时,乘积结果会自动向左移动一位。,6.1.2算术运算定点小数乘法,ssbxfrctFRCT=1,准备小数乘法Ld temp1,16,a;16、a;Temp1负载a的高度16位mpya temp2Temp2乘以A的高度16位,结果累加器B中的STHB,TEMP3乘积的高度16位内存temp3,6.1.2算术运算定点小数乘法,例如temp1=0ccdH(十进制0.1)

6、,temp2=599aH(十进制0.7),将两个数相乘后b累加器的内容,但条件减法命令(SUBC),条件减命令:SUBC Smem,src功能:(src)-(Smem)15ALU输出端ALU输出0,(ALU输出)1 src或(src)1src,重复命令:1整数除法,示例: 16384512创建节目,BSS fenzi,1 .BSS fenmu,1 .BSS Shang,1 .数据表。word 16384。16384;512;分子,分母单位,6.1.2算术除法运算,LD fenmu,16,a mpya fenzi ABS a sth a,fen mu LD fenzi,a ABS a RPT #

7、 15 subc fenmu,累加器ah(fenzi)*A(3216)B,经销商的符号获取分母取绝对值。分母的绝对值存储回原位。分子a;分子采用绝对值。重复16次减法,完成除法。B0(如果份额为负数)需要令牌。存储者,注意:SUBC指令仅适用于无符号数字,因此对被除数和除数取绝对值,使用乘法操作获取商的符号,最后通过条件操作指令向提供者添加适当的符号。6.1.2算术运算除以,2 .小数除以,范例:为0.4(-0.8)节目,BSS fenzi,1,BSS fenmu,1,创建BSS Shang 0.4。word-8 * 32768/10;-0.8,text start 3360 STM # fe

8、nzi,ar1,RPT # 1 mvpd table,* ar1,与整数除法不同,分子加载ACC高度16位N位小数只需要N-1相减计算,分母需要AH,MPYA fenzi分母绝对值,STH A,fenmu,LD fenzi,16,A,分子是AH,ABS A,分子绝对值,RPT #14 SUBC fenmu,A,15次减循环是除法,ABS A存储子、6.1.2算术除法运算、6.1.3浮点运算节目、数字信号处理中的固定点运算将数据的整数和小数部分分开,小数点位于固定位置。优点是硬件实现相对容易,但动态范围有限。要扩大数据的范围和精度,需要浮点运算。C54x是定点DSP设备,但支持浮点运算。要在C5

9、4x中实现浮点运算,操作数必须是点数,然后返回浮点数值。规格化输入数据可以将点值转换为浮点值。1 .浮点数的表示方法,浮点数由到期和金志洙两部分组成,它与整数的关系:整数=到期2-金志洙(例如,整数:0 x2000=0.25=0.52-1,尾数=0.5=,尾数:正数金志洙:可以是正数和负数,用补充代码表示。范围为-831。6.1.3浮点运算程序,2 .浮点数点数,C54x通过三个茄子命令将点数转换为浮点数点。EXP A萃取金志洙指令,功能:A=0,t=0;如果为A0,则T=(A的溢出符号数量级-8)。即,提取金志洙,A的内容保持不变。金志洙=超出符号数量级-8。示例:运行EXP A之前a=ff fff

温馨提示

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

评论

0/150

提交评论