<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > msp430定時器A中斷實例

          msp430定時器A中斷實例

          作者: 時間:2016-11-13 來源:網絡 收藏
          //例程描述:利用定時器定時功能,實現(xiàn)P1.0方波輸出。

          #include <msp430x14x.h>

          本文引用地址:http://www.ex-cimer.com/article/201611/316559.htm

          {

          WDTCTL = WDTPW + WDTHOLD; //停止看門狗WDT,不使用內部看門狗定時器。

          P1DIR |= 0x01; //設置P1.0口方向為輸出。

          CCTL0 = CCIE; //設置捕獲/比較控制寄存器中CCIE位為1,CCR0捕獲/比較功能中斷為允許。

          CCR0 = 50000;//捕獲/比較控制寄存器CCR0初值為5000。

          TACTL = TASSEL_2 + MC_2; //設置定時器A控制寄存器TACTL,使時鐘源選擇為SMCLK輔助時鐘。

          _BIS_SR(LPM0_bits + GIE); //進入低功耗模式LPM0和開中斷

          }

          //定時器A 中斷服務程序區(qū)

          #pragma vector=TIMERA0_VECTOR

          __interrupt void Timer_A (void)

          {

          P1OUT ^= 0x01; //P1.0取反輸出

          CCR0 += 50000; //重新載入CCR0捕獲/比較數據寄存器數據

          }

          //例程描述:利用定時器定時功能,實現(xiàn)P1.0方波輸出。

          // 需要注意的是定時器中斷程序,采用向量查詢方式。

          #include

          void main(void)

          {

          WDTCTL = WDTPW + WDTHOLD; // 停止看門狗WDT

          P1DIR |= 0x01; // 設置P1.0口方向為輸出。

          TACTL = TASSEL_2 + MC_2 + TAIE; // 時鐘源選擇為SMCLK,選擇計數模式,定時器中斷開

          _BIS_SR(LPM0_bits + GIE); //進入低功耗模式LPM0和開中斷

          }

          // Timer_A3 中斷向量(TAIV)處理

          #pragma vector=TIMERA1_VECTOR

          __interrupt void Timer_A(void)

          {

          switch( TAIV )

          {

          case 2: break; //CCR1不使用

          case 4: break; //CCR2不使用

          case 10: P1OUT ^= 0x01; //溢出

          break;

          }

          }



          評論


          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();