流水灯定时控制的资料.pptVIP

  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文档。上传文档
查看更多
流水灯定时控制 定时器设置要领 软件设计 CMD详解 CPU定时器结构 CPU-TIMER的基本工作流程: 首先把周期寄存器PRDH:PRD(32位)的值加载到计数寄存器TIMH:TIM(32位); 然后计数器对SYSCLKOUT时钟递减计数。当计数器等于0时,定时器中断输出信号将产生一个中断脉冲。 计数寄存器TIM 周期寄存器PRD 控制寄存器TCR 预定表计数器低位及高位TPR,TPRH 定时器寄存器简介 计数寄存器(TIMERxTIM) (其中,x=0,1,2,下同) 32 位计数寄存器(TIMH:TIM)中,TIM 为计数寄存器低16 位,TIMH 为计数寄存器高16 位。每一个定时器时钟周期(TDDRH:TDDR+1)/ SYSCLKOUT,TIM 减1,其中,(TDDRH:TDDR)是定时器预定标分频值。当(TIMH:TIM)减到0 时,(TIMH:TIM)重装定时器周期值(PRDH: PRD),同时产生定时器中断TINT 周期寄存器(TIMERxPRD) 32 位周期寄存器(PRDH:PRD)中,PRD 为周期寄存器低16 位,PRDH 为周期寄存器高16 位。当(TIMH:TIM)减到0 时,在下一个定时器输入时钟周期开始时,(TIMH:TIM)将重装(PRDH:PRD)的周期值;或者当定时器控制寄存器(TCR)的TRB 置位(节点赋值为1)时,(PRDH:PRD)的周期值也装入(TIMH:TIM) 定时器分频寄存器(TDDRH:TDDR) 16 位分频寄存器(TDDRH:TDDR)中,TDDR 为分频寄存器低8 位,TDDRH 为分频寄存器高8 位。每过一个定时器时钟周期,定时器计数器寄存器(TIMH:TIM)减1。当预定标器计数器(PSCH:PSC)减到0,一个系统时钟周期后,(TDDRH:TDDR)的值重装(PSCH:PSC),同时(TIMH:TIM)减1。无论何时,用软件置定时器重装位(TRB)为1,(TDDRH:TDDR)重装(PSCH:PSC)(装载寄存器 ) 预定标计数器低位及高位寄存器(TIMERxTPR,TIMERxTPRH) 定时器预定标计数器低位及高位寄存器结构及位域定义见图,它由16位分频寄存器(TDDRH:TDDR)和16 位预定标器计数器(PSCH:PSC)组合而成 控制寄存器(TIMERxTCR) TCR 是一个16 位的寄存器 它在所有运算符中优先级最高 */ Timer-RegsAddr-TCR.bit.TSS=1;//停止定时器 Timer-RegsAddr-TCR.bit.TRB=1; //重装定时器 Timer-RegsAddr-TCR.bit.SOFT=1; Timer-RegsAddr-TCR.bit.FREE=1; //定时器自由运行 Timer-RegsAddr-TCR.bit.TIE=1; //使能定时器中断 Timer-InterruptCount=0; //复位中断计数器 ?} 定时器控制寄存器TIMERxTCR的定义 控制定时器速率的几个因素 定时器时钟 定时器时钟源即为系统时钟SYSCLKOUT,改变系统时钟SYSCLKOUT 可控制定时器速率 定时器周期值的设置 定时器周期寄存器(PRDH:PRD)的周期值用于重装定时器计数器(TIMH:TIM)。周期值的大小决定了(TIMH:TIM)减1~0 的快慢 定时器分频器值的设置 (TDDRH:TDDR)的值起到了对系统时钟分频的作用。当(TDDRH:TDDR)=0 时,定时器时钟源时钟直接采用系统时钟,不分频,否则分频为:定时器时钟=SYSCLKOUT/((TDDRH:TDDR)+1) 启动定时器0 步骤 在通过InitCpuTimers()函数对定时器0 进行初始化(默认状态)之后,按ConfigCpuTimer 函数中的步骤进行 1、CPU 定时器0 时钟配置 CPU 定时器的时钟源与系统时钟SYSCLKOUT 同步。因此,对定时器时钟源的配置实际上就是对系统时钟SYSCLKOUT 的配置。具体配置可参见DSP281x_ SysCtrl.c 文件中的InitPll()函数及式 2、定时器0中断的设置 使能定时器0 中断有两条必须的指令: CpuTimer0Regs.TCR.bit.TSS= 0; //启动定时器 Timer-RegsAddr-TCR.bit.TIE=1; //使能定时器中断 如果缺少上面两条指令中的一条,将不会产生中断。 使能PIE 级及CPU 级中断向量 由下面4 类指令完成: 1、先找出中断向量在PIE 向量表

文档评论(0)

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

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

1亿VIP精品文档

相关文档