6.4 捕获比较模块
这是在以上介绍的基础上正式讲TA的重要功用。
先看一个寄存器TACCTL0-TACCTL6:(TA中最杂乱的寄存器,用到的时分查表啦)
CMx:捕获形式设定 00不捕获
01上升沿捕获
10下降沿捕获
11上升和下降沿都捕获
CCISx:捕获源的挑选 00CCIxA
01CCIxB
10GND
11VCC
SCS:同步捕获源,设定是否与时钟同步
0异步捕获
1同步捕获
SCCI:挑选的CCI输入信号由EQUx信号锁存,并可经过该位读取。
CAP: 0-比较形式 1-捕获形式
OUTMOD:输出形式操控位。(之后会在输出模块具体解说)
CCIE:中止使能,该位答应相应的CCIFG标志中止请求。
0-中止制止 1-中止答应
CCI3:捕获比较输入,所挑选的输入信号能够经过该位读取
OUT:关于输出形式0,该位直接操控输出状况。
0-输出低电平 1-输出高电平
COV:捕获溢出位。该位表明一个捕获溢出宣布,COV必须由软件复位。
0-没有捕获溢出产生 1-有捕获溢出产生
CCIFG:捕获比较中止标志位。
0-没有中止挂起 1-有中止挂起
最终一个寄存器TAIV:(还记得外部中止寄存器吗,里边相同存储的仅仅一个中止代号)
里边没有TACCR0的中止标志,由于TACCR0优先级最高,有一个专门的中止向量)
这儿边的标志位需求软件手动清零。一种状况破例:两个中止一起产生,先呼应优先级高的中止,当该中止服务程序完毕后,该位的中止标志会主动清零,然后去呼应别的一个中止。
6.4.1比较形式
TA启动时默以为比较形式。
(CAP=0时挑选比较形式)
比较形式简介:(也便是一般含义上的守时计时形式)
这是守时器的默许形式,当在比较形式下的时分,与捕获形式相关的硬件停止作业,假如这个时分敞开守时器中止,然后设置守时器终值(将终值写入TACCRx),敞开守时器,当TAR的值增加到和某个TACCRx里边的值持平的的时分,相应的中止标志位CCIFGx置一,一起中止标志位TAIFG置位。若中止答应未敞开则只将中止标志位CCIFGx置一。
(还记得51单片机的守时器吗)
留意:当Timer_A要用到TACCR0的值作为终值来计数(也便是增形式或许增减形式),很显然TACCR0的值一定要大于其TACCRx的值,不然那些比TACCR0大的计数值就没有存在的含义了。
下面是我画的一个图。比较形象的解说了作业原理。(期间TACCR的值不改动)
所谓的比较便是,假如计数器TAR中的值和某个TACCRx中的值持平了,那么相应的标志位就会置位。
这仅仅一个原理,实践使用的时分,会很灵敏,经过一个一个设定每次的TACCR值,能够得到想要的各种时刻距离。
总结:比较形式用于挑选PWM输出信号或在特定的时刻距离中止。当TAR计数到TACCRx的值时:
○相应的中止标志CCIFG置位;
○内部信号EQUx=1
○EQUx依据输出形式来影响输出信号
○输入信号CCI锁存到SCCI