<acronym id="xonnx"></acronym>
      <td id="xonnx"></td>
    1. <pre id="xonnx"></pre>

      1. 專注電子技術學習與研究
        當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

        msp430 CCR0捕獲/比較寄存器--比較功能中斷定時

        作者:佚名   來源:不詳   點擊數:  更新時間:2014年08月31日   【字體:

         /********************************************************************************

        CCR0捕獲/比較寄存器--比較功能中斷定時
        簡述:本程序是利用了定時器A 模塊中的CCR0 捕獲/比較寄存器的值與定時器A 的值進行
        比較。如果比較相等就產生CCR0 中斷,進入Timer A0 中斷服務程序進行中斷處理。以P1.0
        作為指示,反轉速度= 32768/(2*1000) = 16.384 。
        ACLK = TACLK = 32768Hz, MCLK = SMCLK = default DCO ~800kHz
        本程序TA(Timer A)采用增計數模式。在增計數模式時,當TA 中的計數值與CCR0的值相
        等時(或TA>CCR0 的值時),TA 被清零并且重新由0 開始計數。在此同時,CCR0 產生中斷。
        產生CCIFG0 標志置位,及TAIFG 定時器A 溢出標志置位。CCIFG0,TAIFG 在被中斷服務程
        序處理時是自動復位。如本例中執行__interrupt void Timer_A (void)時,CCIFG0已被清除標志
        位。
        例程:
        ***********************************************************************************/
        //*********************************************************************
        #include <msp430x14x.h>
        void main(void)
        {
          WDTCTL = WDTPW + WDTHOLD; //停止看門狗定時器
          P3DIR |= BIT4; //設P3.4 為輸出
          CCTL0 = CCIE; //CCR0開中斷允許
          CCR0 = 10000-1; //向CCR0捕獲/比較寄存器裝入初值,用于比較
          TACTL = TASSEL_1 + MC_1; //選ACLK為定時器A 時鐘源, 增計數模式
          _BIS_SR(LPM3_bits + GIE); //進入LPM3模式/ 開中斷允許
        }
        // Timer A0中斷服務程序
        #pragma vector=TIMERA0_VECTOR
        __interrupt void Timer_A (void)
        {
          P3OUT ^= BIT4; //反轉 P3.4
        }
        //**********************************************************************
        關閉窗口
        欧美性色欧美精品视频,99热这里只有精品mp4,日韩高清亚洲日韩精品一区二区,2020国自产拍精品高潮