MSP430F5529 (六)定時(shí)器Timer_A-1
TACLR位會(huì)自動(dòng)復(fù)位并置0
TAIE:定時(shí)器中斷使能
0:中斷禁止
1:中斷允許
TAIFG:中斷標(biāo)志位
0:沒有中斷發(fā)生
1:有中斷掛起
6.2.2 計(jì)數(shù)值存放寄存器TAR
①顯然,最大存放計(jì)數(shù)值為0xFFFFh;
②(類似51單片機(jī))可以被用來存放一個(gè)初值,然后選用連續(xù)模式。這樣不斷計(jì)滿再手動(dòng)填充,從而達(dá)到精確計(jì)時(shí)的效果;
③默認(rèn)為0,且對(duì)該寄存器可以直接賦值;
6.2.3 擴(kuò)展寄存器TAEX0
很簡單,這個(gè)寄存器就是為了控制時(shí)鐘源的二次分頻(看結(jié)構(gòu)圖)。
該寄存器的低3為定義為TAIDEX:000-111分別表示1-8分頻
6.2.4 捕獲/比較寄存器TACCR0-TACCR4(共5個(gè))
比較模式下,用來設(shè)定計(jì)數(shù)終值;
捕獲模式下用來將捕獲的TAR值存放進(jìn)TACCRx中。
6.3 MC控制的四種工作模式的詳細(xì)講解
6.3.1 MC=0停止模式
這是系統(tǒng)默認(rèn)的模式,定時(shí)計(jì)數(shù)器禁止工作。
6.3.2 MC=1增模式
總結(jié)幾句話:(紅色標(biāo)記的很重要)
①此模式下嚴(yán)禁從0xffff開始計(jì)數(shù);
②注意從0計(jì)到TACCR0,實(shí)際上記了TACCR0+1個(gè)數(shù);
③計(jì)到TACCR0后,會(huì)回到0重新開始計(jì)數(shù);
④如果TAR的值大于TACCR0,這時(shí)候會(huì)立即從0開始計(jì)數(shù);
⑤當(dāng)定時(shí)器計(jì)數(shù)到TACCR0的值時(shí),中斷標(biāo)志CCIFG位(之后會(huì)講到)置位。當(dāng)定時(shí)器由TACCR0返回0時(shí),TAIFG中斷標(biāo)志置位;
⑥在定時(shí)器運(yùn)行時(shí)修改TACCR0,如果新的周期值大于或等于舊的周期值,或大于當(dāng)前的定時(shí)器計(jì)數(shù)值,那么定時(shí)器立刻開始執(zhí)行新周期計(jì)數(shù)。如果新周期小于當(dāng)前的計(jì)數(shù)值,那么定時(shí)器回到0。但是,在回到0之前會(huì)多一個(gè)額外的計(jì)數(shù)。
6.3.3 MC=2連續(xù)模式
在連續(xù)模式中,定時(shí)器重復(fù)計(jì)數(shù)到0FFFFH,然后重新從0開始增計(jì)數(shù)(除非每次重裝計(jì)數(shù)初值)。當(dāng)定時(shí)器從0FFFFH到0時(shí),TAIFG中斷標(biāo)志置位。
應(yīng)用:連續(xù)模式下利用捕獲/比較器產(chǎn)生需要的時(shí)間間隔。原理是:計(jì)數(shù)在一直進(jìn)行,捕獲器TACCRX中存有第一個(gè)計(jì)數(shù)終值,每次捕獲器計(jì)到TACCRX時(shí),會(huì)產(chǎn)生中斷標(biāo)志,我們可以在中斷服務(wù)函數(shù)中寫入一個(gè)計(jì)算好的下一個(gè)的計(jì)數(shù)終值,這樣無限計(jì)算和中斷下去,那么該捕獲器就會(huì)產(chǎn)生一個(gè)穩(wěn)定的時(shí)間間隔序列。(其實(shí)吧,不明白也沒關(guān)系。就算明白了,也不好用,因?yàn)橛?jì)算起來很麻煩而且也不好用)
如圖:
6.3.4 MC=3增減模式(常用于生成PWM波)
①該模式下,計(jì)數(shù)方向是固定的,即讓定時(shí)器停止后再重新啟動(dòng)定時(shí)器,它就沿著停止時(shí)的計(jì)數(shù)方向和數(shù)值開始計(jì)數(shù)。如果不希望這樣,就需要將TACLR置位來清除方向。TACLR位也會(huì)清除TAR的值和定時(shí)器的時(shí)鐘分頻。
②此模式下置位情況如下圖:
③當(dāng)定時(shí)器運(yùn)行時(shí),改變TACCR0的值,如果正處于減計(jì)數(shù)的情況,定時(shí)器會(huì)繼續(xù)減到0,新的周期在減到0后開始。
如果正處于增計(jì)數(shù)狀態(tài),新周期大于等于原來的周期,或比當(dāng)前計(jì)數(shù)值要大,定時(shí)器會(huì)增計(jì)數(shù)到新的周期;如果新周期小于原來的周期,定時(shí)器立刻開始減計(jì)數(shù),但是,在定時(shí)器開始減計(jì)數(shù)之前會(huì)多計(jì)一個(gè)數(shù)。
評(píng)論