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 置位时时钟分频器复位。

定时器模式控制

MCx 模式 类型
00 暂停模式 定时器停止
01 增计数模式 定时器从零重复计数到TACCR0
10 连续计数模式 定时器从0重复计数到0FFFFh
11 增/减计数模式 计时器从零重复计数到 TACCR0 的值,然后倒退到零

增计数模式
如果定时器周期必须与 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有以下几种情况:

t_dead=t_timer× (TACCR1 − TACCR2)
t_dead 两个输出都需要处于非活动状态的时间
t_timer 定时器时钟的周期时间
TACCR1 捕获/比较寄存器 x 的内容

TACCRx 寄存器没有缓冲。它们在写入时立即更新。因此,不会自动保持任何所需的dead时间.

--------------------------------------内容结束--------------------------------------
本文内容参考"MSP430x1xx User’s Guide"

MSP430F169 Timer_A原理(一)----定时器的四个模式相关推荐

  1. android+定时器+动画,Android 实现定时器的四种方式总结及实现实例_Android_脚本之家...

    Android中实现定时器的四种方式 第一种方式利用Timer和TimerTask 1.继承关系 java.util.Timer 基本方法 schedule 例如: timer.schedule(ta ...

  2. 国科大学习资料--人工智能原理与算法-第四次作业解析(学长整理)

    国科大学习资料–人工智能原理与算法-第四次作业解析(张文生老师主讲)(4.4.4.12) 4.4 生成大量的八数码问题和八皇后问题并用以下算法分别求解(如果可能的话):爬山法(最陡上升和首选爬山法), ...

  3. 汇编原理自我总结(四)

    汇编原理自我总结(四) 第十三章 int指令 13.1 int 指令 int指令的格式:int n(n为中断码),供能是引发中断过程. 执行过程如下: 取中断类型码n: 标志寄存器入栈,TF = 0, ...

  4. 大数据技术原理与应用作业四

    大数据技术原理与应用作业四 1. 试述在Hadoop体系架构中HBase与其他组成部分的相互关系. HBase利用Hadoop MapReduce来处理HBase中的海量数据,实现高性能计算: 利用Z ...

  5. lvs工作在第几层_LVS 原理(调度算法、四种模式、四层负载均衡和七层 的区别)...

    目录 lvs的调度算法 lvs的四种模式 四层均衡负载和七层的区别 1.lvs调度算法(最常用的四种) 轮叫调度(rr) 调度器通过外部请求的顺序轮流分配到集群中的真实服务器上,对每台服务器都是均等的 ...

  6. MSP430 5xx/6xx 定时器A增计数模式编程实例

    Timer_A是一个16位定时器/计数器,最多有7个捕获/比较寄存器.Timer_A可支持多个捕获/比较.PWM输出和间隔定时.Timer_A还具有广泛的中断功能.计数器的溢出和每个捕获/比较寄存器都 ...

  7. MSP430定时器A的计数模式的简单介绍(会中文就能看懂)

    首先明白一个概念:定时器A == Timer_A == TA 之后的大部分定时器内容如TACCR0,TACTL等,都指的是定时器A的寄存器 然后,TIMER_A有四种计数模式,下面将一一解释 (为了方 ...

  8. spi协议时序图和四种模式实际应用详解

    大家好,我是无际. 上个章节我们讲解了spi接口定义,今天我们更加深入讲解下spi协议时序图和spi四种模式的用法. 刚开始接触单片机开发时,最怕就是看时序图,对于我来说就是奇怪的知识. 特别是SPI ...

  9. 设计模式 ( 十四 ) 迭代器模式Iterator(对象行为型)

    设计模式 ( 十四 ) 迭代器模式Iterator(对象行为型) 1.概述 类中的面向对象编程封装应用逻辑.类,就是实例化的对象,每个单独的对象都有一个特定的身份和状态.单独的对象是一种组织代码的有用 ...

最新文章

  1. WPF中为Grid增加边框
  2. Introduction to Big Data with Apache Spark 课程总结
  3. android 蓝牙不停扫描,android – BluetoothAdapter不会停止扫描BLE设备
  4. UVA 11401 - Triangle Counting
  5. java中有scoreframe类型嘛_java构造函数的三种类型总结
  6. 【BZOJ4407】于神之怒加强版
  7. Mob统计分析游戏类App详细埋点需求
  8. Remote Desktop Manager for Mac(远程桌面管理)
  9. 颠覆大数据分析之Storm简介
  10. CGLIB实现AOP,MethodInterceptor接口和Enhancer详解——Spring AOP(四)
  11. 通过matlab实现正交表
  12. 2008 r2彻底删除 server sql_SQL Server 2008 r2 完全卸载方法分享
  13. RAID磁盘阵列简介
  14. excel自动换行快捷键_Excel中Alt键的10大应用技巧解读
  15. 【IT职业】IT人的职业规划
  16. 《软件工程——实践者的研究方法》重难点复习笔记(第八章——理解需求)
  17. 图书api 查询图书内容
  18. GIT Enter passphrase for key 'xxx': 已解决
  19. 【建议收藏】一份网络安全面试宝典请查收!!
  20. 管理学10大经典定律

热门文章

  1. Windows Azure SSTP模式×××配置
  2. Spring中@Transactional事务回滚(含实例详细讲解,附源码)
  3. 前目的地罗伯森是谁_《前目的地》阴谋论,还有一些疑点分析
  4. 图片加载优化,拒绝OOM
  5. 转载 达芬奇五年沉浮——嵌入式处理器架构之争决战2012
  6. vulkan管线学习10
  7. MySQL数据操作与查询笔记 • 【目录】
  8. 阿里字体图标之Symbol用法
  9. 在R700上重新安装了Ubuntu kylin 14.04
  10. oracle_tpch导数据,TPCH数据导入postgresql教程