![c332d817326dbff28641f5ab9b00b041.png](https://i-blog.csdnimg.cn/blog_migrate/ac0252621c168602ff9725812f6ca7be.jpeg)
单片机MSP430入门-理论⑥--定时器模块-定时器A
上期大概给大家汇总介绍了,在MSP430环境下的定时器模块,其中主要又说了下看门狗定时器,这是一款比较特别的定时器,又能当定时器,又能当系统错误复位重启
![674ce35cd7be35d7dc72af2812f8bdd6.png](https://i-blog.csdnimg.cn/blog_migrate/38ffeba9b6c1a3a341ab83e05132faa3.jpeg)
本期将重点介绍下,定时器模块中另一个比较重要常用的,定时器A
1.0 先上图,这是定时器A的逻辑图,手册上都有
![ae893284af740813b482a7f7bb9e0855.png](https://i-blog.csdnimg.cn/blog_migrate/5e4dbf9eb68659803169a9fc6c867b9b.jpeg)
![25b83ba156843dd992174cd2c4be92eb.png](https://i-blog.csdnimg.cn/blog_migrate/053e6ea45d2cc94784cb10efc8b9a8d4.jpeg)
![772ac285a7ac3c0a056f572e58b4b21e.png](https://i-blog.csdnimg.cn/blog_migrate/246baa0f28321f63ac25f97dd6382d84.png)
上面这三个图,代表了定时器A模块的,定时器功能和3个捕获比较功能,利用这些功能组合使用,能让我们实现计时,延时,信号频率测量,信号触发检测,脉冲脉宽信号测量,PWM信号发生,另外通过软件还能用作串口的波特率发生器。
2.0 下面我们来看下这个Timer_A的寄存器,如下图,他包括了一个16位计数器TAR,三个捕获/比较寄存器CCRx,三个捕获/比较控制寄存器CCTLx
![35a873ce28662c3623503a31e22b969b.png](https://i-blog.csdnimg.cn/blog_migrate/ffee107f639f68329434d1439b5292ba.jpeg)
3.0 这里说下Timer_A寄存器常用的比较模式跟捕获模式
3.1 比较模式,
是该定时器的默认模式,这时候所有的捕获硬件是不工作的,这个模式下,当定时器中断打开,并且开启了定时器,当定时器TAR的数值等于比较寄存器的值时,就会产生中断请求。如果没有开启定时器中断,则定时器只会让中断标志CCIFGx置位,同时EQUx信号为真,不然就为假,利用它可以控制输出产生占空比可变的PWM波形输出
3.2 捕获模式
主要是利用信号的上升沿,下降沿或正负沿任一组合,测量外部或内部事件。外部触发事件可以用CCISx选择CCIxA,CCIxB,GND和Vcc源,完成捕获后相应的中断标志CCIFGx置位,捕获是当外部有信号进来后触发,把定时器的TAR值捕获到自己的锁存寄存器TxCCRx中,你可以随时读出。TxCCTx为16位可读可写,一般应用可以通过两次捕获外部事件来确定外部脉冲信号的宽度