在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,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>

            新聞中心

            EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 利用MSP430 TimerA的CCR1捕獲模式進(jìn)行紅外解碼的實(shí)例

            利用MSP430 TimerA的CCR1捕獲模式進(jìn)行紅外解碼的實(shí)例

            作者: 時(shí)間:2016-11-13 來(lái)源:網(wǎng)絡(luò) 收藏
            利用MSP430 TimerACCR1捕獲模式對(duì)紅外遙控芯片M50560-008P進(jìn)行紅外解碼的實(shí)例。注:定義的測(cè)量時(shí)間都是經(jīng)過(guò)實(shí)際調(diào)試后調(diào)整得到,可能與芯片手冊(cè)會(huì)有出入。

            //紅外遙控芯片M50560-008P,其編碼格式和M50560-001P一致,可參閱數(shù)據(jù)手冊(cè)。

            本文引用地址:http://www.biyoush.com/article/201611/316541.htm
            #define UserCode 0xC2
            #define LeadCodeOrSeprateTime 4000 //4ms,對(duì)應(yīng)1MHz的計(jì)數(shù)時(shí)鐘
            #define Bit0Time1 600 //0.600ms,對(duì)應(yīng)1MHz的計(jì)數(shù)時(shí)鐘
            #define Bit0Time2 520 //0.520ms,對(duì)應(yīng)1MHz的計(jì)數(shù)時(shí)鐘
            #define Bit1Time1 600 //0.600ms,對(duì)應(yīng)1MHz的計(jì)數(shù)時(shí)鐘
            #define Bit1Time2 1600 //1.600ms,對(duì)應(yīng)1MHz的計(jì)數(shù)時(shí)鐘
            #define DataCount 8 //8位的用戶碼或數(shù)據(jù)碼
            void ParaSet(uchar DataCode)//紅外遙控輸入處理
            {
            //處理代碼
            }
            void SysInit(void)
            {
            //系統(tǒng)參數(shù)初始化代碼
            }
            void main(void)//主函數(shù)
            {
            SysInit();//系統(tǒng)參數(shù)初始化
            P1DIR=0xFB;//初始化P1.2(紅外接收頭)為輸入
            P1IE=0x04;//使能P1.2的中斷
            P1IES=0x04;//下降沿觸發(fā)P1.2中斷(紅外接收頭反相輸出)
            }
            #pragma vector=PORT1_VECTOR
            __interrupt void PORT1()//紅外遙控輸入中斷處理
            {
            uint LeadBitTime[2],BitTime[3],LastBitTime;
            uchar i,j,k,Data[2];
            P1IE=0x00;//關(guān)閉P1.2中斷
            _EINT();//進(jìn)入中斷后,系統(tǒng)自動(dòng)關(guān)總中斷允許,因此需再開(kāi)總中斷允許
            if((P1IFG&0x04)==BIT2)//紅外遙控輸入
            {
            P1IFG&=0xFB;//中斷標(biāo)志位復(fù)位
            P1SEL|=0x04;//P1.2第二功能選擇,進(jìn)入TimerA的CCR1捕獲模式
            TACTL|=MC_2+TACLR;//啟動(dòng)TA計(jì)數(shù)器的連續(xù)計(jì)數(shù)模
            TACCTL1&=~CCIFG;//復(fù)位捕獲標(biāo)志
            for(k=0;k<2;k++)
            {
            while((TACCTL1&BIT0)!=CCIFG);//等待上升沿
            LeadBitTime[0]=CCR1;
            TACCTL1&=~CCIFG;
            while((TACCTL1&BIT0)!=CCIFG);//等待下降沿
            LeadBitTime[1]=CCR1;
            TACCTL1&=~CCIFG;
            if(LeadBitTime[1]-LeadBitTime[0]>LeadCodeOrSeprateTime+500||LeadBitTime[1]-LeadBitTime[0] {
            TACTL|=MC_0+TACLR; //停止TA計(jì)數(shù)
            P1SEL&=0xFB;//P1.2恢復(fù)選擇第一功能即為I/O口
            return;
            }//如果引導(dǎo)碼不符則退出
            LastBitTime=LeadBitTime[1];
            for(i=0;i {
            BitTime[0]=LastBitTime;//位碼開(kāi)始時(shí)刻賦初值
            for(j=1;j<3;j++)
            {
            while((TACCTL1&BIT0)!=CCIFG);//等待上升沿或下降沿跳變
            BitTime[j]=CCR1;//讀取捕獲計(jì)時(shí)值
            TACCTL1&=~CCIFG;//復(fù)位捕獲標(biāo)志
            }
            LastBitTime=BitTime[2];//為下一個(gè)位碼保存開(kāi)始時(shí)刻初值
            Data[k]>>=1;//得到的用戶碼和數(shù)據(jù)碼右移1位,高位填0,準(zhǔn)備接收碼位碼值
            if(BitTime[2]-BitTime[1]>Bit0Time2-200&&BitTime[2]-BitTime[1] if(BitTime[2]-BitTime[1]>Bit1Time2-200&&BitTime[2]-BitTime[1] }
            }
            if(Data[0]!=UserCode)
            {//如果用戶碼不為0xC2則退出
            TACTL|=MC_0+TACLR; //停止TA計(jì)數(shù)
            P1SEL&=0xFB;//P1.2恢復(fù)選擇第一功能即為I/O口
            return;
            }
            TACTL|=MC_0+TACLR; //停止TA計(jì)數(shù)
            ParaSet(Data[1]);//參數(shù)設(shè)置
            TACTL|=MC_0+TACLR; //停止TA計(jì)數(shù)
            P1SEL&=0xFB;//P1.2恢復(fù)選擇第一功能即為I/O口
            }
            P1IE=0x04;//使能P1.2的中斷
            }


            評(píng)論


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

            關(guān)閉