3.守时器A:
一切MSP430系列的FLASH型单片机都含有守时器A(Timer_A),由一个16位守时器和多路比较/捕获通道组成。每个比较/捕获通道都是以16位守时器的守时功用为中心进行独自的操控。
1)守时器由以下部分组成:
a)计数器部分:输入的时钟源具有4种挑选,所选定的时钟源又能够1、2、4、8分频作为计数频率。
b)捕获/比较器:用于捕获时刻发生的时刻或发生时刻距离,每个捕获/比较的结构完全相同,输入输出都决议于各自所带的操控寄存器的操控字,捕获/比较器相互之间独立。
c)输出单元:具有可选的8种输出形式,用于发生用户需求的输出信号并支撑PWM。
2)Timer_A寄存器:
a)TACTL:操控寄存器:POR信号后全都主动复位,PUC信号后不受影响。
i.TASSEL1,TASSEL0:挑选守时器输入分频器的时钟源,00为TACLK,特定的外部引脚的信号,01为ACLK,10为SMCLK,11为INCLK。
ii.ID1,ID0,输入分频挑选,00不分频,01为2分频,10为4分频,11为8分频。(由SSEL1,SSEL0挑选时钟源,然后再由ID0和ID1挑选分频系数将输入信号分频,分频后的信号才用于计数器计数)。
iii.MC1,MC0:计数模式操控位:00为中止计数,01为增计数形式,10为接连计数形式,11为增减计数形式。
iv.TACLR:守时器铲除位。POR或CLR置位时守时器和输入分频器复位。CLR由硬件主动复位,其读出时钟为0.
v.TAIE:守时器中止答应位,1时答应守时器溢出中止。
vi.TAIFG:守时器溢出标志位,增计数由CCR0到0时TAIFG置位,接连计数由0FFFFH计数到0时,TAIFG置位,增/减计数形式守时器由1减到0时TAIFG置位。
b)TAR:16位计数器,计数的主体,可读可写。(PA:当计数时钟不是MCLK时,在计数器中止计数时写,不然与CPU发生时刻竞赛,引荐先中止守时器,修正操控寄存器,再发动守时器作业)。
c)CCTLx:捕获/比较操控寄存器
i.CM1,CM0:挑选捕获形式,00为制止捕获形式,01为上升沿捕获,10为下降沿捕获,11为上升沿和下降沿都捕获。
ii.CCIS1,CCIS0:在捕获形式中用来界说供给捕获事情的输入源,00挑选CCIxA,01挑选CCIxB,10挑选GND,11挑选Vcc。
iii.SCS:挑选捕获信号与守时时钟同步,异步联系,0异步捕获,1同步捕获。(异步捕获答应在恳求时立行将CCIFG置位并捕获守时器的值,用于捕获信号周期远大于守时器周期的状况。实践常用同步捕获形式)。
iv.比较持平信号EQUx将选中的捕获/比较输入信号CCIx(CCIxA,CCIxB,Vcc,GND)进行锁存,可由SCCIx读出。
v.CAP:挑选捕获形式仍是比较形式,0为比较形式,1为捕获形式。(由比较形式改为捕获形式的次序:修正操控寄存器,由比较形式切换到捕获形式,再进行捕获)。
vi.OUTMODx:挑选输出形式。000为输出,001为置位,010位PWM翻转/复位,011为PWM置位/翻转,100为翻转,101为复位,110为PWM翻转/置位,111为PWM复位/置位。
vii.CCIEx捕获/比较模块中止答应位。0为制止中止,1为答应中止。
viii.CCIx:捕获/比较模块的输入信号,捕获形式:由CCIS0和CCIS1挑选的输入信号可经过该位读出。比较形式:CCIx复位。
ix.OUT:输出信号,0输出低电平,1输出高电平。
x.COV:捕获溢出标志,0为没有捕获溢出,1为发生捕获溢出。当挑选比较形式时,没有使COV置位的捕获事情。当挑选捕获形式时,假如捕获寄存器的值被读出前再次发生捕获事情,则COV置位。程序可检测COV来判别原值读出前是否又发生捕获事情。读捕获寄存器时不会使溢出中止标志位复位,需求软件复位。
xi.CCIFGx:捕获比较中止标志。捕获形式时寄存器CCRx捕获守时器TAR值时置位。比较形式守时器TAR值等于寄存器CCRx值时置位。
xii.CCRx:捕获/比较寄存器:在捕获/比较模块中,可读可写。在捕获办法,当满意捕获条件,硬件主动将计数器TAR数据写入该寄存器。假如丈量某窄脉冲(高电平)的脉冲长度,可界说上升沿和下降沿都捕获。在上升沿时捕获一个守时器数据,下降沿再捕获一个。其间CCR0常常用作周期寄存器,其他CCRx相同。
xiii.TAIV:中止向量寄存器。Timer_A中止可由计数器溢出引起,也能够来自捕获/比较寄存器。每个捕获/比较模块可独立编程,由捕获/比较外部信号以发生中止。外部信号能够是上升沿,能够是下降沿,能够两者均有。
1.Timer_A模块运用两个中止向量,一个独自分配给捕获/比较寄存器CCR0,另一个作为共用中止向量用于守时器和其他捕获/比较寄存器。
2.捕获/比较寄存器CCR0中止向量具有最高的优先级,由于其能用于界说增计数和增/减计数形式的周期,需求最快速的服务。CCIFG0在中止时能主动复位。
3.CCR1~CCRx和守时器共用另一个中止向量,归于多源中止,对应的中止标志位CCIFG1~CCIFGx和TAIFG1在读中止向量字TAIV后主动复位。若不拜访TAIV寄存器,则需软件铲除。
4.假如有Timer_A中止标志位,则TAIV为相应的数据。该数据与PC(程序计数器)相加可使体系主动进入呼应的中止服务程序。
3)守时器作业原理:
a)中止形式:用于守时器暂停,不发生复位,一切寄存器现在的内容在中止形式完毕后都可用。当守时器暂停后从头计数时,计数器将从暂停时的值开端以暂停前的计数方向计数。也可经过CLR来铲除守时器的方向回忆特性。
b)增计数形式:捕获/比较寄存器CCR0用作Timer_A增计数形式的周期寄存器,CCR0为16位寄存器,适用于守时周期小于65536的接连计数状况。计数器TAR能够增计数到CCR0的值,当计数值与CCR0值持平(或守时器值大于CCR0时),守时器复位并从0开端计数。
i.当守时器值等于CCR0时,设置标志位CCIFG0为1,当守时器从CCR0计数到0时,设置标志位TAIFG为1。
ii.计数过程中还能够经过改动CCR0的值来重置计数周期。当新周期大于旧周期时,守时器会直接增计数到新周期。
c)接连计数形式:在需求65536个时钟周期的守时器运用场合常用接连计数形式。守时器从当时值计数到0FFFFH后又从0开端计数。当守时器从0FFFFH到0时设置标志位TAIFG。
d)增/减计数形式:需求对称波形的状况常常能够运用增/减计数形式,该形式下,守时器先计数到CCR0的值,然后反向减计数到0。计数周期仍由CCR0界说,它是CCR0的2倍。
4)捕获/比较模块:Timer_A捕获/比较的每个模块都可用于捕获事情发生的时刻或发生守时刻隔。当捕获时刻发生或许守时时刻抵达都将引发中止。捕获/比较寄存器与守时器总线衔接,可在满意捕获条件时将TAR的值写入捕获寄存器;可在TAR的值与比较器值持平时设置标志位。经过CCTLx中的CAPx挑选形式,该模块可用于捕获形式,也可用于比较形式。用CCISx1和CCISx2挑选捕获的输入信号源,输入信号能够是来自外部引脚的信号,也能够是来自内部的信号。
a)捕获形式:这时假如在选定的引脚上发生设定的脉冲触发沿,则TAR的值写入CCRx。捕获完成后CCIFGx被置位,假如GIE和CCIEx答应,则发生中止。PA:捕获信号与守时器时钟同步,将捕获/比较中止标志置位,并将守时器数值存入捕获寄存器。他们同步特性可防止守时器和捕获信号的时刻竞赛。非同步信号支撑低速守时器的时刻运用。捕获时刻与守时器时钟或许发生时刻竞赛,因此导致捕获数据无效。
b)比较办法首要用于软件或许运用硬件发生守时,还能够为D/A转化、马达操控发生PWM信号。独立的输出模块被分配给各个捕获/比较寄存器的每一个,输出模块能够独立运转于比较功用,或以各种办法触发。当TAR的值大于或等于CCR0的值时,EQU0=1;当TAR的值等于相应的CCR1或CCR2时,EQU1=1或EQU2=1。
5)输出单元:每个捕获/比较模块都包括一个输出单元,用于发生输出信号。每个输出单元有8种作业形式,由OUTMOD0~3决议。
6)Timer_A完成PWM:
假如Timer_A守时器的计数器作业在增计数形式,输出选用形式7(复位/置位形式),则可使用寄存器CCR0操控PWM波形的周期,用某个寄存器CCRx来操控占空比。这样Timer_A就能发生恣意占空比的PWM波。
改动占空比的办法是:坚持CCR0的值(周期不变),改动CCRx的值(占空比变)