微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > MSP430学习笔记(2)定时器A

MSP430学习笔记(2)定时器A

时间:11-27 来源:互联网 点击:

向量,属于多源中断,对应的中断标志位CCIFG1~CCIFGx和TAIFG1在读中断向量字TAIV后自动复位。若不访问TAIV寄存器,则需软件清除。

4.如果有Timer_A中断标志位,则TAIV为相应的数据。该数据与PC(程序计数器)相加可使系统自动进入响应的中断服务程序。

3)定时器工作原理:

a)停止模式:用于定时器暂停,不发生复位,所有寄存器现在的内容在停止模式结束后都可用。当定时器暂停后重新计数时,计数器将从暂停时的值开始以暂停前的计数方向计数。也可通过CLR来清除定时器的方向记忆特性。

b)增计数模式:捕获/比较寄存器CCR0用作Timer_A增计数模式的周期寄存器,CCR0为16位寄存器,适用于定时周期小于65536的连续计数情况。计数器TAR可以增计数到CCR0的值,当计数值与CCR0值相等(或定时器值大于CCR0时),定时器复位并从0开始计数。

i.当定时器值等于CCR0时,设置标志位CCIFG0为1,当定时器从CCR0计数到0时,设置标志位TAIFG为1。

ii.计数过程中还可以通过改变CCR0的值来重置计数周期。当新周期大于旧周期时,定时器会直接增计数到新周期。

c)连续计数模式:在需要65536个时钟周期的定时器应用场合常用连续计数模式。定时器从当前值计数到0FFFFH后又从0开始计数。当定时器从0FFFFH到0时设置标志位TAIFG。

d)增/减计数模式:需要对称波形的情况经常可以使用增/减计数模式,该模式下,定时器先计数到CCR0的值,然后反向减计数到0。计数周期仍由CCR0定义,它是CCR0的2倍。

4)捕获/比较模块:Timer_A捕获/比较的每个模块都可用于捕获事件发生的时间或产生定时间隔。当捕获时间发生或者定时时间到达都将引发中断。捕获/比较寄存器与定时器总线连接,可在满足捕获条件时将TAR的值写入捕获寄存器;可在TAR的值与比较器值相等时设置标志位。通过CCTLx中的CAPx选择模式,该模块可用于捕获模式,也可用于比较模式。用CCISx1和CCISx2选择捕获的输入信号源,输入信号可以是来自外部引脚的信号,也可以是来自内部的信号。

a)捕获模式:这时如果在选定的引脚上发生设定的脉冲触发沿,则TAR的值写入CCRx。捕获完成后CCIFGx被置位,如果GIE和CCIEx允许,则产生中断。PA:捕获信号与定时器时钟同步,将捕获/比较中断标志置位,并将定时器数值存入捕获寄存器。他们同步特性可避免定时器和捕获信号的时间竞争。非同步信号支持低速定时器的时间应用。捕获时间与定时器时钟可能产生时间竞争,因而导致捕获数据无效。

b)比较方式主要用于软件或者应用硬件产生定时,还可以为D/A转换、马达控制产生PWM信号。独立的输出模块被分配给各个捕获/比较寄存器的每一个,输出模块可以独立运行于比较功能,或以各种方式触发。当TAR的值大于或等于CCR0的值时,EQU0=1;当TAR的值等于相应的CCR1或CCR2时,EQU1=1或EQU2=1。

5)输出单元:每个捕获/比较模块都包含一个输出单元,用于产生输出信号。每个输出单元有8种工作模式,由OUTMOD0~3决定。

6)Timer_A实现PWM:

如果Timer_A定时器的计数器工作在增计数模式,输出采用模式7(复位/置位模式),则可利用寄存器CCR0控制PWM波形的周期,用某个寄存器CCRx来控制占空比。这样Timer_A就能产生任意占空比的PWM波。

改变占空比的方法是:保持CCR0的值(周期不变),改变CCRx的值(占空比变)

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top