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

下載本文檔

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

文檔簡介

1、msp430f149 定時(shí)器 (1)利用定時(shí)器a的模式2(延續(xù))實(shí)現(xiàn)的定時(shí)資料 利用定時(shí)器a的模式2(延續(xù))實(shí)現(xiàn)的定時(shí)資料 在程序中對tactl的控制,當(dāng)tactl為如下的賦值時(shí)tactl = tassel_2 + mc_2 + taie; / smclk, contmode, interrupt可以轉(zhuǎn)變tassel_x來實(shí)現(xiàn)不同的定時(shí),當(dāng)為tassel_1時(shí)選aclk為定時(shí)時(shí)鐘,可以實(shí)現(xiàn)最短2s的定時(shí),第二為2s的倍數(shù)的定時(shí)。當(dāng)為tassel_2時(shí)選 smclk為定時(shí)時(shí)鐘,定時(shí)取決于smclk的時(shí)鐘源,1、smclk選 dco = 800khz為時(shí)鐘源,最短定時(shí)時(shí)光 為 0.08s 的定時(shí),

2、第二為其倍數(shù)。2、smclk選 xt2也即外部高頻晶振,此時(shí)定時(shí)取決于晶振頻率,及其對分頻的設(shè)置上。主要是設(shè)置bcsctl1及 bcscts2. bcsctl1 = xt2off; bcsctl2 |= sels + divs_3; 通過對上面兩句的不同設(shè)置,可實(shí)現(xiàn)不同的延時(shí)。 /*/ msp-fet430p140 demo - timer_a, toggle p3.4, overflow isr, dco smclk/ description: toggle p3.4 using software and timer_a overflow isr./ in this example an i

3、sr triggers when ta overflows. inside the ta/ overflow isr p3.4 is toggled. toggle rate is approximatlely 12hz./ proper use of the taiv interrupt vector generator is demonstrated./ aclk = n/a, mclk = smclk = taclk = default dco 800khz/ f149/ -/ /| xin|-/ | | |/ -|rst xout|-/ | |/ | p3.4|-/ dasheng/

4、litian electronic inc./ feb 2008/ built with iar embedded workbench version: 3.42a功 能: 由定時(shí)器a,采納800khz的dco,來實(shí)現(xiàn)近一秒的定時(shí)中斷;計(jì)算辦法: t = 1/800,000 = 1.25us so 按照延續(xù)計(jì)數(shù)模式,當(dāng)計(jì)到0xffff時(shí),發(fā)生溢出中斷因此溢出一次的時(shí)光是: 65536*1.25 = 0.0819s,所以計(jì)時(shí)1秒需12次溢出。*/includetypedef unsigned char uchar;typedef unsigned int uint;uchar flag=0;vo

5、id main(void) wdtctl = wdtpw + wdthold; / stop wdt bcsctl1 = xt2off; bcsctl2 |= sels + divs_3; &nbsp3dir |= bit4; tactl = tassel_2 + mc_2 + taie; / smclk, contmode, interrupt _bis_sr(lpm0_bits + gie); / enter lpm0 w/ interrupt / timer_a3 interrupt vector (taiv) handlerpragma vector=timera1_vecto

6、r_interrupt void timer_a(void) switch( taiv ) case 2: break; / ccr1 not used case 4: break; / ccr2 not used case 10: p4out = bit5; / overflow break; /*/ timer a0 interrupt service routinepragma vector=timera0_vector_interrupt void timer_a (void) p4out = bit5; / toggle p3.4 */(2)利用定時(shí)器a的模式1(升高)實(shí)現(xiàn)的定時(shí)資料

7、此時(shí)要用到tacctl0 及 taccr0 ,按照設(shè)定的不同的taccr0及不同的tassel_x即可實(shí)現(xiàn)不同的定時(shí)。但此時(shí)的中斷程序要轉(zhuǎn)變。對定時(shí)器a的中斷的解釋:1、timera1_vector 的中斷地址為 0xffea, 此中斷入口地址包含3個(gè)中斷源,屬于多源中斷,通過taiv的值,可以知道是哪個(gè)源的中斷,當(dāng)taiv 為0x02h時(shí) 中斷源為 taccr1 ccr1ifg 當(dāng)taiv 為0x04h時(shí),中斷源為 taccr2 ccr2ifg 當(dāng)taiv 為0x0ah時(shí),中斷源為 ta overflow taifg 2、timera0_vector 的中斷地址為 0xffec 為單源中斷,

8、中斷源為taccr0 ccr0ifg 對定時(shí)時(shí)光的解釋:當(dāng)tassel_1時(shí),選aclk = 32.768khz,此時(shí)按照選取不同的taccr0來實(shí)現(xiàn)不同的延時(shí),當(dāng)tassel_2時(shí),選smclk = dco 時(shí), 選smclk = xt2時(shí), 關(guān)鍵語句:tactl = tassel_x + mc_1;taccr0 = ;tacctl0 = ccie;(3)、利用定時(shí)器a的比較模式,及輸出模式4和延續(xù)計(jì)數(shù)模式可實(shí)現(xiàn)同時(shí)實(shí)現(xiàn)4個(gè)自立的定時(shí)光隔,或4種不同的頻率輸出。在試驗(yàn)的過程中,同時(shí)驅(qū)動(dòng)數(shù)碼管的4個(gè)段。在比較模式下主要區(qū)別taccr0 taccr1 taccr2 及taifg,的中斷向量及入口

9、地址,及輸出模式(共8種) 其程序如下:includetypedef unsigned char uchar;typedef unsigned int uint;uchar flag=0;uchar table = 0x18,0x7e,0x51,0x52,0x36,0x92,0x90,0x5e,0x10,0x12; /對應(yīng)0-9的共陽極碼void main(void) wdtctl = wdtpw + wdthold; / stop wdt /bcsctl1 |= xt2off; /bcsctl2 |= sels + divs_3; tacctl0 = outmod_4 +ccie ; /en

10、able interrupt tacctl1 = outmod_4 +ccie ; tacctl2 = outmod_4 +ccie ; taccr1 = 0x8000; taccr2 = 0x2000; taccr0 = 0xf000; p3dir |= bit6 + bit7; / p3.4 output p3out |= bit6 + bit7; p4dir = 0xff; p4out = 0xff; tactl = tassel_2 + mc_2 + taie; / smclk, contmode, interrupt _bis_sr(lpm0_bits + gie); / enter

11、 lpm0 w/ interrupt /*/ timer_a3 interrupt vector (taiv) handlerpragma vector=timera1_vector_interrupt void timer_a(void) switch( taiv ) case 2: p4out = bit5; taccr1 += 0x8000;break; / ccr1 not used case 4: p4out = bit3;taccr2 += 0x2000;break; / ccr2 not used case 10: flag+; if(flag=12)p4out = bit2; flag = 0; / over

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論