DSP原理及应用实验五:DSP的C语言程序入门.ppt

DSP原理及应用实验五:DSP的C语言程序入门.ppt

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验五: DSP的C语言程序入门 1、实验要求: 分别利用汇编语言、C语言、C语言和汇编语言混合编程三种方法实现DSP最小系统板LED灯D1闪烁。 2、电路原理图: 简化原理图 编程思路:软件延时程序实现LED灯闪烁 编程原理是:循环对XF位置1和清0, 用示波器可以在XF脚检测到电平高低周期 性变化,当然也可以通过LED的闪烁来验证 程序的正确与否(但闪烁频率不能太 快),在硬件调试时常用于检测DSP是 否工作。 3、操作步骤要点: (1)新建项目/新建文件/添加文件到项目/编辑文件; (2)点“rebuild all”工具进行编译、汇编和链接; (3)装载上一步生成的out文件; (4)点击“运行”按钮,观察小系统板D1闪烁。 4、汇编程序参考:(主程序文件) 5、C程序参考:(源程序均为C文件) 6、C和汇编混合编程参考: 程序识读提示: (1)在中断向量表中中断(Reset中断)是 每个程序都应该有的,在不需要其它中断 的情况下,可以只用这一部分,后面全部 省掉。 (2)汇编编程时有一个重要问题,即中断向量表的 定位,上电时默认是在FF80H处,但实际上很多情况 下无法把中断向量表加载到FF80处,一般重定向到 0080H,并在程序开头重新设置一下IPTR的值。 K_IPTR .set 0080h LDM PMST,A AND #7FH,A OR #K_IPTR,A STLM A,PMST 要注意的是这段代码要用到累加器A,所以嵌入这段 代码的地方必须在用到累加器A之前。 7、思考题: 认真阅读教材和参考书,将延时程序改写为定 时器查询方式和定时器中断控制的方式,分别 用本次课学习到的汇编、C语言和混合编程三种 方法实现。 提示:定时查询方式实现LED灯闪烁 定时器查询的实验原理来自于定时器的逻 辑框图: 定时器开始定时后,减1计数器开始计数, 计数到0再减1时产生借位,将会使中断标志 寄存器IFR的第3位TINT置1,在程序中可以 不断地查询该标志位的状态,以判断定时时 间到否。原理可参见教材。 定时时间=Tclk X (Ttddr+1) X (Tprd+1) 可以思考下面两个问题: 1、请计算在本例中最大定时时间? 2、该怎样用定时器查询方式实现LED闪烁。 给出定时器查询实现LED灯闪烁的汇编程序: 定时中断方式实现LED灯闪烁 给出“定时器中断实现LED灯闪烁”的汇编程序 * DSP5402 中断向量表文件 链接命令表文件 中断向量表C文件 主函数C文件 链接命令表文件 DSP的C语言编写 的程序包括寄存 器头文件、中断 向量表文件、主 函数文件、链接 命令表文件和库 文件(TI提供的 运行时支持 库),寄存器头 文件和库文件不 需要用户编写! 中断向量表ASM文件 主函数C文件 延时程序ASM文件 其他文件不变! 定时器寄存器(TIM) 定时器周期寄存器(PRD) 定时器控制器寄存器(TCR) 主要 部件 保留 15~ 12 soft 11 free 10 PSC 9 ~ 6 TRB 5 TDDR 3~ 0 TSS 4 TCR中的控制位和状态位 1)TCR中的TSS位置1,关闭定时器。 2)加载PRD。 3)重新加载TCR 定时器初始化的步骤 使TDDR初始化 令TSS位为0 TRB位置1 中断原理的请参照教材,编程思路和“单片 机定时器中断程序”的编写方法相似。 注意如果编程时用到除复位中断以外的其它中断源,必须具备完整的中断向量表。 (1)汇编主程序文件 中断向量表文件: *

文档评论(0)

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

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

1亿VIP精品文档

相关文档