在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

    
    
    <address id="vxupu"><td id="vxupu"></td></address>

      <pre id="vxupu"><small id="vxupu"></small></pre>
      <dfn id="vxupu"></dfn>
      <div id="vxupu"><small id="vxupu"></small></div>
    1. 新聞中心

      EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > MSP430F5529 (六)定時(shí)器Timer_A-2

      MSP430F5529 (六)定時(shí)器Timer_A-2

      作者: 時(shí)間:2016-11-28 來源:網(wǎng)絡(luò) 收藏

      6.4.2 捕獲模式
      當(dāng)CAP=1時(shí),選擇捕獲模式。捕獲模式用于記錄時(shí)間事件,比如速度估計(jì)或時(shí)間測量。捕獲輸入CCIXA和CCLXB連接外部的引腳或內(nèi)部的信號,這通過CCISX位來選擇。CMX位選擇捕獲輸入信號觸發(fā)沿;上升沿、下降沿或兩者都捕獲。當(dāng)輸入信號的觸發(fā)沿到來時(shí),捕獲事件發(fā)生:
      ○定時(shí)器的TAR值復(fù)制到TACCRX寄存器中
      ○中斷標(biāo)志位CCIFG置位
      注意:①捕獲信號可能會和定時(shí)器時(shí)鐘不同步,并導(dǎo)致競爭條件的發(fā)生。將SCS位置位可以在下個(gè)定時(shí)器時(shí)鐘使捕獲同步
      ②如果第二次捕獲發(fā)生時(shí),第一次捕獲的TAR值還沒有及時(shí)被存到TACCRx,捕獲比較寄存器就會產(chǎn)生一個(gè)溢出邏輯,COV位在此時(shí)置位, COV位必須軟件清除。

      6.5 輸出模塊
      傳統(tǒng)的定時(shí)器,都是通過標(biāo)志位的判斷來定時(shí)觸發(fā)事件的。而430則具有輸出模塊,通過和定時(shí)結(jié)合起來,可以方便的產(chǎn)生PWM信號或者其它控制信號
      每個(gè)捕獲/比較器都有一個(gè)輸出口,如P1.1-P1.5對應(yīng)TA0.0-TA0.4這5個(gè)捕獲比較器的輸出。

      輸出模式:輸出模式由OUTMODx位來確定,如下表對于所有模式來說(模式0除外),OUTx信號隨著定時(shí)器時(shí)鐘的上升沿而改變。輸出模式2,3,6和7對輸出模式0無效,因?yàn)榇四J较?,EQUx=EQU0。
      (復(fù)位指的是置0)


      OUTMODX模式說明
      000輸出輸出信號OUTx由OUT位定義。當(dāng)OUT位更
      新時(shí),OUTx信號立刻更新
      001置位當(dāng)定時(shí)器計(jì)數(shù)到TACCRX值時(shí),輸出置位,并保
      持置位直到定時(shí)器復(fù)位或選擇了另一個(gè)輸出模式
      010翻轉(zhuǎn)/復(fù)位當(dāng)定時(shí)器計(jì)數(shù)到TACCRX值時(shí),輸出翻轉(zhuǎn)。當(dāng)定
      時(shí)器計(jì)數(shù)到TACCR0值時(shí),輸出復(fù)位
      011置位/復(fù)位當(dāng)定時(shí)器計(jì)數(shù)到TACCRX值時(shí),輸出置位。當(dāng)定
      時(shí)器計(jì)數(shù)到TACCR0值時(shí),輸出復(fù)位
      100翻轉(zhuǎn)當(dāng)定時(shí)器計(jì)數(shù)到TACCRX值時(shí),輸出翻轉(zhuǎn)。輸出
      信號的周期將是定時(shí)器的2倍
      101復(fù)位當(dāng)定時(shí)器計(jì)數(shù)到TACCRX值時(shí),輸出復(fù)位,并保
      持復(fù)位直到選擇了另一個(gè)輸出模式
      110翻轉(zhuǎn)/置位當(dāng)定時(shí)器計(jì)數(shù)到TACCRX值時(shí),輸出翻轉(zhuǎn)。當(dāng)定
      時(shí)器計(jì)數(shù)到TACCR0值時(shí),輸出置位
      111復(fù)位/置位當(dāng)定時(shí)器計(jì)數(shù)到TACCRX值時(shí),輸出復(fù)位。當(dāng)定
      時(shí)器計(jì)數(shù)到TACCR0值時(shí),輸出置位


      舉一個(gè)例子:結(jié)合上表看下圖

      注意:在模式轉(zhuǎn)換的時(shí)候,一定要保持OUTMOD至少一位置位,除非轉(zhuǎn)向0模式。所以最好的做法是:先把OUTMOD置為7,然后再清除掉不需要的位。
      做一個(gè)說明:比較模式下,當(dāng)計(jì)數(shù)器TAR中的值和TACCRX中的設(shè)計(jì)值相等時(shí),相應(yīng)捕獲/比較器的EQUx就會置位。那么EQU0、EQUx和OUTMOD是怎么來影響輸出的呢?以模式2(翻轉(zhuǎn)/復(fù)位)為例,該模式的定義是這樣的:當(dāng)定時(shí)器計(jì)數(shù)到TACCRX值時(shí),輸出翻轉(zhuǎn)。當(dāng)定時(shí)器計(jì)數(shù)到TACCR0值時(shí),輸出復(fù)位。于是,這句話就也可以翻譯成在模式2的條件下,當(dāng)EQUX=1時(shí),輸出翻轉(zhuǎn);當(dāng)EQU0等于1的時(shí)候,輸出復(fù)位。這兩個(gè)信號這里相當(dāng)于兩個(gè)觸發(fā)(使能)信號了。

      總結(jié)
      實(shí)驗(yàn)一:
      /*利用Timer_A比較模式下的多路定時(shí),讓LED閃爍*/
      #include
      void main(void)
      {
      WDTCTL=WDTPW+WDTHOLD;
      P1DIR|=(BIT1+BIT2+BIT3+BIT4+BIT5);//P1.1-P1.5為輸出方向
      P1OUT=0x00; //全部拉低,初始化LED全滅
      TA0CCTL1=CCIE; //捕獲比較器1開啟CCIFG位中斷
      TA0CCR1=13107; //置入要比較的數(shù)值0xff/5=13107
      TA0CCTL2=CCIE; //捕獲比較器2開啟中斷
      TA0CCR2=26214; //13107*2=26214
      TA0CCTL3=CCIE; //捕獲比較器3開啟中斷

      TA0CCR3=39321; //13107*3=39321
      TA0CCTL4=CCIE; //捕獲比較器4開啟中斷
      TA0CCR4=52428; //13107*4=52428
      TA0CTL|=TACLR+TAIE; //開啟中斷并清零
      TA0CTL|=TASSEL_1+MC_2+TAIE;//選擇SCLK32.768KHZ作為時(shí)鐘,選用連續(xù)模式,并開啟中斷
      /*這樣的話,5個(gè)燈閃一遍的時(shí)間為0xffff/32768=2S*/
      __enable_interrupt(); //開啟總中斷
      while(1);
      }
      /*TIMER0_A0_VECTOR是計(jì)時(shí)器0的CCR0的中斷寄存器,TIMER0_A1_VECTOR是計(jì)時(shí)器0的CCR1-CCR4、TA的寄存器*/
      /*同理定時(shí)器TA1也是分為兩個(gè)TIMER1_A0_VECTOR和TIMER1_A1_VECTOR*/
      #pragma vector=TIMER0_A1_VECTOR
      __interrupt void TimerA(void)
      {
      switch(__even_in_range(TA0IV,14))
      /* 這句話的意思是:只有在TA0IV的值是在0--14內(nèi)的偶數(shù)時(shí)才會執(zhí)行switch函數(shù)內(nèi)的語句
      其作用是提高switch語句的效率*/
      {
      case 2:P1OUT=BIT1;break; //TACCR1 CCIFG置位,表明計(jì)數(shù)值和設(shè)定的13107相等了,也就是說計(jì)了0.4S了
      case 4:P1OUT=BIT2;break; //TACCR2 CCIFG置位,表明計(jì)了0.8S了
      case 6:P1OUT=BIT3;break; //TACCR3 CCIFG置位,表明計(jì)了1.2S了
      case 8:P1OUT=BIT4;break; //TACCR4 CCIFG置位,表明計(jì)了1.6S了
      case 14:P1OUT=BIT5;break; //TAIFG置位,表明計(jì)了2S了
      default:break;
      }

      }


      評論


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

      關(guān)閉