![7d94f5ac8f969e50d4b9aca85f118341.png](https://i-blog.csdnimg.cn/blog_migrate/0ec69df66c13dcba4b8bb16b99e583e4.jpeg)
单片机MSP430入门-理论⑦--定时器模块-定时器A②
上期大概给大家汇总介绍了,定时器模块中比较重要并且常用的定时器A,大概说了下定时器A的两种常用模式,比较模式和捕获模式
![c494915c681631757bf8daeb6cf9591e.png](https://i-blog.csdnimg.cn/blog_migrate/0146d4c1ebf114864e6228f73b4479f7.jpeg)
本期将继续介绍定时器A,这次将整理一些关于定时器A的,各寄存器的用法以及功能
1.0 首先说一下TACTL控制寄存器
![10a15f7a7622a98165b8e71a1b8befb6.png](https://i-blog.csdnimg.cn/blog_migrate/632e3332fdc393985beca6dbad5171f5.jpeg)
先大概解释下这几个位的作用:
Unused bits 15-10 未定义
TASSELx bits 9-8 选择Timer_A的时钟源,
00为TACLK(用于特定的外部引脚信号),01为ACLK(辅助时钟),10为SMCLK(子系统时钟),11为INCLK(见器件说明)
IDx bits 7-6 给时钟源确定分频因子,
00为不分频,01为时钟源的二分之一,10为时钟源的四分之一,11为时钟源的八分之一
MCx bits 5-4 设置定时器模式,
如果定时器不使用可以设置成00这样省电,
00 就是停止模式,
![e108788d9eeb32085d1a96f077cb9a9b.png](https://i-blog.csdnimg.cn/blog_migrate/7f3503d1ccb1fa6bb4d355e8562d171d.png)
01 为增计数模式意思是有信号后不断递加直到TACCR0的值,这时TACCTLx寄存器的捕获/比较中断CCIFG标志置位,
![64aa0bc457ec89e3980ffd4d7c5bfe95.png](https://i-blog.csdnimg.cn/blog_migrate/35ce04cec55f3b9c3ce4325c892c0456.png)
10 为连续计数模式,他会累计计数到0FFFFh最大值后再回到0,这时TAIFG就会置位(TAIFG为溢出中断标志),但不会产生中断,只有当中断打开TAIE=1的时候才会产生中断,在这个循环往复的过程中可以设置不同的CCR0来产生比较捕获中毒CCIFG标志,
![7f4b45ba17b5f8ba08decbe669d1dc96.png](https://i-blog.csdnimg.cn/blog_migrate/a7d98cfe9ae14944c3db8e1ab55b41aa.png)
11 增/减计数模式,他会先计数到TACCR0,然后再减值到0000h,这个过程中,当增到CCR0时会触发比较/捕获中断CCIFG置位,当再次减到0时会让溢出中断TAIFG置位
Unused bits 3 Unused
TACLR bits 2 定时器清除,
当这个位置位时,定时器和输入分频器会复位,然后CLR由硬件自动复位,他的读出始终为0,定时器将在下一个有效输入沿开始工作,这时候的定时器可能存在要么是处于清洁模式控制暂停中,要么会以默认的增计数模式开始工作
TAIE bits 1 定时器中断允许位,
0为禁止定时器溢出中断,1为允许定时器中断
TAIFG bits 0 定时器溢出中断标志,
增计数模式:当定时器由CCR0计数到0时,TAIFG置位
连续计数模式:当定时器由0FFFFH计数到0时,TAIFG置位
增/减计数模式:当定时器由CCR0减计数到0时,TAIFG置位