MSP430F169 Timer_A原理(一)----定时器的四个模式
2022-10-08 来源:csdn
Timer_A简介
Timer_A是程序设计的核心,它有一个十六位定时器和多路比较/捕获通道组成。每一个比较/捕获通道都以十六位定时器的定时功能为核心进行单独的控制。
Timer_A特点
1、具有四种工作模式的异步16位定时器/计数器
2、可选择和可配置的时钟源
3、三个可配置的捕获/比较寄存器
4、具有 PWM 功能的可配置输出
5、异步输入和输出锁存
6、用于快速解码所有 Timer_A 中断的中断向量寄存器
Timer_A定时器框图和MSP430F169引脚图
启动定时器
定时器时钟可以来自 ACLK、SMCLK或外部通过 TACLK 或 INCLK。时钟源通过 TASSELx 位选择。选定的时钟源可以直接传递给定时器,也可以使用 IDx 位除以 2、4或 8。TACLR 置位时时钟分频器复位。
定时器模式控制
增计数模式
如果定时器周期必须与 0FFFFh 计数不同,则使用增计数模式。定时器重复计数到比较寄存器 TACCR0 的值,该值定义了周期,如图 11-2 所示。周期内定时器计数为TACCR0+1。当定时器值等于 TACCR0 时,定时器从零重新开始计数。如果定时器值大于 TACCR0 时选择增计数模式,定时器立即从零重新开始计数。
(当定时器计数到 TACCR0 值时,TACCR0 CCIFG 中断标志被设置。当定时器从 TACCR0 计数到零时,TAIFG 中断标志被设置。图 11-3 显示了标志设置周期)
连续计数模式
在连续计数模式下,定时器重复计数到 0FFFFh 并从零重新开始,如图 11-4 所示。捕获/比较寄存器 TACCR0 的工作方式与其他捕获/比较寄存器相同。
当定时器从 0FFFFh 计数到零时,TAIFG 中断标志被设置。图 11-5 显示了标志设置周期。
连续计数模式的使用
连续模式可用于生成独立的时间间隔和输出频率。每完成一个间隔,就会产生一个中断。下一个时间间隔被添加到中断服务程序中的 TACCRx 寄存器中。图 11-6 显示了两个单独的时间间隔 t0 和 t1 被添加到捕获/比较寄存器。在这种用法中,时间间隔由硬件而非软件控制,不受中断延迟的影响。使用所有三个捕获/比较寄存器可以生成多达三个独立的时间间隔或输出频率。
增/减计数模式
如果定时器的周期必须与0FFFFh计数不同,并且需要产生对称的脉冲,则采用上/下模式。定时器重复计数到比较寄存器TACCR0的值,然后再回落到0,如图11-7所示。周期是TACCR0中数值的两倍。
计数方向被锁存。这允许计时器停止,然后在它停止之前计数的相同方向重新启动。如果不需要,则必须设置TACLR位以清除方向。TACLR 位也清除 TAR 值和时钟分频器。在 up/down 模式下,TACCR0 CCIFG 中断标志和 TAIFG 中断标志。
在一个周期内只设置一次,间隔 1/2 的定时器周期。当定时器从 TACCR0-1 到 TACCR0 计数时,TACCR0 CCIFG 中断标志被设置,当定时器从 0001h到 0000h完成倒计时时,TAIFG 被设置。图 11-8 显示了标志设置周期。
使用增/减模式
上升/下降模式支持需要输出信号之间的死区时间的应用(参见 Timer_A 输出单元部分)。例如,为避免过载情况,驱动 H 桥的两个输出绝不能同时处于高态。在图 11-9 所示的示例中,t_dead有以下几种情况:
TACCRx 寄存器没有缓冲。它们在写入时立即更新。因此,不会自动保持任何所需的dead时间.
--------------------------------------内容结束--------------------------------------
本文内容参考'MSP430x1xx User’s Guide'
- MSP430F169 Timer_A原理(二)------Timer_A捕获模式
- MSP430F169 FLASH 操作
- MSP430F169——CLOCK
- MSP430F169(二)——UART波特率(论上)
- MSP430F169(二)——UART中断(论下)
- MSP430F169(三) ---- 使用UART实现PC与单片机的数据收发并在1602 液晶显示
- 基于MSP430F169的水声遥控发射系统设计
- 基于MSP430F169的环境光自适应LED显示屏设计
- MSP430F169(五)——时钟
- MSP430F5529火箭板 --->基于定时器A的LED灯闪烁实验(含Timer_A分析)