新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應用 > SAA3010紅外遙控接收的C程序源代碼

        SAA3010紅外遙控接收的C程序源代碼

        作者: 時間:2011-05-05 來源:網(wǎng)絡(luò) 收藏

        void intx0() interrupt 0 using 2 //使用外部中斷0,接P3.2口
        {
        ykbtc=TH1;TH1=0;TL1=0;TR1=1;ET1=1;
        switch(ykbnum)
        {
        case(0):
        ykbnum=1;
        break;
        case(1):
        if(ykbtc==6)ykbnum=2;
        else ykbnum=0;
        break;
        case(2):
        if(ykbtc==6||ykbtc==9)ykbnum=3;
        else ykbnum=0;
        break;
        case(3):
        if(ykbtc==9||ykbtc==6){ykbnum=4;}
        else ykbnum=0;
        break;
        default:
        if(ykbnum7)if(ykbtc==6)ykbnum++;
        else ykbnum=0;
        else
        {
        if(ykbtc==6){if(ykcodetemp0)ykcodetemp=ykcodetemp*2+1;
        else ykcodetemp=ykcodetemp*2;
        ykbnum++;
        }
        else if(ykbtc==9){ if(ykcodetemp0){ykbnum++;ykcodetemp=ykcodetemp*2;}
        else {ykbnum+=2;ykcodetemp=ykcodetemp*2;ykcodetemp=ykcodetemp*2+1;}
        }
        else if(ykbtc>11ykbtc15)
        {ykbnum+=2;ykcodetemp=ykcodetemp*2;ykcodetemp=ykcodetemp*2+1;}
        else if(ykbtc>30){EX0=1;}
        else ykbnum=0;
        }
        }
        }

        void intt1() interrupt 3 using 3 //使用定時計數(shù)器1
        {
        if(ykdelay){ykdelay--;EX0=0;} //ykdelay不為0暫停
        else
        {
        if(ykbnum==13) //碼最后一位為0,補0
        {
        ykcode=ykcodetemp*=2;
        ykdelay=3;
        EX0=0; //暫停
        ykok=1; //遙控數(shù)據(jù)有效
        }
        else if(ykbnum==14) //遙控碼最后一位為1,不用補
        {
        ykcode=ykcodetemp;
        ykdelay=3;
        EX0=0; //暫停
        ykok=1; //遙控數(shù)據(jù)有效
        }
        else EX0=1; //ykbnum不為13,14接收無效,繼續(xù)接收
        ykbnum=0;
        ykcodetemp=0;
        }
        }

        /*
        // 測試主函數(shù)內(nèi)容
        main()
        {
        YkInit();
        led_test(); //4LED測試函數(shù)
        for(;1;) //主
        {
        if (YkTest())
        led_showhh(YkGetcode());
        led_delay(10);
        }
        }


        上一頁 1 2 下一頁

        評論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 清涧县| 凤台县| 涞源县| 湖北省| 繁昌县| 永仁县| 荃湾区| 杭锦后旗| 高台县| 古田县| 民乐县| 北安市| 常山县| 铁力市| 伊金霍洛旗| 浦县| 沅陵县| 缙云县| 尼勒克县| 石柱| 靖边县| 浠水县| 灯塔市| 赫章县| 焦作市| 怀来县| 保山市| 武平县| 张家口市| 色达县| 开化县| 四会市| 达尔| 获嘉县| 宝兴县| 哈密市| 孝义市| 梁山县| 大悟县| 濮阳县| 武平县|