ImageVerifierCode 换一换
格式:DOC , 页数:8 ,大小:355KB ,
资源ID:13105467      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/13105467.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(DSP课程设计Word文档格式.doc)为本站会员(b****1)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

DSP课程设计Word文档格式.doc

1、打开Setup CCStudio v3.3如图1所示。图1选择C5402芯片并加载,如图2、图3所示。图2. 加载芯片图3.确定完成加载在C:/CCStudio v3.3/ MyProjects目录下新建文件夹,命名为sinewave,将附录中的三个文件保存到该文件夹中。新建工程名为“shiyan”,保存路径为C:/CCStudio v3.3/ MyProjects/sinewave。如图4所示。图4将文件夹“sinewave”下的三个文件(sin.asm,sin_v.asm,sin.cmd)以及库文件rts500.lib添加到新建工程“shiyan”中,对文件进行编译链接,若有错误进行改正,

2、直至无误,如图5所示。图5现在已经产生了可执行文件shiyan.out,打开FileLoad program,选择shiyan.out打开,便将程序加载到了CCS中,可以进行运行调试了。选择ViewGraphTime/Frequency,打开如图6所示的对话框(此对话框的各参数已经设置完毕),点击确定后便得到如图7所示的正弦波。图6图7. 正弦波信号通过以上步骤设计,得到了一个正弦信号波形,而正弦信号发生器可以应用到通信、仪器仪表和工业控制等领域中,这样便有利于对其进行更深入的研究与探讨,具有一定的理论意义和实际意义。五、 课程设计的心得体会本课程设计主要是使用汇编语言编程并在CCS中实现正玄

3、波。设计过难度适中,但进一步了解了如何使用汇编语言编写程序以及如何在CCS中进行程序调试和使用各种CCS工具。我明白了一个道理,就算要完成一件小事,也需要用心,那样才能真正完成好任务。六、 附录1. 汇编源文件sin.asm如下所示。(功能:产生正弦波) .mmregs ;定义存储器映像寄存器 .def _c_int00 .ref sinx,d_xs,d_sinx,cosx,d_xc,d_cosx ;定义标号sin_x: .usect sin_x,360 ;为保留360个存储空间STACK:STACK,10 ;为堆栈保留10个存储空间k_theta .set 286 ;theta=pi/360

4、(0.5deg)PA0 .set 0_c_int00 .text ;定义文本程序代码段 STM #STACK+10,SP ;设置堆栈指针 STM k_theta,AR0 ;AR0-K_theta(increment) STM 0,AR1 ;(AR1)=X(rad) STM #sin_x,AR6 ;AR6- - sin(x) STM #90,BRC ;form sin0(deg.)sin90(deg) RPTB loop1-1 LDM AR1,A LD #d_xs,DP STL A,d_xs ;(A)低16位d_xs STL A,d_xc ;(A)低16位d_xc CALL sinx ;调用si

5、nx程序 CALL cosx ;调用cosx程序 LD #d_sinx,DP ;DP d_sinx LD d_sinx,16,A ;A=sin(x) MPYA d_cosx ;B= sin(x)*cos(x) STH B,1,*AR6+ ;2*sin(x)*cos(x) MAR *AR1+0 ;修改辅助寄存器AR1loop1: STM #sin_x+89,AR7 ;sin91(deg.)- -sin179(deg.) STM #88,BRC ;重复执行下条指令至loop2-1 RPTB loop2-1 ;处90次 LD *AR7-,A ;(AR7) A,然后AR7减去1 STL A,*AR6+

6、 ;(A) 低16位AR6loop2: STM #179,BRC ;sin180(deg.)- -sin359(deg.) STM #sin_x,AR7 ;AR7指向sin_x首地址 RPTB loop3-1 LD *AR7+,A ;(AR7) A,然后AR7加1 NEG A ;累加器变负A低16位AR6loop3: STM #sin_x,AR6 ;generate sin wave AR6指向sin_x STM #1,AR0 ;AR 01 STM #360,BK ;BK360loop4: PORTW *AR6+0%,PA0 ;PA0=*AR6+0%,向PA0输出数据 B loop4 sinx

7、: .def d_xs,d_sinx ;定义标号d_xs,d_sinx .data ;定义数据代码段table_s .word 01c7h ;c1=1/(8*9) .word 030bh ;c1=1/(6*7) .word 0666h ;c1=1/(4*5) .word 1556h ;c1=1/(2*3)d_coef_s .usect coef_s,4 ;保留4个存储空间d_xs .usect sin_vars,1 ;为d_xs中sin_vars保留1个存储空间d_squr_xs .usect 为d_squr_xs中sin_vars保留1个存储空间d_temp_s .usect 为d_temp

8、_s中sin_vars保留1个存储空间d_sinx .usect 为d_sinx中sin_vars保留1个存储空间c_l_s .usect 定义代码开始段 SSBX FRCT ;设置FRCT=1以解决冗余符号位 STM #d_coef_s,AR5 ;AR5指向d_coef_s首地址 RPT #3 ;重复下条指令4次 MVPD #table_s,*AR5+ ;table_s中的数复制到AR5指向的单元 STM #d_coef_s,AR3 ;AR3指向d_coef_s首地址 STM #d_xs,AR2 ;AR2指向d_xs首地址 STM #c_l_s,AR4 ;AR4指向c_l_s首地址 ST #7FFFh,c_l_s ;7FFFh c_l_s SQUR *AR2+,A ;AR2指向累加器A中的数值求其平方 ST A,*AR2 ;(A)左移16位AR2 |LD *AR4,B ;(AR4)左移16位B MASR *AR2+,*AR3+,B,A ;从累加器A中减去(AR2)*(AR3) MPYA A ;操作数与累加器A中高位相乘 STH A,*AR2 ;(A)高16位AR2 MASR *AR2-,*AR3+,B,A ; MPYA *AR2+ ;AR2指向的数与累加器A的高16位相乘 ST B,*AR2 ;(B)左移16位AR2

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1