單片機MSP430入門理論⑧--定時器模塊-定時器A③
上期大概給大家匯總介紹了,定時器模塊中定時器A的TACTL控制寄存器,TACTL是用來設置時鐘,定時器模式,清除,定時器中斷等基礎功能的
本期將繼續介紹定時器A,這次將整理一些關於定時器A的,其他寄存器的用法以及功能
1.0 下面要說的是TAR寄存器,這個寄存器很簡單,就是定時器A用來計數的,也可以讀寫,只不過要注意當計數時鐘不是MCLK時,寫入前應停止計數,因為他與CPU時鐘不同步,可能引起時間競爭
2.0 相對應的TACCRx寄存器,當比較模式時,TACCRx保存著你設置的用來跟定時器A實際計數值TAR比較的值,而當捕獲模式時,TACCRx的就會被TAR的值覆蓋
3.0 捕獲/比較寄存器TACCTLx
CMx Bit 15-14 捕獲模式
00 不捕獲
01 上升沿捕獲
10 下降沿捕獲
11 上升沿下降沿都捕獲
CCISx Bit 13-12 捕獲信號的輸入端選擇,具體可以看下晶片IO配置
00 CCIxA
01 CCIxB
10 GND
11 Vcc
SCS bit 11 選擇輸入捕獲信號與定時器選擇的時鐘源信號是同步還是異步,
在實際操作中,經常使用同步捕獲模式,這樣的捕獲總會是有效的
異步捕獲模式允許在請求時立即將捕獲中斷信號CCIFG置位和捕獲定時器值,適用於捕獲信號的周期遠大於定時器時鐘周期的情況,但是,如果定時器時鐘和捕獲信號發生時間競爭,則捕獲寄存器的值可能出錯
0 同步捕獲
1 異步捕獲
SCCI bit 10 同步比較/捕獲輸入。選擇的CCISx(CCLxA,CCLxB,GND,Vcc)輸入信號與EQUx信號鎖存(一直保持這個信號直到下一次輸入改變),並從這個位SCCIx讀取狀態
註解:EQUx信號是定時器比較模式下的一個輸出信號,3個比較/捕獲寄存器就有3個獨立的比較器信號。
當TAR 的值大於等於TACCR0中的數值時,EQU0=1;
當TAR 的值等於相應的TACCR1或TACCR2的值時,EQU1=1或 EQU2=1。
Unused bit 9 空
CAP bit 8 選擇捕獲模式還是比較模式
0 比較模式
1 捕獲模式
注意:在通過比較捕獲寄存器CCTLx的CAP從比較模式切換為捕獲模式時,不應同時進行捕獲,會出現不可預料的事情,應該先切換模式,再捕獲
OUTMODx bit 7-5 選擇輸出模式,模式2,3,6,7對於TACCR0沒用,因為EQUx=EQU0
000 輸出
001 置位
010 PWM 翻轉/復位
011 PWM 置位/復位
100 翻轉
101 復位
110 PWM 翻轉/置位
111 PWM 復位/置位
CCIE bit 4 比較/捕獲的中斷開關,控制這個位可以打開CCIFG標誌的響應中斷
0 禁用中斷
1 打開允許中斷響應
CCI bit 3 捕獲/比較的輸入,選擇的什麼輸入信號可以由這個位讀出
捕獲模式:由比較/捕獲寄存器TACCTLx的CCIS0和CCIS1選擇的輸入信號通過該位讀出
比較模式:CCIx復位
OUT bit 2 輸出模式高低電平,不過當OUTMODx輸出模式為000時,這裡直接控制輸出狀態
0 為低電平
1 為高電平
COV bit 1 捕獲溢出標誌
0 未發生捕獲溢出
1 發生捕獲溢出
注意:如果工作模式CAP=0為比較模式時,捕獲信號發生復位,沒有使COV置位的捕獲事件,而當CAP=1時,如果捕獲寄存器的值被讀出後又再次發生捕獲事件,則COV置位,程序可以檢測COV來斷定原值讀出前是否又發生捕獲事件,讀捕獲寄存器時不會使溢出標誌復位,需要軟體復位
CCIFGx 捕獲比較中斷標誌
捕獲模式:寄存器CCRx捕獲了定時器TAR值時置位
比較模式:寄存器TAR值等於寄存器CCRx值時置位
以上內容大多都是在網絡上摘抄下來整理的,供大家學習參考的,如涉及到版權請私聊