- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DSP程序开发;2、电路原理图:;简化原理图;编程思路:软件延时程序实现LED灯闪烁;3、操作步骤要点:
(1)新建项目/新建文件/添加文件到项目/编辑文件;
(2)点“rebuild all”工具进行编译、汇编和链接;
(3)装载上一步生成的out文件;
(4)点击“运行”按钮,观察小系统板D1闪烁。;4、汇编程序参考:(主程序文件);4、汇编程序参考:;5、C程序参考:(源程序均为C文件);链接命令表文件;6、C和汇编混合编程参考:;程序识读提示:;(2)汇编编程时有一个重要问题,即中断向量表的
定位,上电时默认是在FF80H处,但实际上很多情况
下无法把中断向量表加载到FF80处,一般重定向到
0080H,并在程序开头重新设置一下IPTR的值。
K_IPTR .set 0080h
LDM PMST,A
AND #7FH,A OR #K_IPTR,A
STLM A,PMST
要注意的是这段代码要用到累加器A,所以嵌入这段
代码的地方必须在用到累加器A之前。;思考题:
认真阅读教材和参考书,将延时程序改写为定
时器查询方式和定时器中断控制的方式,分别
用本次课学习到的汇编、C语言和混合编程三种
方法实现。;提示:定时查询方式实现LED灯闪烁;定时器寄存器(TIM)
定时器周期寄存器(PRD)
定时器控制器寄存器(TCR);定时器开始定时后,减1计数器开始计数,
计数到0再减1时产生借位,将会使中断标志
寄存器IFR的第3位TINT置1,在程序中可以
不断地查询该标志位的状态,以判断定时时
间到否。原理可参见教材。
定时时间=Tclk X (Ttddr+1) X (Tprd+1)
可以思考下面两个问题:
1、请计算在本例中最大定时时间?
2、该怎样用定时器查询方式实现LED闪烁。
;1)TCR中的TSS位置1,关闭定时器。
2)加载PRD。
3)重新加载TCR;给出定时器查询实现LED灯闪烁的汇编程序:;定时中断方式实现LED灯闪烁;给出“定时器中断实现LED灯闪烁”的汇编程序;中断向量表文件:;链接命令文件:;实例二 方波发生器设计
用TMS320VC5402实现方波发生器。假设时钟频率为4MHz,在XF端输出占空比为50%的方波,方波的周期由片上定时器确定,采用中断方法实现。;定时器初始化
关闭定时器,TCR中的TSS=1;
加载PRD。设定定时中断周期,每中断一次,输出端电平取反一次;
启动定时器,初始化TDDR,TSS=0,TRB=1;中断初始化
中断允许寄存器IFR中的定时中断位TINT=1,清除未处理完的定时中断;
中断屏蔽寄存器IMR中的定时屏蔽位TINT=1,开放定时中断;
状态控制寄存器ST1中的中断标志位INTM=0,开放全部中断。
;周期为4ms的方波发生器,定时中断周期为2ms,每中断一次,输出端电平取一次反。
初始化定时器0;
根据定时长度计算公式:Tt=T* (TDDR+1) * (PRD+1)
给定TDDR=9,PRD=79,CLKOUT主频f=4MHz,T=250ns
Tt=250*(9+1)*(79+1)=2,000,000(ns)=2(ms)
;#include stdio.h
#include stdlib.h
#include math.h
#include file.h
#include std.h
#define IMR *(volatile unsigned int *)0x00
#define IFR *(volatile unsigned int *)0x01
#define ST1 *(volatile unsigned int *)0x07
#define PRD *(volatile unsigned int *)0x25
#define TCR *(volatile unsigned int *)0x26
extern int flag=0;当前XF输出电平标志,
flag=1,则XF=1;否则,XF=0
interrupt void FB(void);
;主程序代码;中断服务程序代码;中断向量表文件vectors.asm;sint24 .space 4*16
sint25 .space 4*16
sint26 .space 4*16
sint27 .space 4*16
sint28 .space 4*16
sint29 .space 4*16
sint3
文档评论(0)