1、以y
ax为例,编写完整的。asm汇编源程序以及。cmd命令文件,写出程序注释,iii1
并叙述在ccs2.0集成开发环境下,调试程序的基本步骤。其中a和x的值由自己确定。解:
title "mpy_"
mmregs;将存储映像寄存器导入列表。
stack",10h;给堆栈段分配空间。bssa,5;将11个字空间分配给各个变量。bss x, y,1
pa0 .set 0;将端口pa0全部置 start;定义标号定义数据**段table:
word 4,4,4,4,4(设置8个单元的16位整型常量,其初值为4).word 4,4,4,4,4
text;定义文本**段start:
stm #0,swwsr;将等待寄存器设为0,表示不等待stm #stack+10h,sp;设堆栈指针。
stm#a,ar1;将ar1指向变量a的地址。
rpt #9;从程序存储空间转移9+1个值到数据储存空间mvpd table,*ar1+
call sum;调用sum子程序end: bend;循环等待。
sum: stm #a,ar3;将ar3指向变量a的地址stm #x,ar4;将ar4指向变量x的地址。
rptz a,#4;将a清0,并重复执行下一条指令4+1次mac*ar3+,*ar4+,a
stl a,@y;将寄存器a中的低16位存入y地址空间portw @y,pa0;将y地址中的值输出到输出口ret;子程序返回。end;程序结束。
2、试举一例dsp实际应用的例子,具体要求如下:1)画出系统基本的硬件连接电路或硬件电路框图;2)对系统的工作原理及工作过程进行详细介绍;3)给出dsp软件程序和必要的注释;
解:基于tms320c54x dsp的函数发生器的设计。
1)硬件结构框图dsp芯片。
eda拨码开关。
aduc812
2)设计原理。
波形产生是dsp的重要应用之一。而正弦信号发生器的设计则是波形产生应用的一个重要方面,它在通信领域有着广泛的应用。利用dsp产生正弦信号有三种方法:
查表法(lookuptableapproach)、多项式逼近法(polynomialapproximation)和迭代法(recursivealgorithm)。这三种方式各有其应用范围。本设计题目以tms320c54xdsp为目标器件,设计并实现基于迭代法的“正弦序列生成”算法及其dsp程序。
x3x5x7x9x2x2x2x2
sin(x)xx(1(1(1(1)))
为了减少使用的存储器,可以采用正弦信号的对称性,复制90~180度的正弦值和180~360度的正弦值。
余弦信号的产生同样可以采用多种方法产生。一是采用公式计算得到,二是采用正弦信号变换得到。
方波信号产生可以通过轮流输出两个不同大小的数值通过a/d转换得到。
3)源**。
title ""
mmregs
def startstart:
textdisc:
ref d_xs,d_sinx,d_xc,d_cosx,sinx,cosxsin_x: .usect "sin_x",360cos_x:
.usect "cos_x",360stack: .
usect "stack",10hk_theta .set
stm #stack+10h,spstm k_theta,ar0stm 0,ar1
stm #sin_x,ar6stm #90,brcrptb loop1-1ldm ar1,ald #d_xs,dpstl a,@d_xsstl a,@d_xccall sinxcall cosxld #d_sinx,dpld @d_sinx,16,ampya @d_cosxsth b,1,*ar6+
mar *ar1+0
loop1:stm #sin_x+89,ar7stm #88,brcrptb loop2-1ld*ar7-,astl a,*ar6+loop2:stm #179,brcstm #sin_x,ar7rptb loop3-1ld *ar7+,aneg a
stl a,*ar6+loop3:stm #sin_x,ar6stm #360,brcrptb loop4-1ld *ar6,a
add #1000000000000000b,astl a,*ar6+
loop4:stm #cos_x,ar6stm #0259h,ar7stm #269,brcrptb loop5-1ld *ar7+,astl a,*ar6+loop5:stm #0200h,ar7stm #90,brcrptb loop6-1ld *ar7+,astl a,*ar6+loop6:
stm #cos_x,ar6stm #1,ar0stm #360,bkdisf:
fangbo_x: .usect "fangbo_x",stm #stack+10h,spstm #fangbo_x,ar6stm #90,brcrptb loop6-1ld#7fffh,a
stl a,*ar6+loop7:stm #90,brcrptb loop8-1ld #7fffh,aneg a
stl a,*ar6+
loop8:stm#fangbo_x,ar7stm #180,brcrptb loop9-1ld *ar7+,a
stl a,*ar6+loop9:stm#fangbo_x,ar6stm #1,ar0stm #360,bkstm #400h,ar6stm #468h,ar0dingshi:
main:stm #stack+10h,spstm #3fa0h,pmststm #00,prd0stm #0269h,tcr0stm #0008h,ifrstm #0008h,imrrsbx intmstm #10,ar1end:b endtint0:
pshmtbanz end1,*ar1-stm#10,ar1
portw*ar6+%,01h
cmpr00h,ar6bcover,tcbend1over:
portr 00h,*ar2;读拨码开关。
cmpm *ar2,#00h;为0时输出余弦波,为1时输出方波bc loop8,tc
stm#600h,ar6stm#602h,ar0b eeloop8:
stm #400h,ar6stm #568h,ar0ee:ssbxtc
end1: popmtretesinx:
def d_xs,d_
table_s: .word 1556hd_coef_s .usect "coef_s",4d_ "sin_vars",1
d_squr_xs .usect "sin_vars",1d_temp_s .usect "sin_vars",1d_sinx .
usect "sin_vars",1d_1_ "sin_vars",ssbx frct
stm #d_coef_s,ar5rpt #
mvpd #table_s,*ar5+stm #d_coef_s,ar3stm #d_xs,ar2stm #d_1_s,ar4st #7fffh,d_1_ssqur *ar2+,ast a,*ar2||ld *ar4,b
masr *ar2+,*ar3+,b,ampya asth a,*ar2
masr *ar2-,*ar3+,b,ampya *ar2+st b,*ar2||ld *ar4,b
masr *ar2-,*ar3+,b,ampya *ar2+st b,*ar2||ld *ar4,b
masr *ar2-,*ar3+,b,ampya d_xssth b,d_sinxretcosx:
def d_xc,d_cosxd_coef_c: .usect "coef_c",table_ 4000hd_ "cos_vars",1d_squr_xc .
usect "cos_vars",1d_temp_ "cos_vars",1d_ "cos_vars",1c_1_ "cos_vars",ssbx frct
stm #d_coef_c,ar5rpt #
mvpd #table_c,*ar5+stm #d_coef_c,ar3stm #d_xc,ar2stm #c_1_c,ar4st #7fffh,c_1_csqur *ar2+,ast a,*ar2||ld *ar4,b
masr *ar2+,*ar3+,b,ampya asth a,*ar2
masr *ar2-,*ar3+,b,ampya *ar2+st b,*ar2||ld *ar4,b
masr *ar2-,*ar3+,b,asfta a,-1,aneg a
mpya *ar2+mar *ar2+retd
add *ar4,16,bsth b,*ar2ret
sect ".vectors"
refmain
align0x80reset:
bd mainstm #200,spnmi:retenopnop
nopsint17 .space 4*16sint18 .space 4*16sint19 .
space 4*16sint20 .space 4*16sint21 .space 4*16sint22 .
space 4*16sint23 .space 4*16
sint24 .space 4*16sint25 .space 4*16sint26 .
space 4*16sint27 .space 4*16sint28 .space 4*16sint29 .
space 4*16sint30 .space 4*16int0:rete
nopnopint1:rete
int2:rete
tint:b tint0rint0:rete
xint0:rete
rint1:rete
xint1:rete
int3:rete
endcmd文件: startmemorysections > daram3 page 1cos_x: align(512){}daram3 page 1fangbo_x:
align(512){}daram3 page >vecs page 0}
DSP作业
51 以ya i1ixi为例,编写完整的。asm汇编源程序以及。cmd命令文件,写出程序注释,并叙述在ccs2.0集成开发环境下,调试程序的基本步骤。其中a和x的值由自己确定。解 title mpy mmregs 将存储映像寄存器导入列表。stack 10h 给堆栈段分配空间。bssa,5 将11个...
DSP作业
第一章。1 什么是dsp?2.dsp芯片的特点有哪些?3.dsp采用改进的哈佛总线结构,画出改进的哈佛总线结构示意图。4.dsp中由哪些地址和数据总线组成多总线结构?5.dsp芯片的选型一般是从哪几个方面进行考虑?6.简述ti公司的dsp三大平台和它们各自的应用场合。7.dsp芯片发展趋势应该朝着哪...
DSP作业
一 填空。1.dsp有 dsp和浮点dsp。2.dsp采用的是 的结构并广泛应用流水线技术。片内有1组程序总线,组数据总线和4组地址总线。4.累加器a,b是 位的。5.数据寻址的方式有立即寻址直接寻址,等。6.程序的的基本结构有顺序结构,循环结构,四种。7.程序必须经过 和 才能运行。二。选择。1....