單片機MSP430入門-理論⑥--定時器模塊-定時器A
上期大概給大家匯總介紹了,在MSP430環境下的定時器模塊,其中主要又說了下看門狗定時器,這是一款比較特別的定時器,又能當定時器,又能當系統錯誤復位重啟
本期將重點介紹下,定時器模塊中另一個比較重要常用的,定時器A
1.0 先上圖,這是定時器A的邏輯圖,手冊上都有
上面這三個圖,代表了定時器A模塊的,定時器功能和3個捕獲比較功能,利用這些功能組合使用,能讓我們實現計時,延時,信號頻率測量,信號觸發檢測,脈衝脈寬信號測量,PWM信號發生,另外通過軟體還能用作串口的波特率發生器。
2.0 下面我們來看下這個Timer_A的寄存器,如下圖,他包括了一個16位計數器TAR,三個捕獲/比較寄存器CCRx,三個捕獲/比較控制寄存器CCTLx
3.0 這裡說下Timer_A寄存器常用的比較模式跟捕獲模式
3.1 比較模式,
是該定時器的默認模式,這時候所有的捕獲硬體是不工作的,這個模式下,當定時器中斷打開,並且開啟了定時器,當定時器TAR的數值等於比較寄存器的值時,就會產生中斷請求。如果沒有開啟定時器中斷,則定時器只會讓中斷標誌CCIFGx置位,同時EQUx信號為真,不然就為假,利用它可以控制輸出產生佔空比可變的PWM波形輸出
3.2 捕獲模式
主要是利用信號的上升沿,下降沿或正負沿任一組合,測量外部或內部事件。外部觸發事件可以用CCISx選擇CCIxA,CCIxB,GND和Vcc源,完成捕獲後相應的中斷標誌CCIFGx置位,捕獲是當外部有信號進來後觸發,把定時器的TAR值捕獲到自己的鎖存寄存器TxCCRx中,你可以隨時讀出。TxCCTx為16位可讀可寫,一般應用可以通過兩次捕獲外部事件來確定外部脈衝信號的寬度