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

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            msp430精確測(cè)低頻

            作者: 時(shí)間:2016-11-11 來(lái)源:網(wǎng)絡(luò) 收藏
            //******************************************************************************
            // Date: 2009.8.16
            // Author: xurafreedom
            // Email: [email protected] / [email protected]
            // Blog: http://xurafreedom.cublog.cn
            // 基本原理:1s定時(shí),在此時(shí)間內(nèi)計(jì)數(shù)捕獲到的信號(hào)上升沿個(gè)數(shù),考慮到msp430的中斷優(yōu)先級(jí)// 已經(jīng)固定,所以用高優(yōu)先級(jí)的Timer_B產(chǎn)生50ms定時(shí),低優(yōu)先級(jí)的Timer_A捕獲信號(hào)的上升沿
            //******************************************************************************
            #include
            void InitSys();
            unsigned int upflag = 0;
            unsigned int f_50ms = 0;
            /*******************************************
            主函數(shù)
            ********************************************/
            void main(void)
            {
            WDTCTL = WDTPW + WDTHOLD; // Stop WDT
            InitSys(); // MCLK , SMCLK----8M

            //---------------------------------------------------------------------
            //Timer_B的設(shè)置,用于產(chǎn)生定時(shí)中斷,中斷時(shí)間為50000us
            P1DIR |= BIT3; // Set P1.3 to output direction
            TBCCTL0 = CCIE; // TBCCR0 interrupt enabled
            TBCCR0 = 50000;
            TBCTL = TBSSEL_2 + ID_3 + MC_1; // SMCLK,1M, upmode

            //---------------------------------------------------------------------
            //Timer_A的設(shè)置,用于捕獲外部信號(hào)的邊沿觸發(fā),可以設(shè)置為上升沿觸發(fā),或者下降沿觸發(fā)
            P1DIR&=~BIT2;
            P1SEL = BIT2; //==設(shè)置P1.2端口為功能模塊使用,即:做捕獲源==
            TACTL = TASSEL_2+TACLR+TAIE+MC1;//==定時(shí)器A時(shí)鐘信號(hào)選擇ACLK,
            CCTL1 = CM_1+SCS+CAP+CCIE; //==輸入上升沿捕獲,CCI0A為捕獲信號(hào)源==
            _EINT();
            while(1);
            }
            /*******************************************
            函數(shù)名稱:InitSys
            功 能:初始化時(shí)鐘函數(shù)
            參 數(shù):無(wú)
            返回值 :無(wú)
            ********************************************/
            void InitSys()
            {
            unsigned int i;
            BCSCTL1&=~XT2OFF; //==打開XT2振蕩器==
            do
            {
            IFG1 &= ~OFIFG; //==清除振蕩器失效標(biāo)志==
            for (i = 0xFF; i > 0; i--); //==延時(shí),等待XT2起振==
            }
            while ((IFG1 & OFIFG) != 0); //==判斷XT2是否起振==
            BCSCTL2 =SELM_2+SELS; //==選擇MCLK、SMCLK為XT2,8M==
            }
            /*******************************************
            函數(shù)名稱:Timer_B
            功 能:定時(shí)器B中斷服務(wù)子函數(shù),產(chǎn)生50ms定時(shí)
            參 數(shù):無(wú)
            返回值 :無(wú)
            ********************************************/
            // Timer B0 interrupt service routine
            #pragma vector=TIMERB0_VECTOR
            __interrupt void Timer_B (void)
            {
            P1OUT ^= BIT3; // 定時(shí)50ms
            f_50ms = upflag;
            upflag = 0;
            }
            /*******************************************
            函數(shù)名稱:Timer_A
            功 能:捕獲待測(cè)信號(hào)上升沿
            參 數(shù):無(wú)
            返回值 :無(wú)
            ********************************************/
            #pragma vector=TIMERA1_VECTOR //==定時(shí)器A中斷處理==
            __interrupt void Timer_A(void)
            {
            switch(TAIV) //向量查詢
            { case 2: //捕獲中斷
            if(CCTL1&CM0) //捕獲到上升沿
            upflag++;
            break;
            default:
            break;
            }
            }


            關(guān)鍵詞: msp430測(cè)低

            評(píng)論


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

            關(guān)閉