第5講-定時(shí)器_第1頁
第5講-定時(shí)器_第2頁
第5講-定時(shí)器_第3頁
第5講-定時(shí)器_第4頁
第5講-定時(shí)器_第5頁
已閱讀5頁,還剩63頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、 第五講第五講 定時(shí)器原理及應(yīng)用定時(shí)器原理及應(yīng)用定時(shí)器概述定時(shí)器概述 MSP430單片機(jī)中具有單片機(jī)中具有16位片上定時(shí)位片上定時(shí)/計(jì)數(shù)器,該定時(shí)計(jì)數(shù)器,該定時(shí)/計(jì)數(shù)器模塊除了計(jì)數(shù)器模塊除了通用的定時(shí)功能外,還捕獲、通用的定時(shí)功能外,還捕獲、PWM輸出、間隔計(jì)時(shí)等功能,并具有完善輸出、間隔計(jì)時(shí)等功能,并具有完善的中斷服務(wù)。的中斷服務(wù)。16位片上定時(shí)位片上定時(shí)/計(jì)數(shù)器可用來實(shí)現(xiàn)定時(shí)、計(jì)數(shù)、頻率測量、計(jì)數(shù)器可用來實(shí)現(xiàn)定時(shí)、計(jì)數(shù)、頻率測量、PWM信號(hào)發(fā)生、信號(hào)觸發(fā)檢測、脈沖脈寬信號(hào)測量,并且通過編程配置信號(hào)發(fā)生、信號(hào)觸發(fā)檢測、脈沖脈寬信號(hào)測量,并且通過編程配置還可用作串口的波特率發(fā)生器等等。還可用作

2、串口的波特率發(fā)生器等等。 定時(shí)定時(shí)/計(jì)數(shù)器計(jì)數(shù)器A:16位的定時(shí)器,具有位的定時(shí)器,具有3路捕獲路捕獲/比較單元,時(shí)鐘比較單元,時(shí)鐘源可選。定時(shí)器源可選。定時(shí)器A可支持多路捕獲可支持多路捕獲/比較、比較、PWM輸出、間隔計(jì)時(shí)等,輸出、間隔計(jì)時(shí)等,其也支持中斷,中斷信號(hào)來自定時(shí)器溢出或者捕獲其也支持中斷,中斷信號(hào)來自定時(shí)器溢出或者捕獲/比較輸出。比較輸出。 定時(shí)定時(shí)/計(jì)數(shù)器計(jì)數(shù)器B:16位的定時(shí)器,具有位的定時(shí)器,具有7路捕獲路捕獲/比較單元。與定比較單元。與定時(shí)器時(shí)器A結(jié)構(gòu)、功能基本相同,但有所增強(qiáng),結(jié)構(gòu)、功能基本相同,但有所增強(qiáng), 看門狗定時(shí)器(看門狗定時(shí)器(WDT):看門狗主要功能是當(dāng)程序

3、發(fā)生問題):看門狗主要功能是當(dāng)程序發(fā)生問題時(shí),使系統(tǒng)復(fù)位重新啟動(dòng),將程序拉回正常。時(shí),使系統(tǒng)復(fù)位重新啟動(dòng),將程序拉回正常。MSP430看門狗定看門狗定時(shí)器具有看門狗模式和定時(shí)器兩種模式。時(shí)器具有看門狗模式和定時(shí)器兩種模式。 MSP430系統(tǒng)默認(rèn)看門狗是打開的,這是值得注意的一點(diǎn),若不系統(tǒng)默認(rèn)看門狗是打開的,這是值得注意的一點(diǎn),若不使用看門狗模式可使用使用看門狗模式可使用 “WDTCTL = WDTPW+WDTHOLD;” 關(guān)閉看門狗。關(guān)閉看門狗。 5.5 看門狗定時(shí)看門狗定時(shí)/計(jì)數(shù)器(計(jì)數(shù)器(WDT) 5.1 WDT工作原理工作原理 WDT一個(gè)特殊的定時(shí)器,由一個(gè)特殊的定時(shí)器,由16位計(jì)數(shù)器、

4、脈沖發(fā)生器、時(shí)鐘源選擇電位計(jì)數(shù)器、脈沖發(fā)生器、時(shí)鐘源選擇電路及相關(guān)控制電路組路及相關(guān)控制電路組成成,其功能由,其功能由WDTCTL控制,控制,WDTCTL是一個(gè)是一個(gè)16位受位受密碼保護(hù)的可讀寫寄存器,其高字節(jié)為口令,口令為密碼保護(hù)的可讀寫寄存器,其高字節(jié)為口令,口令為 5AH,當(dāng)對它寫入操,當(dāng)對它寫入操作時(shí)必須寫口令才能操作,否則會(huì)導(dǎo)致系統(tǒng)復(fù)位。作時(shí)必須寫口令才能操作,否則會(huì)導(dǎo)致系統(tǒng)復(fù)位。WDTCTL可設(shè)置看門狗可設(shè)置看門狗的主要功能。的主要功能。圖圖5.9 看門狗定時(shí)器寄看門狗定時(shí)器寄/計(jì)數(shù)器結(jié)構(gòu)計(jì)數(shù)器結(jié)構(gòu)WDT組成結(jié)構(gòu)如圖5.9所示。 (1)WDT看門狗功能實(shí)現(xiàn)看門狗功能實(shí)現(xiàn) (2)WD

5、T間隔定時(shí)器功能實(shí)現(xiàn)間隔定時(shí)器功能實(shí)現(xiàn) 5.1.2看門狗定時(shí)器寄存器看門狗定時(shí)器寄存器 5.1.2看門狗定時(shí)器寄存器看門狗定時(shí)器寄存器 5.1.3看門狗定時(shí)器應(yīng)用舉例看門狗定時(shí)器應(yīng)用舉例 思考: void main() P1DIR|=BIT0;P1OUT=0X01;/翻轉(zhuǎn)P1.0輸出電平_BIS_SR(LPM4_bits); 練習(xí): /*利用WDT的定時(shí)器模式控制led小燈L1以1s的間隔時(shí)間閃滅*/5.2 定時(shí)器定時(shí)器_A5.2.1 定時(shí)器定時(shí)器_A結(jié)構(gòu)結(jié)構(gòu) 定時(shí)器定時(shí)器A具有如下特征:具有如下特征: 16位異步定時(shí)位異步定時(shí)/計(jì)數(shù)器,具有四種操作模式;計(jì)數(shù)器,具有四種操作模式; 靈活自由的

6、可選、可配置的輸入時(shí)鐘源;靈活自由的可選、可配置的輸入時(shí)鐘源; 具有具有3個(gè)可配置的捕獲個(gè)可配置的捕獲/比較單元,可以捕獲外部信號(hào)并鎖定該比較單元,可以捕獲外部信號(hào)并鎖定該 信號(hào)形式;信號(hào)形式; 可配置的可配置的PWM輸出;輸出; 定時(shí)器中斷編碼,有助中斷的快速響應(yīng),中斷服務(wù)功能完善;定時(shí)器中斷編碼,有助中斷的快速響應(yīng),中斷服務(wù)功能完善; 輸出方式豐富。輸出方式豐富。圖圖5.1 5.1 1616位定時(shí)位定時(shí)/ /計(jì)數(shù)器結(jié)構(gòu)計(jì)數(shù)器結(jié)構(gòu)Timer_ATimer_A定時(shí)器模塊:定時(shí)器模塊: 一個(gè)一個(gè)1616位主定時(shí)計(jì)數(shù)器(位主定時(shí)計(jì)數(shù)器(TARTAR);); 3 3路捕獲比較單元(路捕獲比較單元(C

7、CR0CCR2CCR0CCR2),), TARTAR為為3 3路路CCRCCR提供計(jì)數(shù)值提供計(jì)數(shù)值 1、定時(shí)器、定時(shí)器_A的定時(shí)的定時(shí)/計(jì)數(shù)單元計(jì)數(shù)單元(1 1)工作原理)工作原理主計(jì)定時(shí)計(jì)數(shù)器單元包括:時(shí)鐘源選擇、預(yù)分頻器、計(jì)數(shù)器(主計(jì)定時(shí)計(jì)數(shù)器單元包括:時(shí)鐘源選擇、預(yù)分頻器、計(jì)數(shù)器(TAR)和計(jì))和計(jì)數(shù)模式選擇數(shù)模式選擇4個(gè)部分。定時(shí)器支持多種類型時(shí)鐘源,包括:個(gè)部分。定時(shí)器支持多種類型時(shí)鐘源,包括:SMCLK、ACLK、TACLK(外部引腳)、(外部引腳)、INCLK(TACLK取反),類型選擇由位域取反),類型選擇由位域TASSELX X控制。時(shí)鐘源經(jīng)過預(yù)分頻器分頻后作為控制。時(shí)鐘源經(jīng)

