老古开发网首页
导航:老古开发网首页文章索引索引第2252页文章分类DSP数字信号处理第23页→[TI C54xx DSP 十天速成讲义 <二>]
| -文章搜索 - 最新文章 - |

TI C54xx DSP 十天速成讲义 <二>

发布时间:2006年6月18日 点击次数:1266
来源:   作者:
 

作者:佚名

实验二 基本运算
<本节选自为HK-DSP实验箱写的实验指导书,有待整理>
DSP指令数量最多的是:算术指令、逻辑指令和数据加载与传送指令。数据加载与传送指令由于处处要用,所以不单独列为实验。算术与逻辑指令也是数量繁多,无法一一举例,这里简单举一个加法和除法的例子,乘法和乘加指令在FIR用得比较多,稍后一并介绍。其它指令有兴趣可以对照指令表的说明,试验一下各指令运行的结果。
实验2.1 加减法计算
************************************************
*计算z=x+y-w。
************************************************
.mmregs
.def CodeStart
Data_DP: ;数据段指针
x: .word 10 ;初始化变量
y: .word 26
w: .word 23
z: .word 0

.text
CodeStart:
LD #Data_DP,DP ;装载数据指针DP
STM #STACK+10H,SP
SUMB: LD x,A ;A=x
ADD y,A ;A=A+y
SUB w,A ;A=A-w
STL A,z ;z=A
END: B END

计算结果数据存储器地址存储内容十进制
x1010H000aH10
y1011H001aH26
w1012H0017H23
z1013H000dH13


技巧提示:试验算术指令由于不需要外部资源,可以不需要仿真器和实验箱。同学们可以平时自己用软件仿真,多多实验。但是复杂的算法最好还是在线仿真,因为程序是流水线执行,软件仿真有时与实际硬件执行结果有所不同。


实验2.2 除法计算
DSP并没有除法指令,回想一下我们用在稿纸上演算除法列的竖式,实际是一种移位减法,DSP中也是通过做多次减法的办法来做除法。下面例子是把用除以10的办法二进制数转成BCD码例子:
*********************************
*16进制转BCD码
*********************************
.mmregs
.global CodeStart

.data
x: .word 1234 ;待转换的数字
y: .word 10 ;除数
z: .word 0Fh,0Fh,0Fh,0Fh,0Fh;结果区,每位BCD存一个字,
;初始化为F因为实验板的数码管不显示F

.text
 
CodeStart:
LD #x,DP ;设置DP
LD x,A ;被除数
STM #z,AR1 ;结果区指针
loop:
RPT #15 ;执行完16次减法后,A的高16位是余数
SUBC y,A ;低16位是商
STH A,*AR1+ ;余数保存到Z
AND #0FFFFH,A ;掩盖掉高16位,保留商值
BC loop,ANEQ ;继续做除法直到商为0
end: B end

练习:
练习其他算术指令

其它参考:
spru172c:TMS320C54x DSP Reference Set Volume 2: Mnemonic Instruction
Set,2.1 Arithmetic Operations
这个资料对每个指令都有详细说明。也可以在Help中的TMS320C54x DSP Mnemonic Instruction
Set中查询或搜索相关指令。

欢迎进入老古论坛进行讨论
[DSP数字信号处理] 相关文章:
TI C54xx DSP 十天速成讲义 <五>
简介:
作者:佚名 实验4.2 键盘接口实验 实验板上有四个按键,当有键按下时,会触发DSP的INT1中断,在INT1的中断服务程序中读入键码,判断哪一个键被按下,然后执行相应的操作。各键对应的二进制和十六进制键码分别为: 按键1: 0001B 1H 按键2: 0010B 2H 按键3: 0100B 4H 按键4: 1000B 8H 下面有一个小例子: ****************************************************** *keyboardTest......

TI C54xx DSP 十天速成讲义 <八>
TI C54xx DSP 十天速成讲义 <七>
ISP1362 USB OTG控制芯片及其应用[转]
TMS320VC5402通用I/O资源及其应用
 
下一个:[新闻热点]TDK与电盛兰达启用统一的产品品牌,促进共同销售
简介:
TDK株式会社和电盛兰达株式会社(DENSEI-LAMBDA K. K.)已于2006年4月1日起对各自主要的电源产品启用统一品牌"TDK-Lambda"。作为统一品牌的第一步,两家公司将携手展开销售及促销活动。 使用统一品牌的产品包括:AC-DC开关电源、DC-DC转换器、DC-AC变换器、电源模块。在这些产品群中,仍将有一部分使用目前的品牌。 迄今为止,TDK产品主要面向民用电器领域,而电盛兰达的业务则以工业机电为中心。从各自的产品来看,电盛兰达的主要产品包括AC-DC开关电源......

上一个:[DSP数字信号处理]TI C54xx DSP 十天速成讲义 <四>

老古开发网版权所有 2006年9月 asp.Net V2.0 设计:老古
页面缓存:30分钟 执行时间:47毫秒