网站大量收购闲置独家精品文档,联系QQ:2885784924

54DSP十天速成1.doc

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
54DSP十天速成1.doc

实验一?新手上路 初学者编写的第一个程序通常是控制XF引脚的变化,然后用示波器测量XF脚波形或观察与相接的LED。这个程序也常常用来测度一下DSP能否正常工作。 实验1.1?最简单的程序:控制XF引脚周期性变化 实验目的:通过简单的程序了解DSP程序的结构,熟悉CCS开发环境。 ************************************************************* *最简单的程序:TestXF1.asm *循环对XF位置1和清0,用示波器可以在XF脚检测到电平高低周期性变化 *常用于检测DSP是否工作。 ************************************************************* .mmregs?;预定义的寄存器 .def?CodeStart?;定义程序入口标记 .text?;程序区 CodeStart:?;程序入口 SSBX?XF?;XF置1 RPT?#999?;重复执行1000次空指令产生延时 NOP RSBX?XF?;XF清0 RPT?#999?;重复执行1000次空指令产生延时 NOP? B?CodeStart?;跳转到程序开头循环执行 .end? NOP指令执行时间为一个时钟周期,设DSP工作频率是50MHz,可以估算出XF引脚电平的变化频率约为:50M/2000=25kHz 在没有示波器的情况下,就要将程序1.1稍作改进,增加延时,用一个延时子程序将XF脚电平变化频率降到肉眼可分辨的程度,就可以用LED来显示电平的变化,程序如下: 实验1.2?子程序调用 实验目的:学习子程序的调用 ************************************************************* *TestXF2.asm *对TestXF1.asm稍作改进,用延时子程序设置较长的延时, *可以用试验板上的LED看到XF引脚电平的变化 ************************************************************* .mmregs?;预定义的寄存器 .def?CodeStart?;定义程序入口标记 .text?;程序区 CodeStart:?;程序入口 SSBX?XF?;XF置1 CALL?Delay?;调用延时程序 RSBX?XF?;XF清0 CALL?Delay?;调用延时程序 B?CodeStart?;跳转到程序开头循环执行 ************************************************************** *延时子程序:Delay *用两级减一计数器来延时。调整AR1和AR2的大小LED闪烁的频率不同 ************************************************************** Delay:? STM?#999,AR1?;循环次数1000 LOOP1:?STM?#4999,?AR2?;循环次数5000 LOOP2:?BANZ?LOOP2,*AR2-?;如果AR2不等于0,AR2减1,再判断 BANZ?LOOP1,*AR1-?;如果AR1不等于0,AR1减1,跳转到LOOP1 RET .end ************************************************************** *注意这种延时方法并不精确,需要精确定时必须用定时器。 *按此法延时的近似公式为:4*(AR2+1)*(AR1+1)*时钟周期 *当DSP工作在50MHz(时钟周期20ns),AR1=999,?AR2=4999时 *延时约为400ms,则LED闪烁的周期为800ms,频率1.25Hz ************************************************************** 设计指导: 1.源代码书写格式 源代码的书写有一定的格式,初学者往往容易忽视。简单归纳如下: 1.每一行代码分为三个区:标号区、指令区和注释区。标号区必须顶格写,主要是定义变量、常量、程序标签时的名称。指令区位于标号区之后,以空格或TAB格开。如果没有标号,也必须在指令前面加上空格或TAB,不能顶格。注释区在标号区、程序区之后,以分号开始。注释区前面可以没有标号区或程序区。另外还有专门的注释行,以*打头,必须顶格开始。 2.一般区分大小写,除非加编译参数忽略大小写。 3.标点符号有时不注意会打成中文全角字符导致错误。 书写格式的要求在很多DSP书里都没有提,初学者往往只把书上的代码输入进去,编译时得到错误的提示,而不知所措。其中最容易犯的错误指令顶格写,不过一般经提示后不会犯

文档评论(0)

资料 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档