8、過預(yù)分頻器分頻后作為16位定時(shí)器位定時(shí)器TARTAR輸入,在時(shí)鐘信號(hào)的上輸入,在時(shí)鐘信號(hào)的上升沿,升沿,TAR可遞增或者遞減計(jì)數(shù)(由計(jì)數(shù)器工作模式而定),計(jì)數(shù)器溢出后可遞增或者遞減計(jì)數(shù)(由計(jì)數(shù)器工作模式而定),計(jì)數(shù)器溢出后可產(chǎn)生中斷,可產(chǎn)生中斷,TAR可以通過軟件進(jìn)行讀或?qū)?。置位可以通過軟件進(jìn)行讀或?qū)憽V梦籘ACLR,可以復(fù)位,可以復(fù)位TAR、預(yù)分頻器和計(jì)數(shù)方向。預(yù)分頻器和計(jì)數(shù)方向。(2)工作模式工作模式 定時(shí)器有四種工作模式:停止、增計(jì)數(shù)、連續(xù)計(jì)數(shù)、增定時(shí)器有四種工作模式:停止、增計(jì)數(shù)、連續(xù)計(jì)數(shù)、增/減計(jì)減計(jì)數(shù)模式。工作模式由數(shù)模式。工作模式由MCx位域控制。位域控制。 a、停止模式、停止模

9、式 該模式用于定時(shí)器暫停,所有寄存器現(xiàn)行的內(nèi)容在停止模式該模式用于定時(shí)器暫停,所有寄存器現(xiàn)行的內(nèi)容在停止模式結(jié)束后都可繼續(xù)使用。當(dāng)定時(shí)器暫停后重新計(jì)數(shù)時(shí),計(jì)數(shù)器將結(jié)束后都可繼續(xù)使用。當(dāng)定時(shí)器暫停后重新計(jì)數(shù)時(shí),計(jì)數(shù)器將從暫停時(shí)的值開始以暫停前的計(jì)數(shù)方向計(jì)數(shù),若需改變,則可從暫停時(shí)的值開始以暫停前的計(jì)數(shù)方向計(jì)數(shù),若需改變,則可通過通過TACTL中的中的TACLR控制位來清除定時(shí)器的方向記憶特性。控制位來清除定時(shí)器的方向記憶特性。 b、增計(jì)數(shù)模式、增計(jì)數(shù)模式 該模式用于計(jì)數(shù)周期小于該模式用于計(jì)數(shù)周期小于0 x0FFFF的連續(xù)計(jì)數(shù)情況,捕獲的連續(xù)計(jì)數(shù)情況,捕獲/比較寄存器比較寄存器TACCR0用作用作

10、Timer_A增計(jì)數(shù)模式的周期寄存器。計(jì)數(shù)器增計(jì)數(shù)模式的周期寄存器。計(jì)數(shù)器TAR從從0開始增計(jì)數(shù)到開始增計(jì)數(shù)到TACCR0的的值,當(dāng)計(jì)數(shù)值與值,當(dāng)計(jì)數(shù)值與TACCR0的值相等,定時(shí)器復(fù)位并從的值相等,定時(shí)器復(fù)位并從0開始重新計(jì)數(shù)。開始重新計(jì)數(shù)。圖圖5.2 定時(shí)器定時(shí)器A增計(jì)數(shù)模式增計(jì)數(shù)模式uT=TACCR0+1;uTARTACCR0,選,選擇增計(jì)數(shù)模式,則擇增計(jì)數(shù)模式,則TAR從從0開始計(jì)數(shù)開始計(jì)數(shù)。 該模式產(chǎn)生的中斷標(biāo)志:該模式產(chǎn)生的中斷標(biāo)志: 當(dāng)當(dāng)TAR與與TACCR0相等時(shí),產(chǎn)生中斷標(biāo)志相等時(shí),產(chǎn)生中斷標(biāo)志CCIFG; 當(dāng)計(jì)數(shù)器溢出返回零,產(chǎn)生中斷標(biāo)志當(dāng)計(jì)數(shù)器溢出返回零,產(chǎn)生中斷標(biāo)志TA

11、IFG。注:注:在定時(shí)器工作時(shí)改變在定時(shí)器工作時(shí)改變TACCR0值,若新計(jì)數(shù)周期值大或值,若新計(jì)數(shù)周期值大或等于舊值,或大于當(dāng)前計(jì)數(shù)值,則定時(shí)器會(huì)計(jì)數(shù)到新的周期等于舊值,或大于當(dāng)前計(jì)數(shù)值,則定時(shí)器會(huì)計(jì)數(shù)到新的周期值;當(dāng)新計(jì)數(shù)周期值小于當(dāng)前計(jì)數(shù)值,定時(shí)器回到值;當(dāng)新計(jì)數(shù)周期值小于當(dāng)前計(jì)數(shù)值,定時(shí)器回到0,但是,但是,在回至在回至0前,會(huì)多計(jì)數(shù)前,會(huì)多計(jì)數(shù)1次。次。 c.連續(xù)計(jì)數(shù)模式:連續(xù)計(jì)數(shù)模式: 在該模式下,定時(shí)器重復(fù)的從在該模式下,定時(shí)器重復(fù)的從0開始計(jì)數(shù)到開始計(jì)數(shù)到0FFFFH,如圖,如圖5.3所示。所示。此時(shí),此時(shí),TACCR0和其它捕獲比較寄存器一樣工作。和其它捕獲比較寄存器一樣工作。

