dsp小灯闪烁的c语言程序,[2018年最新整理]DSP的C语言编程.ppt

[2018年最新整理]DSP的C语言编程

DSP的C语言程序入门 1、以最小系统板的LED灯闪烁程序为例: 分别利用汇编语言、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 .set0080h 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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值