中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 用51單片機中斷法解碼pt2262無線遙控器

        用51單片機中斷法解碼pt2262無線遙控器

        作者: 時間:2012-11-15 來源:網(wǎng)絡(luò) 收藏

        /***********************************************
        解碼軟件修正版
        使用了位操作代替前版本的位尋址,使用三個字節(jié)變量存儲獲取的數(shù)據(jù),便于以后將地址和數(shù)據(jù)進行操作
        增加了兩次數(shù)據(jù)比對的功能,降低誤碼的干擾
        2007.8.24
        接受模塊的信號輸出端接INT0中斷口。。。
        P1.0,p1.1上接LED顯示接受的情況。。。
        解碼測試通過。。。
        注意:使用的是4M的晶振以減少mcu對接受模塊的干擾。。。
        程序開發(fā):http://www.51hei.com
        運行平臺:51hei單片機開發(fā)板+315m無線模塊,用杜邦線連接.
        使用時可能要改變檢測的特征值,視遙控的中心頻率而定,可以通過上的電阻改變*********************************************/

        #include reg52.h>
        unsigned int tmp,t1=0;
        unsigned char i9=0,t2;
        char *dataTMP;
        unsigned char dataTMP0,dataTMP1,dataTMP2,datacheck;
        unsigned char bdata oeCON;
        sbit UD0=oeCON^0;
        sbit UD1=oeCON^1;
        sbit OC0=oeCON^2;
        sbit OC1=oeCON^3;
        sbit p10=P1^0;
        sbit p11=P1^1;
        sbit p32=P3^2;
        bit flagF=1,press;
        void up_down();
        void open_close();
        void delay(unsigned char);

        void main()
        {IT0=1;
        EX0=1;
        TMOD=0x09;
        EA=1;
        TR0=1;
        P3=0xff;

        UD0=1;
        UD1=0;
        OC0=1;
        OC1=0;
        while(1)
        {p10=p32;
        if(datacheck==0xff)
        {
        /**********編碼解析后執(zhí)行代碼*******************


        ***********************/
        }
        }
        /*************************************************************
        中斷服務(wù)程序
        通過探頭flagF的值判斷是否接收到sync信號
        接收到的數(shù)據(jù)存入dataTMP的三個變量中
        連續(xù)按鍵的確認:
        等待i9的值變?yōu)?;
        延時
        再次檢測i9的值是否為0;
        是0則認為按鍵中止。
        *************************************************************/
        int0() interrupt 0
        {
        tmp=TH0*256+TL0;
        TH0=0x0;
        TL0=0x0;
        if(flagF)
        {
        if(tmp>1295tmp1300)
        {p11=~p11;flagF=0;}
        }
        else
        {
        if(i99) dataTMP=dataTMP0;
        else
        {dataTMP=i917?(dataTMP1):(dataTMP2);}
        (*dataTMP)=1;
        if(tmp>100tmp150)
        (*dataTMP)=(*dataTMP)|0x01;
        else if(!(tmp>10tmp100))
        {
        flagF=1;
        i9=0;
        }

        if(i9==24)
        {
        if(datacheck!=dataTMP2)
        datacheck=dataTMP2;
        else
        datacheck=0xff;/*按鍵確認*/
        }
        i9++;
        }
        }

        /*******************
        延時函數(shù)
        時間:1-2s
        *******************/
        void delay(unsigned char k)
        {unsigned char i;
        for(i=0;ik;i++)
        for(tmp=0;tmp10300;tmp++);
        }

        紅外遙控器相關(guān)文章:紅外遙控器原理

        萬能遙控器相關(guān)文章:萬能遙控器代碼


        51單片機相關(guān)文章:51單片機教程




        評論


        相關(guān)推薦

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

        關(guān)閉