久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1880|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

N76E003 紅外解碼部分代碼

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:281424 發(fā)表于 2018-11-23 15:54 | 只看該作者 回帖獎勵 |倒序?yàn)g覽 |閱讀模式
UINT8 IR_SCAN(void)
{
        UINT8 i=0;
        UINT8 t1,t2;
       
       
    if(bIR_scan==0) return 0;
         bIR_scan=0;
         RmtRec=0;
       
       
        if(IR_IO==0)
          {
                clr_TR0;
                clr_TF0;
                TL0 =0;
                TH0 =0;
                set_TR0; //Start Timer0
                bIR=0;IR_cont=0;
                  
                while ((IR_IO==0)&&(bIR != 1)); //Check Timer0 Time-Out Flag
                        clr_TR0; //Stop Timer0
                        clr_TF0;
                        Dval=TIM0_GetCounter();
                  
                                if(Dval>8600&&Dval<9300) //9ms
                                {
                     
                                TL0 =0;
                                TH0 =0;
                                set_TR0; //Start Timer0
                                bIR=0;IR_cont=0;
                                       
                                while ((IR_IO==1)&&(bIR != 1)); //Check Timer0 Time-Out Flag
                                        clr_TR0; //Stop Timer0
                                        clr_TF0;
                                        Dval=TIM0_GetCounter();
                                        if(Dval>4200&&Dval<4700) //4.5ms  &&×óóò¶¼ÎaÕæÔòÎaÕæ
                                   {
//----------------------------------------------------------
                                                        do{
                                                                TL0 =0;
                                                                TH0 =0;
                                                                set_TR0;        //Start Timer0
                                                                bIR=0;IR_cont=0;
                                                        while ((IR_IO==0)&&(bIR != 1)); //Check Timer0 Time-Out Flag
                                                                clr_TR0;        //Stop Timer0
                                                                clr_TF0;
                                                                Dval=TIM0_GetCounter();
                                                        if(Dval<300&&Dval>800)        //560us
                                                                {
                                                                return 0;
                                                                }
                                                               
                                                        TL0 =0;
                                                        TH0 =0;
                                                        set_TR0;        //Start Timer0
                                                        bIR=0;IR_cont=0;
                                                                                       
                                                        while ((IR_IO==1)&&(bIR != 1)); //Check Timer0 Time-Out Flag
                                                                clr_TR0;        //Stop Timer0
                                                                clr_TF0;
                                                                Dval=TIM0_GetCounter();
                                                                                                               
                                                                if(Dval>300&&Dval<800)        //560????,560us
                                                                {
                                                                        RmtRec<<=1;
                                                                        RmtRec|=0;        //½óêÕμ½0
                                                                        i++;
                                                                }
                                                               
                                                                else if(Dval>1400&&Dval<1800)        //1680Îa±ê×¼Ö죬1680uS
                                                                {
                                                                        RmtRec<<=1;
                                                                        RmtRec|=1;        //½óêÕμ½1
                                                                        i++;
                                                                }
                                                                else if(Dval>2200&&Dval<2600)        //μÃμ½°′¼ü¼üÖμÔö¼óμÄDÅÏ¢£¬2500±ê×¼ÖμÎa2.5mS
                                                                {
                                                                }
                                                         }
                                                                while(i<32);
                                                        //--------------------------------------------------------------------
                                                                t1=RmtRec>>24;        //μÃμ½μØÖ·Âë
                                                                t2=(RmtRec>>16)&0xff;        //μÃμ½μØÖ··′Âë
                                         
                                                                if((t1==(UINT8)~t2)&&t1==REMOTE_ID)//¼ìÑéò£¿Øê¶±eÂë(ID)¼°μØÖ·
                                                                {
                                                                                t1=RmtRec>>8;
                                                                                t2=RmtRec;
                                                                                IR_code=t1;
                                                                       
                                                                                if(t1==(UINT8)~t2)return 1;//¼üÖμÕyè·
                                                                                }
                //---------------------------------------------------------------------
                                }
                   }
                }
      return 0;
}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产精品99久久久久久久vr | 欧美成人性生活 | 成人国产精品色哟哟 | 黄色一级电影在线观看 | 欧美精品一区二区免费 | 亚洲欧美日韩成人在线 | 能看的av | 亚洲一区二区三区四区五区午夜 | 欧美成人a | 日本成人中文字幕在线观看 | 国产激情自拍视频 | 日韩精品久久久 | 亚洲国产视频一区二区 | 亚洲成av人影片在线观看 | 成人欧美一区二区三区在线观看 | 欧美综合国产精品久久丁香 | 国产精品久久久久久久久久 | 国产精品久久久久久久久久软件 | 欧美日韩在线成人 | 亚洲国产一区二区三区, | 欧美理伦片在线播放 | 午夜理伦三级理论三级在线观看 | 亚洲综合精品 | 久久精品欧美一区二区三区不卡 | 久久伊人青青草 | 国产农村妇女精品一区 | 国外成人免费视频 | 久久精品一区二区视频 | 一级片av| 精品久 | 欧美理伦片在线播放 | 91精品国产一区二区在线观看 | 国产这里只有精品 | 免费观看一级视频 | 成人a免费| 久久国品片| 成人一区二区三区 | 亚洲天堂色 | 一级欧美一级日韩片免费观看 | 国产精品一区二区免费看 | 亚洲成色777777在线观看影院 |