- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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置1RPT?#999?;重复执行1000次空指令产生延时NOPRSBX?XF?;XF清0RPT?#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置1CALL?Delay?;调用延时程序RSBX?XF?;XF清0CALL?Delay?;调用延时程序B?CodeStart?;跳转到程序开头循环执行
***************************************************************延时子程序:Delay*用两级减一计数器来延时。调整AR1和AR2的大小LED闪烁的频率不同**************************************************************Delay:?STM?#999,AR1?;循环次数1000LOOP1:?STM?#4999,?AR2?;循环次数5000LOOP2:?BANZ?LOOP2,*AR2-?;如果AR2不等于0,AR2减1,再判断BANZ?LOOP1,*AR1-?;如果AR1不等于0,AR1减1,跳转到LOOP1RET.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书里都没有提,初学者往往只把书上的代码输入进去,编译时得到错误的提示,而不知所措。其中最容易犯的错误指令顶格写,不过一般经提示后不会犯
您可能关注的文档
- 2、坐标系、基准和坐标系统.ppt
- 2.3常见的天气系统.ppt
- 2.5常见的天气系统.ppt
- 09单片机——第3章——指令系统1.ppt
- 2_C#基础知识.ppt
- 10、《松鼠》精美实用 课件1.ppt
- 02-面向对象基础与UML的组成.ppt
- (中性301)控制键盘.rtf
- 3 MCS-51单片机的指令系统new1.ppt
- 0-2任务 单片机的开发过程.ppt
- 某区纪委书记年度民主生活会“四个带头”个人对照检查材料.docx
- 某县纪委监委2024年工作总结及2025年工作计划.docx
- 某市场监督管理局2024年第四季度意识形态领域风险分析研判报告.docx
- 县委书记履行全面从严治党“第一责任人”职责情况汇报.docx
- 税务局党委书记2024年抓党建工作述职报告.docx
- 某市税务局副局长202X年第一季度“一岗双责”履行情况报告.docx
- 副县长在全县元旦春节前后安全生产和消防安全工作部署会议上的讲话.docx
- 某市委书记个人述职报告.docx
- 某县长在县委常委班子年度民主生活会个人对照检查材料1.docx
- 某县长在县委常委班子年度民主生活会个人对照检查材料.docx
文档评论(0)