CCS5.4+Proteus8的F28027实践课二、定时器0控制LED流水灯

刚游泳回来,看到昨晚那篇博客访问量比较高,对我是莫大的鼓励,所以马不停蹄的去找了相关的手册准备我们今天的课程。
今天我们要说的是用定时器0产生的定时中断让LED闪烁。
大家都是大部分都是工科出身,应该都学过单片机,单片机也有定时器,跟我们DSP原理都是类似的,但有一点不同:单片机的定时器是加计数器,也就是装载一个预值后,在这个值的基础上进行递加,直到溢出产生中断;我们这款DSP芯片是减计数器,装载预值后,在时钟的基础上进行递减,直到减到0的下一个时钟产生中断。
类似毕竟类似,不是完全一样,我们现在来具体看下F28027的定时器。
我们在中断那节课的时候,96个中断是如何分布的,现在我们回顾下三个定时器
中断图
现在来介绍三个定时器和工作流程图:
工作流程
三个定时器没有太大的区别,就是定时器2是为DSP/BIOS保留,如果DSP/BIOS没有使用,定时器2也可以当成通用定时器来处理。
定时器的工作流程其实上面那个图已经很好的解释了,我来复述下:
1、如图左上角那个或门,当CPU复位或者有定时器装载信号的时候,模块1就会收到一个装载信号,会把32位寄存器PRDH:PRD的值填充到TIMH:TIM寄存器中;模块2也会收到这个装载信号,会把16位寄存器TDDRH:TDDR的值填充到PSCH:PSC寄存器中;
2、如果左侧的与门,当TCR寄存器的第五位(定时器启动位)开启时,SYSCLKOUT时钟信号就是送到16位PSCH:PSC寄存器中进行减计数;
3、当PSCH:PSC寄存器的值减到0时,会产生一个中断信号,这个中断信号分两路走:一个是送往TDDRH:TDDR寄存器,使TDDRH:TDDR寄存器的值自动装载到PSCH:PSC寄存器;另一个是当做时钟信号送往TIMH:TIM寄存器做减计数;
4、当TIMH:TIM寄存器的值减到0时,会产生一个中断信号,这个中断信号分两路走:一个是送往PRDH:PRD寄存器,使PRDH:PRD寄存器的值自动装载到TIMH:TIM寄存器;另一个是直接成为系统定时中断信号输出。
怎么样,听我一讲,大家是不是对这个图有了非常清晰的认识,呵呵,最后再来一幅图加固下理解:
定时器时钟
所以定时器的定时时间T=(TIMH:TIM+1)(PRDH:PRD+1)定时器的输入时钟
现在原理性的东西已经讲完了,我们就要开始了解具体的寄存器操作和使用了。
先来看寄存器,其实我们刚才已经把寄存器的使用大概都已经讲了,现在当做温习了。
寄存器
这是总的寄存器说明表,是不是相对比较少,而且就一个控制寄存器TCR,其他都是定时器装载寄存器。
那就从TCR开始了解:
TCR
TCR
本来想只标一个圈圈的,可是看了寄存器位值说明后,发现每一位都很重要。。
TIF-中断标识位,TIE-中断使能位,FREE:SOFT-仿真模式,TRB-中断定时器值加载位,TSS-停止状态位。
说完TCR,其他几个装载寄存器就直接贴图了,这个没什么好讲的。
TIM
TIMH
PRD
PRDH
TPR

  • 8
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值