12、圖圖5.3 3 定時(shí)器定時(shí)器A連續(xù)計(jì)數(shù)模式連續(xù)計(jì)數(shù)模式0Ht t0FFFFH 該模式可產(chǎn)生的中斷標(biāo)志:該模式可產(chǎn)生的中斷標(biāo)志: 當(dāng)計(jì)數(shù)器返回到當(dāng)計(jì)數(shù)器返回到0時(shí),中斷標(biāo)志位時(shí),中斷標(biāo)志位TAIFG置位;置位; 當(dāng)計(jì)數(shù)器值從當(dāng)計(jì)數(shù)器值從TACCRx-1到到TACCRx時(shí),中斷標(biāo)志位時(shí),中斷標(biāo)志位CCIFGx 置位。置位。 圖圖5.4 連續(xù)模式下固定時(shí)間間隔產(chǎn)生連續(xù)模式下固定時(shí)間間隔產(chǎn)生原理:原理:通過在中通過在中斷函數(shù)中斷函數(shù)中不斷更新不斷更新TACCR0的值,產(chǎn)的值,產(chǎn)生固定時(shí)生固定時(shí)間間隔間間隔t0,若欲產(chǎn)生若欲產(chǎn)生多路時(shí)間多路時(shí)間間隔,可間隔,可以啟用多以啟用多路路TACCRx。 d. 增

13、增/減計(jì)數(shù)模式:減計(jì)數(shù)模式: 該模式用于計(jì)數(shù)周期不是該模式用于計(jì)數(shù)周期不是0 x0FFFF,且需要對稱波形的情況。定時(shí),且需要對稱波形的情況。定時(shí)器重復(fù)的計(jì)數(shù)到器重復(fù)的計(jì)數(shù)到TACCR0再反向遞減到再反向遞減到0。計(jì)數(shù)周期是。計(jì)數(shù)周期是TACCR0值的值的2倍。倍。計(jì)數(shù)模式如圖計(jì)數(shù)模式如圖5.5所示。所示。圖圖5.5 定時(shí)器定時(shí)器A增增/減計(jì)數(shù)模式減計(jì)數(shù)模式 在該模式下,計(jì)數(shù)方向是被鎖定的,即允許定時(shí)器停止并重啟后,計(jì)在該模式下,計(jì)數(shù)方向是被鎖定的,即允許定時(shí)器停止并重啟后,計(jì)數(shù)方向與停止之前的方向一致,若想改變,則可以置位數(shù)方向與停止之前的方向一致,若想改變,則可以置位TACLR位。位。 該

14、模式產(chǎn)生的中斷:當(dāng)計(jì)數(shù)器計(jì)數(shù)由該模式產(chǎn)生的中斷:當(dāng)計(jì)數(shù)器計(jì)數(shù)由TACCR01遞增到遞增到TACCR0時(shí),時(shí),TACCR0 CCIFG置位;計(jì)數(shù)器從置位;計(jì)數(shù)器從0 x0001遞減到遞減到0時(shí),時(shí),TAIFG置位。置位。 增增/減計(jì)數(shù)模式除了支持對稱波形產(chǎn)生外,還支持輸出信號(hào)需要死區(qū)減計(jì)數(shù)模式除了支持對稱波形產(chǎn)生外,還支持輸出信號(hào)需要死區(qū)間隔的場合,例如,電機(jī)驅(qū)動(dòng)間隔的場合,例如,電機(jī)驅(qū)動(dòng)H橋式電路,使能橋式電路,使能H橋的電平信號(hào)不能同橋的電平信號(hào)不能同時(shí)為高,即時(shí)為高,即H橋的兩個(gè)半橋不能同時(shí)導(dǎo)通(會(huì)造成電機(jī)損壞),如圖橋的兩個(gè)半橋不能同時(shí)導(dǎo)通(會(huì)造成電機(jī)損壞),如圖5.6所示,可以利用捕獲

15、比較單元的輸出模式(詳見下小節(jié)),進(jìn)行所示,可以利用捕獲比較單元的輸出模式(詳見下小節(jié)),進(jìn)行H橋式橋式電路的驅(qū)動(dòng)。電路的驅(qū)動(dòng)。圖圖5.6 增增/減模式輸出減模式輸出其中:其中:tdead= Ttimer (TACCR1 TACCR2);Ttimer:定時(shí)器時(shí)鐘周期;:定時(shí)器時(shí)鐘周期;TACCRx:捕獲比較寄存器:捕獲比較寄存器x的內(nèi)容,其內(nèi)容寫入時(shí)立即更新。的內(nèi)容,其內(nèi)容寫入時(shí)立即更新。 2、捕獲、捕獲/比較單元比較單元定時(shí)器定時(shí)器A有有3個(gè)獨(dú)立的捕獲個(gè)獨(dú)立的捕獲/比較模塊,每個(gè)模塊包括信號(hào)源選擇、觸發(fā)器、比較模塊,每個(gè)模塊包括信號(hào)源選擇、觸發(fā)器、信號(hào)鎖存、門電路和輸出模式選擇等部分,任一模

16、塊可以捕獲定時(shí)器時(shí)間數(shù)信號(hào)鎖存、門電路和輸出模式選擇等部分,任一模塊可以捕獲定時(shí)器時(shí)間數(shù)據(jù),或者產(chǎn)生時(shí)間間隔。據(jù),或者產(chǎn)生時(shí)間間隔。(1 1)捕獲模式)捕獲模式當(dāng)當(dāng)TACCTLx中的中的CAPx=1,選擇捕獲模式,一般用于記錄時(shí)間事件,例如,選擇捕獲模式,一般用于記錄時(shí)間事件,例如速度計(jì)量或者事件測量。捕獲模塊的輸入信號(hào)速度計(jì)量或者事件測量。捕獲模塊的輸入信號(hào)CCIxA和和CCIxB,連接到外部,連接到外部引腳信號(hào)或者內(nèi)部信號(hào)(可通過引腳信號(hào)或者內(nèi)部信號(hào)(可通過CCISx選擇);選擇);CMx位域選擇捕獲信號(hào)的觸位域選擇捕獲信號(hào)的觸發(fā)模式(上升沿、下降沿或任意跳變),如果在選定的引腳上發(fā)生設(shè)定

