新聞中心

MSP430定時(shí)器詳解

作者: 時(shí)間:2013-01-16 來(lái)源:網(wǎng)絡(luò) 收藏

//例程結(jié)束

-----------------------------------

Timer_A

注:msp430有兩個(gè)16位Timer_A和Timer_B.二者基本相同。

主要有TACTL,TAR,CCTL0,CCR0,CCTL1,CCR1,CCTL2,CCR2,TAIV幾個(gè)寄存器。其中最主要的是TACTL寄存器,它決定Timer_A的輸入時(shí)鐘信號(hào),Timer_A的工作模式,Timer_A的開(kāi)啟與停止,中斷的申請(qǐng)等。

A大致可分為四個(gè)功能模塊:計(jì)數(shù)器、比較/捕獲寄存器0、比較/捕獲寄存器1、比較/捕獲寄存器2。計(jì)數(shù)器是主體它是一個(gè)開(kāi)啟和關(guān)閉的定時(shí)器,如果開(kāi)啟它就是一直在循環(huán)計(jì)數(shù),只會(huì)有一個(gè)溢出中斷,也就是當(dāng)計(jì)數(shù)由0xffff到0時(shí)會(huì)產(chǎn)生一個(gè)中斷。那怎么實(shí)現(xiàn)定時(shí)功能呢?這就要靠三個(gè)比較/捕獲寄存器了以后用CCRx表示。CCR0比較特殊,通過(guò)他可以改變計(jì)數(shù)器的最大計(jì)數(shù)值,也就是當(dāng)計(jì)數(shù)器計(jì)數(shù)到CCR0的值時(shí)自動(dòng)會(huì)將計(jì)數(shù)器清零。但這需要設(shè)置相應(yīng)的工作模式,模式列表如下:

0——停止模式,用于定時(shí)器的暫停

1——增計(jì)數(shù)模式,計(jì)數(shù)器計(jì)數(shù)到CCR0,再清零計(jì)數(shù)

2——連續(xù)計(jì)數(shù)模式,計(jì)數(shù)器增計(jì)數(shù)到0xffff,再清零計(jì)數(shù)

3——增/減計(jì)數(shù)模式,增計(jì)數(shù)到CCR0,再減計(jì)數(shù)到0

當(dāng)計(jì)數(shù)器計(jì)數(shù)到CCR0時(shí),CCR0單元會(huì)產(chǎn)生一個(gè)中斷。同樣當(dāng)計(jì)數(shù)器計(jì)數(shù)到CCR1和CCR2時(shí),兩個(gè)單元也都會(huì)個(gè)產(chǎn)生一個(gè)中斷。這樣我們可以通過(guò)定時(shí)器A得到三個(gè)定時(shí)時(shí)間了。

看程序中的定時(shí)器初始化模塊。CCTLx是相應(yīng)比較/捕獲寄存器的控制寄存器。它可對(duì)比較/捕獲寄存器進(jìn)行設(shè)置,在這里只用到比較功能,也就是當(dāng)計(jì)數(shù)到CCRx時(shí)產(chǎn)生中斷,由于CCTLx默認(rèn)的是比較功能,所以一般也就只用到CCIE這個(gè)控制字,就是開(kāi)啟相應(yīng)比較器的中斷。CCRx就是相應(yīng)比較器的值。

下面介紹幾個(gè)Timer_A的重要寄存器:

TACTL寄存器:

SSEL_1 SSEL_0 是時(shí)鐘源的選擇

0——TACLK,使用外部引腳信號(hào)作為輸入

1——ACLK,輔助時(shí)鐘

2——SMCLK,子系統(tǒng)主時(shí)鐘

3——INCLK,外部輸入時(shí)鐘

對(duì)TACTL進(jìn)行模式設(shè)置的同時(shí)也開(kāi)啟了定時(shí)器,要停止只需把MC_0賦值給TACTL就可以。

ID1 ID0 是時(shí)鐘源的分頻選擇

00——不分頻

01——2分頻

10——4分頻

11——8分頻

MC1 MC0 是模式選擇

0——停止模式,用于定時(shí)器的暫停

1——增計(jì)數(shù)模式,計(jì)數(shù)器計(jì)數(shù)到CCR0,再清零計(jì)數(shù)

2——連續(xù)計(jì)數(shù)模式,計(jì)數(shù)器增計(jì)數(shù)到0xffff,再清零計(jì)數(shù)

3——增/減計(jì)數(shù)模式,增計(jì)數(shù)到CCR0,再減計(jì)數(shù)到0

CLR——————定時(shí)器清楚位

TAIE——————定時(shí)器中斷允許位

TAIFG——————定時(shí)器溢出標(biāo)志位

TAR寄存器:

16位計(jì)數(shù)器,是執(zhí)行計(jì)數(shù)的單元,是計(jì)數(shù)器的主體。我的理解:即存儲(chǔ)你的計(jì)數(shù)值,0——>CCR0

CCTLx寄存器:

捕獲比較控制寄存器:

CAPTMOD1~0:選擇捕獲模式

0 0————禁止捕獲模式

0 1————上升沿捕獲

1 0————下降沿捕獲

1 1————上升沿與下降沿都捕獲

CCIS1~0: 捕獲事件輸入源

0 0————選擇CCIxA

0 1————選擇CCIxB

1 0————選擇GND

1 1————選擇Vcc

SCS——選擇捕獲信號(hào)與定時(shí)器時(shí)鐘同步、異步關(guān)系

0:異步捕獲

1:同步捕獲(實(shí)際中經(jīng)常使用同步模式,捕獲總是有效的)

SCCIx——比較相等信號(hào)EQUx將選中的捕獲/比較輸入信號(hào)CCIx(CCIxA,CCIxB,Vcc和GND)進(jìn)行鎖存,然后可由SCCIx讀出。



關(guān)鍵詞: MSP430 定時(shí)器 比較模式

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