新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 51單片機紅外遙控解碼

        51單片機紅外遙控解碼

        作者: 時間:2011-10-09 來源:網絡 收藏

        發射芯片采用PPM編碼方式,當發射器按鍵按下后,將發射一組108ms的編碼脈沖。編碼脈沖由前導碼、8位用戶碼、8位用戶碼的反碼、8位操作碼以及8位操作碼的反碼組成。通過對用戶碼的檢驗,每個器只能控制一個設備動作,這樣可以有效地防止多個設備之間的干擾。編碼后面還要有編碼的反碼,用來檢驗編碼接收的正確性,防止誤操作,增強系統的可靠性。前導碼是一個遙控碼的起始部分,由一個9ms的低電平(起始碼)和一個4. 5ms的高電平(結果碼)組成,作為接受數據的準備脈沖。以脈寬為0. 56ms、周期為1. 12ms的組合表示二進制的“0”;以脈寬為1. 68ms、周期為2. 24ms的組合表示二進制的“1”。如果按鍵按下超過108ms仍未松開,接下來發射的代碼(連發代碼)將僅由起始碼(9ms)和結束碼(2. 5ms)組成。

        本文引用地址:http://www.104case.com/article/172456.htm

        采用外部中斷INTI管腳和接收頭的信號線相連,中斷方式為邊沿觸發方式。并用定時器0計算中斷的間隔時間,來區分前導碼、二進制的“1”、“0”碼。并將8位操作碼提取出來在數碼管上顯示。

        // 值在Im[2]中,當IrOK=1時有效。
        /* 51遙控程序 */
        //用遙控器對準紅外接收頭,按下遙控器按鍵,在數碼管前兩位上就會顯示對應按鍵的編碼

        #include reg52.h>
        #define uchar unsigned char
        sbit dula=P2^6;
        sbit wela=P2^7;
        uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,
        0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};

        uchar f;

        #define Imax 14000 //此處為晶振為11.0592時的取值,
        #define Imin 8000 //如用其它頻率的晶振時,
        #define Inum1 1450 //要改變相應的取值。
        #define Inum2 700
        #define Inum3 3000

        unsigned char Im[4]={0x00,0x00,0x00,0x00};
        uchar show[2]={0,0};
        unsigned long m,Tc;
        unsigned char IrOK;


        void delay(uchar i)
        {
        uchar j,k;
        for(j=i;j>0;j--)
        for(k=125;k>0;k--);
        }

        void display()
        {
        dula=0;
        P0=table[show[0]];
        dula=1;
        dula=0;

        wela=0;
        P0=0xfe;
        wela=1;
        wela=0;
        delay(5);

        P0=table[show[1]];
        dula=1;
        dula=0;

        P0=0xfd;
        wela=1;
        wela=0;
        delay(5);
        }

        液位計相關文章:磁翻板液位計原理



        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 九江县| 容城县| 罗田县| 新疆| 焦作市| 阳山县| 柘城县| 雅江县| 嘉定区| 宜阳县| 平定县| 故城县| 延吉市| 祁阳县| 阿合奇县| 邯郸市| 元江| 贞丰县| 柘城县| 抚州市| 张北县| 康乐县| 德庆县| 桓台县| 积石山| 醴陵市| 陆丰市| 内丘县| 石渠县| 古交市| 建阳市| 普安县| 隆德县| 安庆市| 麻城市| 自贡市| 清镇市| 德钦县| 托克逊县| 桐城市| 阜平县|