17、的脈發(fā)模式(上升沿、下降沿或任意跳變),如果在選定的引腳上發(fā)生設(shè)定的脈沖觸發(fā)沿,則沖觸發(fā)沿,則TAR中的值將寫入到中的值將寫入到TCCRx中,中斷位中,中斷位CCIFGx置位。置位。輸入信號(hào)的值可以通過輸入信號(hào)的值可以通過CCI位來讀取。捕獲信號(hào)可能和定時(shí)器時(shí)鐘不同步,位來讀取。捕獲信號(hào)可能和定時(shí)器時(shí)鐘不同步,可導(dǎo)致競爭條件,建議置位可導(dǎo)致競爭條件,建議置位SCS,可在下個(gè)定時(shí)器時(shí)鐘周期內(nèi)同步捕獲信號(hào),可在下個(gè)定時(shí)器時(shí)鐘周期內(nèi)同步捕獲信號(hào)與定時(shí)器周期。與定時(shí)器周期。說明:說明: 如果在選定的引腳上發(fā)生設(shè)定的脈沖觸發(fā)沿(上升沿,下降沿或任意跳如果在選定的引腳上發(fā)生設(shè)定的脈沖觸發(fā)沿(上升沿,下降沿

18、或任意跳 變)變) ,則,則 TAR 中的值將寫到中的值將寫到 T ACCRx 中;中; 每個(gè)捕獲每個(gè)捕獲/比較寄存器都能被軟件用于時(shí)間標(biāo)記,可用于各種目的:測量比較寄存器都能被軟件用于時(shí)間標(biāo)記,可用于各種目的:測量 軟件程序所用時(shí)間,測量硬件事件間的時(shí)間,測量系統(tǒng)頻率;軟件程序所用時(shí)間,測量硬件事件間的時(shí)間,測量系統(tǒng)頻率; 當(dāng)捕獲完成后,當(dāng)捕獲完成后, 中斷標(biāo)志位中斷標(biāo)志位 CCIFG 被置位。被置位。 如果總的中斷允許位如果總的中斷允許位GIE 允許,允許, 相應(yīng)的中斷允許位相應(yīng)的中斷允許位 CCIE也允許,則將產(chǎn)生中斷請求。也允許,則將產(chǎn)生中斷請求。捕獲過程:捕獲過程:若沒有捕捉發(fā)生,將

19、等待;若沒有捕捉發(fā)生,將等待;若此時(shí)讀取到捕獲值,將到下一個(gè)讀取值去繼續(xù)等待;若此時(shí)讀取到捕獲值,將到下一個(gè)讀取值去繼續(xù)等待;若此時(shí)正在發(fā)生捕獲,將發(fā)生溢出。若此時(shí)正在發(fā)生捕獲,將發(fā)生溢出。完整的捕獲過程包括:等待捕獲事件完整的捕獲過程包括:等待捕獲事件捕獲發(fā)生捕獲發(fā)生判斷判斷是否發(fā)生溢出并且讀取捕獲值是否發(fā)生溢出并且讀取捕獲值等待下次捕捉。等待下次捕捉。(2 2) 比較模式比較模式當(dāng)當(dāng)CAP=0時(shí)選擇比較模式,比較模式主要用來產(chǎn)生時(shí)選擇比較模式,比較模式主要用來產(chǎn)生PWM信號(hào)信號(hào)或者用于產(chǎn)生特定時(shí)間間隔的中斷。當(dāng)計(jì)數(shù)器或者用于產(chǎn)生特定時(shí)間間隔的中斷。當(dāng)計(jì)數(shù)器TAR的值計(jì)數(shù)到的值計(jì)數(shù)到TACC

20、Rx的值時(shí):的值時(shí):u中斷標(biāo)志中斷標(biāo)志CCIFG置位:置位:u內(nèi)部信號(hào)內(nèi)部信號(hào)EQUx=1;uEQUx根據(jù)不同輸出模式影響輸出;根據(jù)不同輸出模式影響輸出;u輸入信號(hào)輸入信號(hào)CCI被鎖存到被鎖存到SCCI。說明:說明: 獨(dú)立的輸出模塊被分配給各個(gè)捕獲獨(dú)立的輸出模塊被分配給各個(gè)捕獲/比較寄存器的每一個(gè),比較寄存器的每一個(gè), 輸出模塊可以獨(dú)輸出模塊可以獨(dú) 立運(yùn)行于比較功能,或以各種方式觸發(fā);立運(yùn)行于比較功能,或以各種方式觸發(fā); 當(dāng)當(dāng) T ACCTLx 中的中的 CAP0, 該模塊工作在比較模式。該模塊工作在比較模式。 這時(shí)與捕獲有關(guān)的這時(shí)與捕獲有關(guān)的 硬件停止工作,在計(jì)數(shù)器硬件停止工作,在計(jì)數(shù)器 T

21、AR中計(jì)數(shù)值等于比較器中的值時(shí)設(shè)置標(biāo)志位,產(chǎn)中計(jì)數(shù)值等于比較器中的值時(shí)設(shè)置標(biāo)志位,產(chǎn) 生中斷請求;也可結(jié)合輸出單元產(chǎn)生所需要的信號(hào);生中斷請求;也可結(jié)合輸出單元產(chǎn)生所需要的信號(hào); 三個(gè)捕獲三個(gè)捕獲/比較器在比較模式時(shí)設(shè)置比較器在比較模式時(shí)設(shè)置 EQUx 信號(hào)有差別:信號(hào)有差別: 當(dāng)當(dāng) T AR 的值大于等于的值大于等于 T ACCR0 中的數(shù)值時(shí),中的數(shù)值時(shí),EQU0=1; 當(dāng)當(dāng) T AR 的值等于相應(yīng)的的值等于相應(yīng)的 T ACCR1 或或 T ACCR2 的值時(shí),的值時(shí),EQU1=1 或或 EQU21。 (3 3) 輸出單元輸出單元每個(gè)捕獲每個(gè)捕獲/比較模塊包含一個(gè)輸出單元,用于產(chǎn)生輸出信號(hào)

22、,如比較模塊包含一個(gè)輸出單元,用于產(chǎn)生輸出信號(hào),如PWM信號(hào)。信號(hào)。每個(gè)輸出單元可以根據(jù)每個(gè)輸出單元可以根據(jù)EQU0和和EQU1產(chǎn)生產(chǎn)生8種輸出模式,其輸出模式由種輸出模式,其輸出模式由OUTMODx位控制,詳見表位控制,詳見表5.1。.OUTMODxOUTMODx輸出模式輸出模式描述描述000000輸出模式輸出模式輸出信號(hào)輸出信號(hào)OUTxOUTx由每個(gè)捕獲由每個(gè)捕獲/ /比較模塊的控制寄存器比較模塊的控制寄存器TACCTLxTACCTLx中中OUTxOUTx位定義,并在寫入該寄存器后立即更新。位定義,并在寫入該寄存器后立即更新。001001置位模式置位模式輸出信號(hào)在輸出信號(hào)在TARTAR等于

