DSP代码分析报告--中南大学.docxVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
DSP代码分析报告--中南大学

DSP原理及应用代码分析报告院 系: 专业班级: 学生姓名: 学 号: 指导老师: 应用DSP2407开发板实现LED的定时器控制基本原理概述DSP的IO口没有单片机的IO口的驱动能力强,不能直接接LED。所以在核心板中采用的是三极管驱动电路,如图所示:定时器是片内减一计数器,用于周期性地产生CPU中断。片内定时器是可编程的,TMS320C54x系列芯片有3个存储器映像寄存器,DSP2407开发板与之相比大同小异。定时器由定时寄存器TIM、定时周期寄存器PRD、定时控制寄存器TCR及相应的逻辑控制电路组成,分辨率是器件的时钟输出CLKOUT频率。其逻辑框图如下:定时器的定时周期为:  CLKOUT×(TDDR+1)×(PRD+1) 其中,CLKOUT为时钟周期,TDDR和PRD分别为定时器的分频系数和时间常数。在正常工作情况下,当TIM减到0后,PRD中的时间常数自动地加载到TIM。当系统复位或者定时器单独复位时,PRD中的时间常数重新加载到TIM。同样地,每当复位或PSC减到0后,定时器分频系数TDDR自动地加载到PSC。PSC在CLKOUT作用下,作减1计数。当PSC减到0时,产生一个借位信号,令TIM作减l计数。TIM减到0后,产生定时中断信号TINT,传送至CPU和定时器输出引脚TOUT,从而控制LED灯的亮与灭。二.(C语言)主要程序分析/*Main.c,LED与定时器程序*/#include global.c void SystemInit();void Timer1Init(); void KickDog();int numled=200;main(){ SystemInit(); /*系统初始化*/ MCRA=MCRA 0xC0FF; //IOPB0-6设为IO口模式 PBDATDIR=0xFFC2; //所有LED=0 PBDATDIR=PBDATDIR |0x003D; //所有LED=1 Timer1Init(); /*定时器初始化*/ asm( CLRC INTM ); while(1); }void SystemInit() { asm( SETCINTM );/* 关闭总中断 */asm( CLRC SXM );/* 禁止符号位扩展 */ asm( CLRC CNF ); /* B0块映射为 on-chip DARAM*/asm( CLRC OVM ); /* 累加器结果正常溢出*/SCSR1=0x83FE;/* 系统时钟CLKOUT=20*2=40M */ /* 打开ADC,EVA,EVB,CAN和SCI的时钟,系统CLKOUT=40M */WDCR=0x006F;/* 禁止看门狗,看门狗时钟64分频 */ KickDog();/* 初始化看门狗 */ IFR=0xFFFF;/* 清除中断标志 */ IMR=0x0002;/* 打开中断2*/ } void Timer1Init(){ EVAIMRA=0x0080;//定时器1周期中断使能 EVAIFRA=0xFFFF;//清除中断标志 GPTCONA=0x0000;T1PR=2500;//定时器1初值,定时0.4us*2500=1ms T1CNT=0;T1CON=0x144E; //增模式, TPS系数40M/16=2.5M,T1使能}void c_int2() /*定时器1中断服务程序*/{ if(PIVR!=0x27){ asm( CLRC INTM );return;}T1CNT=0;numled--;if(numled==0){numled=200;if((PBDATDIR 0x0001)==0x0001) PBDATDIR=PBDATDIR 0xFFFE; //IOPB0=0;LED灭 elsePBDATDIR=PBDATDIR |0x0101; //IOPB0=1;LED亮 } EVAIFRA=0x80; asm( CLRCINTM );} void KickDog()/*踢除看门狗 */{WDKEY=0x5555;WDKEY=0xAAAA;}三.算法分析从主程序main函数可以看出,程序主要时按照顺序结构编写的,主要包括DSP系统初始化、定时器初始化和中断服务子程序。其算法流程图如下:等待中断产生开始DSP系统初始化定时器初始化中断向量初始化图1. 主程序流程图关中断初始化IO口和时钟初始化看门狗关中断图2. DSP系统初始化定时器1周期中断使能清除中断标志定时器1赋初值增模式, TPS系数40M/16=2.5M图3. 定时器初始化中断打开改变LED灯状态

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档