msp430學習筆記之定時器A

2021-07-03 16:15:56 字數 1905 閱讀 1993

1 定時器a**

圖 1  定時器

a**

2  定時器a

的四種計數模式

1. 停止模式。

2. 增計數模式。(產生兩個中斷標誌)

當計數到跟taccr0

一樣的時候,就返回

0,重新計數。當計數到

taccr0

的同時產生乙個中斷標誌

ccifg

,而當計數器溢位返回零的同時又同時產生乙個中斷標誌

taifg

。如圖:

圖 2 增計數模式的時序圖

3.連續計數模式(產生乙個中斷標誌)

計數器將直接計數到計數器所能計數的最大值0ffffh

之後重新返回零,再次計數。返回零的同時產生乙個

taifg

中斷標誌。如圖

圖3 連續技術模式的時序圖

如果相應中斷位允許,每當乙個定時間隔到都會產生中斷請求,在連續計數模式下,須將下一事件發生的時間在當前中斷程式中加到ccrx中,如圖4,下次發生中斷的時間等於在ccr0a發生中斷時刻,ccr0 = ccr0a + δt

圖 4 連續計數模式下中斷與ccrx關係

4 增減計數模式(產生兩個中斷標誌)

當計數器計數到跟taccr0

一樣的之後,然後從

taccr0

開始又減少,直到為零,然後又開始增。當計數跟

taccr0

一樣的時候產生乙個中斷標誌

ccifg

,當減到為零的時候又產生乙個中斷標誌

taifg

。如圖:

圖 5 增減計數模式時序圖

相關暫存器這裡就不一一介紹了,可以翻閱資料手冊

//本平台 msp430f149

#include volatile unsigned char count = 0,flag = 0;

void p2_config()

void select_xt2(void)while ((ifg1 & ofifg));

bcsctl2 |= selm_2 + sels ; //mclk和smclk選擇高頻晶振

}void main()

}}// timer a0 中斷服務函式

#pragma vector=timera0_vector

__interrupt void timer_a (void)

led燈間隔0.5s變化一次,說明使用定時器比較模式成功

MSP430 定時器輸出PWM波形

硬體介紹 msp430系列微控制器的timera結構複雜,功能強大,適合應用於工業控制,如數位化電機控制,電表和手持式儀表的理想配置。它給開發人員提供了較多靈活的選擇餘地。當pwm 不需要修改占空比和時間時,timera 能自動輸出pwm,而不需利用中斷維持pwm輸出。msp430f16x和msp4...

msp430學習筆記之uart

msp430系列,usart模組的波特率值設定是通過以下三個引數決定的 uxbr0,uxbr1,uxmctl 波特率 brclk n brclk 時鐘源,可以通過暫存器設定何為時鐘源 n 波特率產生的分頻因子。n uxbr1 uxbr0 uxmctl,其中uxbr1 uxbr0為整數部分,uxmct...

MSP430學習筆記(1)

1.首先你要知道msp430的儲存器結構。典型微處理器的結構有兩種 馮。諾依曼結構 程式儲存器和資料儲存器統一編碼 哈佛結構 程式儲存器和資料儲存器 msp430系列微控制器屬於前者,而常用的mcs51系列屬於後者。0 0xf特殊功能暫存器 0x10 0x1ff外圍模組暫存器 0x200 根據不同型...