23、等于TACCRxTACCRx時(shí)置位,并保持置位到定時(shí)器復(fù)時(shí)置位,并保持置位到定時(shí)器復(fù)位或選擇另一種輸出模式為止。位或選擇另一種輸出模式為止。010010翻轉(zhuǎn)翻轉(zhuǎn)/ /復(fù)位復(fù)位輸出在輸出在TARTAR的值等于的值等于TACCRxTACCRx時(shí)翻轉(zhuǎn),當(dāng)時(shí)翻轉(zhuǎn),當(dāng)TARTAR的值等于的值等于TACCR0TACCR0時(shí)時(shí)復(fù)位。復(fù)位。011011置位置位/ /復(fù)位復(fù)位輸出在輸出在TARTAR的值等于的值等于TACCRxTACCRx時(shí)置位,當(dāng)時(shí)置位,當(dāng)TARTAR的值等于的值等于TACCR0TACCR0時(shí)時(shí)復(fù)位。復(fù)位。100100翻轉(zhuǎn)翻轉(zhuǎn)輸出電平在輸出電平在TARTAR的值等于的值等于TACCRxTACC

24、Rx時(shí)翻轉(zhuǎn),輸出周期是定時(shí)器時(shí)翻轉(zhuǎn),輸出周期是定時(shí)器周期的周期的2 2倍。倍。101101復(fù)位模式復(fù)位模式輸出在輸出在TARTAR的值等于的值等于TACCRxTACCRx時(shí)復(fù)位,并保持低電平直到選擇時(shí)復(fù)位,并保持低電平直到選擇另一種輸出模式。另一種輸出模式。110110翻轉(zhuǎn)翻轉(zhuǎn)/ /置位置位輸出電平在輸出電平在TARTAR的值等于的值等于TACCRxTACCRx時(shí)翻轉(zhuǎn),當(dāng)時(shí)翻轉(zhuǎn),當(dāng)TARTAR值等于值等于TACCR0TACCR0時(shí)置位。時(shí)置位。111111復(fù)位復(fù)位/ /置位置位輸出電平在輸出電平在TARTAR的值等于的值等于TACCRxTACCRx時(shí)復(fù)位,當(dāng)時(shí)復(fù)位,當(dāng)TARTAR的值等于的值等

25、于TACCR0TACCR0時(shí)置位。時(shí)置位。表表5.1 輸出單元輸出模式輸出單元輸出模式注:注:當(dāng)輸出模式進(jìn)行更換時(shí),除非是切換到模式當(dāng)輸出模式進(jìn)行更換時(shí),除非是切換到模式0 0,OUTMODxOUTMODx某一某一位需要保持置位,否則輸出或非門會(huì)認(rèn)為是模式位需要保持置位,否則輸出或非門會(huì)認(rèn)為是模式0 0,而產(chǎn)生脈沖,而產(chǎn)生脈沖干擾。比較可靠的切換是,用輸出模式干擾。比較可靠的切換是,用輸出模式7 7作為過渡狀態(tài)。作為過渡狀態(tài)。例:例: BIS #OUTMOD_7, &TACCTLx ; BIS #OUTMOD_7, &TACCTLx ; 置輸出模式置輸出模式7 7 BIC #O

26、UTMODx, &TACCTLx ; BIC #OUTMODx, &TACCTLx ; 清除不相關(guān)的位清除不相關(guān)的位寄存器寄存器簡寫簡寫類型類型地址地址Timer_A control l控制寄存器控制寄存器TACTLR/DR/D0160H0160HTimer_A counter計(jì)數(shù)器計(jì)數(shù)器TARR/DR/D0170H0170H捕獲捕獲/ /比較控制寄存器比較控制寄存器0 0CCTL0(TACCTL0)R/DR/D0162H0162H捕獲捕獲/ /比較寄存器比較寄存器0 0CCR0(TACCR0)R/DR/D0172H0172H捕獲捕獲/ /比較控制寄存器比較控制寄存器1 1CC

27、TL1(TACCTL1)R/DR/D0164H0164H捕獲捕獲/ /比較寄存器比較寄存器1 1CCR1(TACCR1)R/DR/D0174H0174H捕獲捕獲/ /比較控制寄存器比較控制寄存器2 2CCTL2(TACCTL2)R/DR/D0166H0166H捕獲捕獲/ /比較寄存器比較寄存器2 2CCR2(TACCR2)R/DR/D0176H0176H中斷向量寄存器中斷向量寄存器TAIVR R012EH012EH5.2.2 定時(shí)器定時(shí)器_A主要寄存器主要寄存器 定時(shí)器定時(shí)器_A主要寄存器表主要寄存器表5.2所示。所示。 1.TACTL 1.TACTL 控制寄存器控制寄存器 復(fù)位值:復(fù)位值:0

28、000H0000H15109876543210未用未用SSEL1SSEL0ID1ID0MC1MC0未用未用TATACLRTAIETAIFGSSEL1SSEL0輸入時(shí)鐘源輸入時(shí)鐘源說明說明00TACLK用特定的外部引腳信號(hào)用特定的外部引腳信號(hào)01ACLK輔助時(shí)鐘輔助時(shí)鐘10SMCLK子系統(tǒng)時(shí)鐘子系統(tǒng)時(shí)鐘11INCLKTACLK取反取反Bit 15-10 未使用未使用Bit 9-8 SSEL1、SSEL0 選擇定時(shí)器輸入分頻器的時(shí)鐘源選擇定時(shí)器輸入分頻器的時(shí)鐘源Bit 7-6 ID1,ID0 分頻系數(shù)選擇分頻系數(shù)選擇 : 00 不分頻不分頻 01 2分頻分頻 10 4分頻分頻 11 8分頻分頻 B

29、it 5-4 MC1,MC0 計(jì)數(shù)模式選擇控制位:計(jì)數(shù)模式選擇控制位: 00 停止模式停止模式 :計(jì)數(shù)器暫停:計(jì)數(shù)器暫停 01 增計(jì)數(shù)模式:計(jì)數(shù)器計(jì)數(shù)至增計(jì)數(shù)模式:計(jì)數(shù)器計(jì)數(shù)至TACCR0 10 連續(xù)計(jì)數(shù)模式:計(jì)數(shù)器計(jì)數(shù)至連續(xù)計(jì)數(shù)模式:計(jì)數(shù)器計(jì)數(shù)至0FFFFH 11 增增/減計(jì)數(shù)模式:計(jì)數(shù)器計(jì)數(shù)至減計(jì)數(shù)模式:計(jì)數(shù)器計(jì)數(shù)至TACCR0,再遞減至,再遞減至0Bit 3 未使用未使用Bit 2 TACLR 定時(shí)器清除位:定時(shí)器清除位: POR或或TACLR置位時(shí)定時(shí)器、計(jì)數(shù)方向、輸入分頻器復(fù)位。置位時(shí)定時(shí)器、計(jì)數(shù)方向、輸入分頻器復(fù)位。 TCLR由硬件自動(dòng)復(fù)位其讀出始終為由硬件自動(dòng)復(fù)位其讀出始終為0。

