定时器,作为MCU最重要也是最基本的功能集成在每一个MCU中。随着MCU功能的日渐强大,定时器的功能也越来越强大,因此配置和使用起来也就比较麻烦,下面我们针对MSP430的Timer模块进行详细讲解,配合多种可以直接使用的例程,方便用户直接移植和深入理解。
首先,普及一下定时器知识:本质上就是一个计数器,可以由用户自定义计数的值,同时到达计数值后可以执行相应的动作,因此可以时间周期性动作,采集捕捉动作等,用于实时控制及多种功能实现。
MSP430 MCU中有三种定时器:Timer_A Timer_B Timer_D.
首先 Timer_D定时器基本没有集成在MCU中,很少很少使用,是一个高分辨率的定时器,因此我们不做讲解(内部寄存器和使用与Timer_A/B很是相似,如果有用户用到,可以直接参考,如果有人需要可以留言,我会开贴再次单独讲解Timer_D)。
因此本次内容主要讲解一下Timer_A和Timer_B定时/计数器。首先先说一下MSP430 MCU内部Timer的主要功能:
16位定时/计数器,支持四种工作模式/计数模式:STOP UP Continuous UP/DOWN
输入捕捉功能
输出比较功能,即PWM波功能
主要就这三种功能,用户在使用过程中也就是这三种功能,然后Timer有一些自己的特点:
时钟源可以选择
异步输入,输出所存
中断向量寄存器等
|