• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > SAA3010紅外遙控接收的C程序源代碼

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

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

    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 //使用定時計數器1
    {
    if(ykdelay){ykdelay--;EX0=0;} //ykdelay不為0暫停
    else
    {
    if(ykbnum==13) //碼最后一位為0,補0
    {
    ykcode=ykcodetemp*=2;
    ykdelay=3;
    EX0=0; //暫停
    ykok=1; //遙控數據有效
    }
    else if(ykbnum==14) //遙控碼最后一位為1,不用補
    {
    ykcode=ykcodetemp;
    ykdelay=3;
    EX0=0; //暫停
    ykok=1; //遙控數據有效
    }
    else EX0=1; //ykbnum不為13,14接收無效,繼續接收
    ykbnum=0;
    ykcodetemp=0;
    }
    }

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


    上一頁 1 2 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 普宁市| 麦盖提县| 邵武市| 林甸县| 墨脱县| 江油市| 青海省| 杂多县| 通河县| 上饶市| 盐池县| 罗城| 兴化市| 阿瓦提县| 呼伦贝尔市| 博野县| 湖南省| 五寨县| 广汉市| 福州市| 六安市| 驻马店市| 佛教| 鄂托克旗| 耒阳市| 泰和县| 故城县| 元谋县| 莱阳市| 沙河市| 河源市| 马龙县| 清苑县| 鄱阳县| 博乐市| 厦门市| 锡林浩特市| 台东市| 东港市| 子洲县| 南召县|