30、定時(shí)器在下一個(gè)有效。定時(shí)器在下一個(gè)有效 輸入沿開始工作。如果不是被清除模式控制暫停,則定時(shí)以輸入沿開始工作。如果不是被清除模式控制暫停,則定時(shí)以 增計(jì)數(shù)模式開始工作。增計(jì)數(shù)模式開始工作。Bit 1 TAIE 定時(shí)器中斷允許位:定時(shí)器中斷允許位: 0 禁止定時(shí)器溢出中斷禁止定時(shí)器溢出中斷 1 允許定時(shí)器溢出中斷允許定時(shí)器溢出中斷Bit 0 TAIFG 定時(shí)器溢出標(biāo)志位:定時(shí)器溢出標(biāo)志位: 0 無定時(shí)器溢出中斷無定時(shí)器溢出中斷 1 定時(shí)器溢出中斷定時(shí)器溢出中斷 增計(jì)數(shù)模式:定時(shí)器由增計(jì)數(shù)模式:定時(shí)器由TACCR0計(jì)數(shù)到到計(jì)數(shù)到到0時(shí)時(shí)TAIFG置位。置位。 連續(xù)計(jì)數(shù)模式:定時(shí)器由連續(xù)計(jì)數(shù)模式:定時(shí)

31、器由0FFFFH計(jì)數(shù)到計(jì)數(shù)到0時(shí)時(shí)TAIFG置位。置位。 增增/減計(jì)數(shù)模式:定時(shí)器由減計(jì)數(shù)模式:定時(shí)器由TACCR0減計(jì)數(shù)到減計(jì)數(shù)到0時(shí)時(shí)TAIFG置位。置位。2. TAR 162. TAR 16位計(jì)數(shù)器位計(jì)數(shù)器 復(fù)位值:復(fù)位值:0000H0000H1503. TACCTLx 捕獲捕獲/比較控制寄存器比較控制寄存器 復(fù)位值:復(fù)位值:0000H 15 14 13 12 11 109 87 6 5 4 3210CM1-0CCIS1-0 SCSSCCIXCAPOUTMODx CCIEx CCIxOUT COVCCIFx TIMER_A有多個(gè)捕獲比較模塊,每個(gè)模塊都有自己的控制寄存器有多個(gè)捕獲比較模塊

32、,每個(gè)模塊都有自己的控制寄存器TACCTLxBit 15-14 CM1-0 捕獲模式:選擇捕獲模式。捕獲模式:選擇捕獲模式。 00 禁止捕獲模式禁止捕獲模式 01 上升沿捕獲上升沿捕獲 10 下降沿捕獲下降沿捕獲 11 上升沿與下降沿都捕獲上升沿與下降沿都捕獲 Bit 13-12 CCISI1-0 捕獲捕獲/比較輸入選擇位:選擇捕獲模式捕獲事件的輸入端。比較輸入選擇位:選擇捕獲模式捕獲事件的輸入端。 00 選擇選擇CCIxA 01 選擇選擇CCIxB 10 選擇選擇GND 11 選擇選擇VCC Bit 11-10 SCS 同步捕獲信號(hào):選擇捕獲信號(hào)與定時(shí)器時(shí)鐘同步、同步捕獲信號(hào):選擇捕獲信號(hào)與

33、定時(shí)器時(shí)鐘同步、 異步關(guān)系。異步關(guān)系。 0 異步捕獲異步捕獲 1 同步捕獲同步捕獲 注意:異步捕獲模式允許在捕獲時(shí)立即將注意:異步捕獲模式允許在捕獲時(shí)立即將CCIFG置位并捕獲定時(shí)器值,置位并捕獲定時(shí)器值,適用于捕獲信號(hào)的周期遠(yuǎn)大于定時(shí)器時(shí)鐘周期的情況。但是,若定時(shí)器適用于捕獲信號(hào)的周期遠(yuǎn)大于定時(shí)器時(shí)鐘周期的情況。但是,若定時(shí)器時(shí)鐘和捕獲信號(hào)發(fā)生時(shí)間競爭,則捕獲寄存器的值可能出錯(cuò)。建議在實(shí)時(shí)鐘和捕獲信號(hào)發(fā)生時(shí)間競爭,則捕獲寄存器的值可能出錯(cuò)。建議在實(shí)際中使用同步捕獲模式,捕獲總是有效的。捕獲際中使用同步捕獲模式,捕獲總是有效的。捕獲/比較相等信號(hào)比較相等信號(hào)EQUx將將選擇中的捕獲選擇中的捕獲

34、/比較輸入信號(hào)比較輸入信號(hào)CCIx(CCIxA,CCIxB,Vcc和和GND)進(jìn)行鎖存,進(jìn)行鎖存,且可由且可由SCCIx讀出。讀出。 Bit 9 未使用未使用 Bit 8 CAP 選擇捕獲模式還是比較模式:選擇捕獲模式還是比較模式: 0 比較模式比較模式 (默認(rèn)模式)(默認(rèn)模式) 1 捕獲模式捕獲模式 注意:注意:默認(rèn)為比較模式,若通過默認(rèn)為比較模式,若通過TACCTLx中的中的CAP使工作模式從比較模式變?yōu)槭构ぷ髂J綇谋容^模式變?yōu)椴东@模式,則不應(yīng)同時(shí)進(jìn)行捕獲,否則,在捕獲比較寄存器中的值是不可預(yù)料的。捕獲模式,則不應(yīng)同時(shí)進(jìn)行捕獲,否則,在捕獲比較寄存器中的值是不可預(yù)料的。指令順序?yàn)椋褐噶铐樞?/p>

35、為:1)修改控制寄存器,由比較模式換到捕獲模式;)修改控制寄存器,由比較模式換到捕獲模式;2)捕獲)捕獲。Bit 7-5 OUTMODx 選擇輸出模式:選擇輸出模式: 000 輸出輸出 001 置位置位 010 翻轉(zhuǎn)翻轉(zhuǎn)/復(fù)位復(fù)位 011 置位置位/復(fù)位復(fù)位 100 翻轉(zhuǎn)翻轉(zhuǎn)/置位置位 101 復(fù)位復(fù)位 110 翻轉(zhuǎn)翻轉(zhuǎn)/置位置位 111 復(fù)位復(fù)位/置位置位 Bit 4 CCIEx 捕獲比較模塊中斷允許位:捕獲比較模塊中斷允許位:1,允許;,允許;0,禁止。,禁止。Bit 3 CCIx 捕獲比較模塊的輸入信號(hào):捕獲比較模塊的輸入信號(hào): 捕獲模式:由捕獲模式:由CCIS0和和CCIS1選擇的輸入

36、信號(hào)通過該選擇的輸入信號(hào)通過該 位讀出。位讀出。 比較模式:比較模式:CCIx復(fù)位。復(fù)位。 Bit 2 OUT 輸出信號(hào):輸出信號(hào): 0 輸出低電平輸出低電平 1 輸出高電平輸出高電平 如果如果CMx選擇輸出模式選擇輸出模式0(輸出輸出),則該位對應(yīng)于輸入狀態(tài)。,則該位對應(yīng)于輸入狀態(tài)。 Bit 1 COV 捕獲溢出標(biāo)志:捕獲溢出標(biāo)志: 0 輸出低電平輸出低電平 1 輸出高電平輸出高電平 比較模式:沒有使比較模式:沒有使COV置位的捕獲事件。置位的捕獲事件。 捕獲模式:如果捕獲寄存器的值被讀出前再次發(fā)生捕獲事捕獲模式:如果捕獲寄存器的值被讀出前再次發(fā)生捕獲事 件,則件,則COV置位。程序可檢測置

37、位。程序可檢測COV來斷定原值讀出前是否來斷定原值讀出前是否 又發(fā)生捕獲事件。讀捕獲寄存器時(shí)不會(huì)使溢出標(biāo)志復(fù)位,又發(fā)生捕獲事件。讀捕獲寄存器時(shí)不會(huì)使溢出標(biāo)志復(fù)位, 須用軟件復(fù)位。須用軟件復(fù)位。 Bit 0 CCIFGx 捕獲比較中斷標(biāo)志:捕獲比較中斷標(biāo)志: 捕獲模式:寄存器捕獲模式:寄存器CCRx捕獲了定時(shí)器捕獲了定時(shí)器TAR值時(shí)置位。值時(shí)置位。 比較模式:定時(shí)器比較模式:定時(shí)器TAR值等于寄存器值等于寄存器CCRx值時(shí)置位。值時(shí)置位。 CCRx 捕獲捕獲/比較寄存器比較寄存器1504. CCRx捕獲捕獲/比較寄存器比較寄存器在捕獲比較模塊中,可讀可寫。其中在捕獲比較模塊中,可讀可寫。其中CC

38、R0經(jīng)常用作周期寄存器,經(jīng)常用作周期寄存器,其它其它CCRx相同。相同。 5. TAIV定時(shí)器定時(shí)器A中斷向量寄存器中斷向量寄存器 Timer_A有兩個(gè)中斷向量,一個(gè)單獨(dú)分配給捕獲比較寄存器有兩個(gè)中斷向量,一個(gè)單獨(dú)分配給捕獲比較寄存器CCR0,另一個(gè)作為共用的中斷向量用于定時(shí)器和其他的捕獲比較,另一個(gè)作為共用的中斷向量用于定時(shí)器和其他的捕獲比較寄存器(詳見表寄存器(詳見表5.3)。)。 CCR0中斷向量具有最高的優(yōu)先級(jí),中斷向量具有最高的優(yōu)先級(jí),CCR0能用于定義是增計(jì)數(shù)能用于定義是增計(jì)數(shù)和增減計(jì)數(shù)模式的周期,因此響應(yīng)速度最快,和增減計(jì)數(shù)模式的周期,因此響應(yīng)速度最快,CCIFG0在被中斷服在被

39、中斷服務(wù)時(shí)能自動(dòng)復(fù)位。務(wù)時(shí)能自動(dòng)復(fù)位。 CCR1-CCR2和定時(shí)器共用另一個(gè)中斷向量,屬于多源中斷,對和定時(shí)器共用另一個(gè)中斷向量,屬于多源中斷,對應(yīng)的中斷標(biāo)志應(yīng)的中斷標(biāo)志CCIFG1-CCIFG2和和TAIFG1在讀中斷向量字在讀中斷向量字TAIV后,后,自動(dòng)復(fù)位。如果不訪問自動(dòng)復(fù)位。如果不訪問TAIV寄存器,則不能自動(dòng)復(fù)位,須用軟件清寄存器,則不能自動(dòng)復(fù)位,須用軟件清除;如果相應(yīng)的中斷允許位不允許中斷,則不會(huì)產(chǎn)生中斷請求,但除;如果相應(yīng)的中斷允許位不允許中斷,則不會(huì)產(chǎn)生中斷請求,但中斷標(biāo)志仍存在,需用軟件清除。中斷標(biāo)志仍存在,需用軟件清除。15-54-100-0中斷向量中斷向量05.2.3

40、定時(shí)器定時(shí)器_A的中斷管理的中斷管理中斷優(yōu)先級(jí)中斷優(yōu)先級(jí)定時(shí)器定時(shí)器_A有兩個(gè)中斷向量:有兩個(gè)中斷向量:TACCR0中斷向量中斷向量:處理處理TACCT0的的CCIFG中斷標(biāo)志。中斷標(biāo)志。TACCR0的中斷標(biāo)志的中斷標(biāo)志CCIFG在定時(shí)器在定時(shí)器_A中具有最高優(yōu)先級(jí),當(dāng)中具有最高優(yōu)先級(jí),當(dāng)CCIFG中中斷被響應(yīng)以后該位自動(dòng)清零。斷被響應(yīng)以后該位自動(dòng)清零。TAIV中斷向量中斷向量:處理所有其它的處理所有其它的CCIFG和和TAIFG中斷標(biāo)志。中斷標(biāo)志。TACCR1的的CCIFG、TACCR2的的CCIFG和和TAIFG三個(gè)中斷的優(yōu)先級(jí)依次降三個(gè)中斷的優(yōu)先級(jí)依次降低,它們共用一個(gè)中斷源。中斷向量寄

41、存器低,它們共用一個(gè)中斷源。中斷向量寄存器TAIV用來確定哪一個(gè)產(chǎn)生用來確定哪一個(gè)產(chǎn)生了中斷請求,讀取該寄存器的值就可以確定中斷類型,如表了中斷請求,讀取該寄存器的值就可以確定中斷類型,如表5.3所示。所示。中斷優(yōu)先級(jí)中斷優(yōu)先級(jí)中斷源中斷源縮寫縮寫TAIV的內(nèi)容的內(nèi)容高高捕獲捕獲/比較器比較器1CCIFG12捕獲捕獲/比較器比較器2CCIFG24捕獲捕獲/比較器比較器XCCIFGx低低定時(shí)器溢出定時(shí)器溢出TAIFG110沒有終端將掛起沒有終端將掛起0表表5.3 中斷優(yōu)先級(jí)中斷優(yōu)先級(jí)2. 中斷及中斷嵌套中斷及中斷嵌套 中斷響應(yīng)后,自動(dòng)關(guān)閉總中斷,此時(shí)不會(huì)響應(yīng)高優(yōu)先級(jí)中斷,除非在中中斷響應(yīng)后,自動(dòng)

42、關(guān)閉總中斷,此時(shí)不會(huì)響應(yīng)高優(yōu)先級(jí)中斷,除非在中斷程序中打開總中斷,即產(chǎn)生了中斷嵌套。斷程序中打開總中斷,即產(chǎn)生了中斷嵌套。實(shí)現(xiàn)中斷嵌套需要注意以下幾點(diǎn):實(shí)現(xiàn)中斷嵌套需要注意以下幾點(diǎn):(1)默認(rèn)的是關(guān)閉中斷嵌套的,除非中斷程序中再次開總中斷)默認(rèn)的是關(guān)閉中斷嵌套的,除非中斷程序中再次開總中斷EINT;(2)多個(gè)中斷同時(shí)到來,按優(yōu)先級(jí)來執(zhí)行,即中斷優(yōu)先級(jí)只有在多個(gè)中)多個(gè)中斷同時(shí)到來,按優(yōu)先級(jí)來執(zhí)行,即中斷優(yōu)先級(jí)只有在多個(gè)中 斷同時(shí)到來時(shí)才起做用,中斷服務(wù)不執(zhí)行搶先原則。斷同時(shí)到來時(shí)才起做用,中斷服務(wù)不執(zhí)行搶先原則。(3)對于單源中斷)對于單源中斷,只要響應(yīng)中斷只要響應(yīng)中斷,系統(tǒng)硬件自動(dòng)清中斷標(biāo)志

43、位,對于定系統(tǒng)硬件自動(dòng)清中斷標(biāo)志位,對于定 時(shí)器的比較時(shí)器的比較/捕獲中斷,只要訪問捕獲中斷,只要訪問TAIV/TBIV,標(biāo)志位倍被自動(dòng)清除。,標(biāo)志位倍被自動(dòng)清除。5.2.3 定時(shí)器定時(shí)器_B模塊模塊 定時(shí)器定時(shí)器_B比定時(shí)器比定時(shí)器_A多了比較鎖存器,這使得用戶可以更加靈活地控多了比較鎖存器,這使得用戶可以更加靈活地控制比較數(shù)據(jù)更新的時(shí)機(jī);從結(jié)構(gòu)上看兩者非常的相似。定時(shí)器制比較數(shù)據(jù)更新的時(shí)機(jī);從結(jié)構(gòu)上看兩者非常的相似。定時(shí)器_B模塊的模塊的結(jié)構(gòu)圖如圖結(jié)構(gòu)圖如圖5.7所示:所示:1.Timer_B和和Timer_A共同的特征共同的特征 具有具有4種工作模式;種工作模式; 計(jì)數(shù)器輸入時(shí)鐘源可選可

44、配置;計(jì)數(shù)器輸入時(shí)鐘源可選可配置;多個(gè)獨(dú)立可配置捕獲多個(gè)獨(dú)立可配置捕獲/比較模塊;比較模塊; 可配置輸出單元(具有可配置輸出單元(具有8種輸出模式);種輸出模式);中斷功能豐富(中斷源自計(jì)數(shù)器溢出、各捕獲中斷功能豐富(中斷源自計(jì)數(shù)器溢出、各捕獲/比較模塊的捕獲事件或比比較模塊的捕獲事件或比較事件)。較事件)。 2. Timer_B與與Timer_A不同之處不同之處 Timer_B計(jì)數(shù)長度為計(jì)數(shù)長度為8位、位、10位、位、12位、位、16位可編程;位可編程;Timer_B的的TBCCRx緩存寄存器是雙向且可分組管理;緩存寄存器是雙向且可分組管理;Timer_B中無中無Timer_A中中SCCI寄

45、存器位功能;寄存器位功能; Timer_B在比較模式下的捕獲在比較模式下的捕獲/比較寄存器功能增加比較鎖存器;比較寄存器功能增加比較鎖存器; Timer_B輸出可設(shè)為高阻輸出;輸出可設(shè)為高阻輸出; 由于定時(shí)器由于定時(shí)器_B比定時(shí)器比定時(shí)器_A的相似性,這里不再贅述,請讀者參考數(shù)據(jù)手的相似性,這里不再贅述,請讀者參考數(shù)據(jù)手冊。冊。圖圖5.7 定時(shí)器定時(shí)器B模塊結(jié)構(gòu)圖模塊結(jié)構(gòu)圖5.4 應(yīng)用實(shí)例應(yīng)用實(shí)例 1. 用用Timer_A實(shí)現(xiàn)紅外載波(實(shí)現(xiàn)紅外載波(40K)發(fā)射。)發(fā)射。/*本程序根據(jù)不同的本程序根據(jù)不同的key置進(jìn)行數(shù)據(jù)的發(fā)送,使用置進(jìn)行數(shù)據(jù)的發(fā)送,使用40KHZ載波載波key值由值由P2口

46、口按鍵決定,本程序中按鍵決定,本程序中key取值范圍為取值范圍為1,2,3,4定義周期為定義周期為2ms的方的方波,高電平為波,高電平為1ms,低電平為,低電平為1ms根據(jù)不容的根據(jù)不容的key值發(fā)送不同的方波個(gè)數(shù)值發(fā)送不同的方波個(gè)數(shù)(例如(例如key = 1,發(fā)送一個(gè))采用發(fā)送一個(gè))采用1M的機(jī)器周期的機(jī)器周期#include#define uchar unsigned char#define uint unsigned int#define PWM BIT2 /*發(fā)送高電平函數(shù)發(fā)送高電平函數(shù)*/void Output_high(uint val) /發(fā)送周期約為發(fā)送周期約為25us的方波,

47、高電平的方波,高電平12us,低,低電平電平12us uint j; /發(fā)送方波的次數(shù)發(fā)送方波的次數(shù) P1SEL |= PWM; P1DIR |= PWM; TACTL |= TASSEL1 + MC0 + TACLR; TACCTL1 |= OUTMOD_0 + OUTMOD_1 + OUTMOD_2; TACCR0 = 24; TACCR1 = 12; for(j = val;j 0;j-) LPM0; /*發(fā)送低電平函數(shù)發(fā)送低電平函數(shù)*/void Output_low(uint val) /停止發(fā)送方波,停止發(fā)送方波,CPU進(jìn)入節(jié)進(jìn)入節(jié)電電模式模式 P1SEL |= PWM; P1DIR |= PWM; TACTL |= TASSEL1 + MC0 + TACLR; TACCTL1 |= OUTMOD_0; /輸出選擇輸出選擇OUTMOD,信號(hào)輸出由,信號(hào)輸出由OUT位控制位控制 TACCR0 = val; LPM0; /*定時(shí)中斷函數(shù)定時(shí)中斷函數(shù)*/#pragma vector = TIMERA0_VECTOR_in

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論