⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 irint.lst

📁 t112 参考文件
💻 LST
📖 第 1 页 / 共 2 页
字号:
 137   3                              return;
 138   3                      }
 139   2              }
 140   1              /************************************/
 141   1              /*   Detect 16 bit address code     */
 142   1              /************************************/
 143   1              if(ir_enable==TRUE)
 144   1              {
 145   2                      TMOD=0x11;           /*counter start with INT0 and TR0*/
 146   2                      ir_code=0;              /*初始化变量*/
 147   2                      for(i=0;i<16;i++)
 148   2                      {
 149   3                              while(INT1==0);
 150   3                              TL0=0;
 151   3                              TH0=0;
 152   3                              TR0=1;
 153   3                              do
 154   3                              {
 155   4                                      count=(TL0+TH0*256);   /*count :us unit */
 156   4                                      if(Filter13(0)==1) break;
 157   4                              }while(count<=(CODE_1_TIME+DELTA));     /*INT0为高电平时计时*/
 158   3                              TR0=0;
 159   3                              ir_code<<=1;
 160   3                              if((count>(CODE_1_TIME-DELTA))&&(count<=(CODE_1_TIME+DELTA)))  /*detect 1 code  2.24mS-0.56mS=1.68mS*/
 161   3                                      ir_code++;
 162   3                              else if((count>(CODE_0_TIME-DELTA))&&(count<=(CODE_0_TIME+DELTA)));  /*detect 0 code 1.12mS-0.56mS=0.56
             -mS*/
 163   3                              else
 164   3                              {
 165   4                                      ir_enable=FALSE;
 166   4                                      TR0=1;
 167   4                                      break;           /*not suitable for address code */
 168   4                              }
 169   3                      }                /*end for*/
 170   2              }
 171   1              /************************************/
 172   1              /*   Detect 16 bit data code        */
 173   1              /************************************/
 174   1              if(ir_enable==TRUE&&ir_code==IR_SYSTEM_CODE)/**/
 175   1              {
 176   2                      TMOD=0x11;           /*counter start with INT0 and TR0*/
 177   2                      ir_code=0;
C51 COMPILER V7.50   IRINT                                                                 01/12/2006 13:31:13 PAGE 4   

 178   2                      for(i=0;i<16;i++)
 179   2                      {
 180   3                              while(INT1==0);
 181   3                              TL0=0;
 182   3                              TH0=0;
 183   3                              TR0=1;
 184   3                              do
 185   3                              {
 186   4                                      count=(TL0+TH0*256);
 187   4                                      if(Filter13(0)==1) break;
 188   4                              }while(count<=(CODE_1_TIME+DELTA));     /*INT0为高电平时计时*/
 189   3                              TR0=0;
 190   3                              //count=(TL0+TH0*256);   /*count :us unit */
 191   3                              ir_code<<=1;
 192   3                              if((count>(CODE_1_TIME-DELTA))&&(count<=(CODE_1_TIME+DELTA)))  /*detect 1 code 1.68mS*/
 193   3                                      ir_code++;
 194   3                              else if((count>(CODE_0_TIME-DELTA)&&count<=(CODE_0_TIME+DELTA)));  /*detect 0 code 0.56mS*/
 195   3                              else
 196   3                              {
 197   4                                      ir_enable=FALSE;
 198   4                                      TR0=1;
 199   4                                      break;           /*not suitable for address code */
 200   4                              }
 201   3                      }                /*end for*/
 202   2                      if(ir_enable==TRUE)
 203   2                      {
 204   3                              temp0=ir_code&0xff00;
 205   3                              temp0=~temp0;
 206   3                              temp0>>=8;
 207   3                              temp1=ir_code&0x00ff;
 208   3                              if(temp0!=temp1)
 209   3                                      ir_enable=FALSE;
 210   3                              else
 211   3                              {
 212   4                                      ir_data=(BYTE)(temp1);     /*true code effective*/
 213   4                                      ir_enable=TRUE;            /*set ir flag*/
 214   4                                      EX1=0;
 215   4                                      return;
 216   4                              }
 217   3                      }
 218   2              }
 219   1              else
 220   1              {       ir_enable=FALSE;
 221   2              EX1=1;}
 222   1      }
 223          
 224          void RemoteEvent(void)
 225          {
 226   1              bit bTemp=0;
 227   1              switch(ir_data){
 228   2                      case REMOTE_KEY_POWER:  bTemp=kyPOWEREvent();           break;
 229   2                      case REMOTE_KEY_SOURCE: IRSourceSelKeyCtrl();           break;
 230   2                      case REMOTE_KEY_DISPLAY:IRNTSC_PALCtrl();               break;
 231   2                      case REMOTE_KEY_DECR:   bTemp=kyDECREASEEvent();        break;
 232   2                      case REMOTE_KEY_INCR:   bTemp=kyINCREASEEvent();        break;
 233   2      //Ruby 2004-06-07               case REMOTE_KEY_OK:             OSDExit();      break;
 234   2                      case REMOTE_KEY_MENU:   bTemp=kyMENUEvent();            break;
 235   2                      case REMOTE_KEY_SCALER : kySCALEREvent();               break;
 236   2                      case REMOTE_KEY_VO_INC: kySCALEREvent();                break;//bTemp=IRVolUpKeyCtrl();  break;
 237   2                      case REMOTE_KEY_VO_DEC: bTemp=IRVolDownKeyCtrl();       break;  
 238   2                      case REMOTE_KEY_DEC_P:  bTemp=IRDownKeyCtrl();          break;
 239   2                      case REMOTE_KEY_INC_P:  bTemp=IRUpKeyCtrl();            break;
C51 COMPILER V7.50   IRINT                                                                 01/12/2006 13:31:13 PAGE 5   

 240   2      #ifdef ROTATE           
 241   2                      case REMOTE_KEY_AIRCABLE: kyDismodeEvent();             break;
 242   2      #endif                  
 243   2      #ifdef TV
              //      case REMOTE_KEY_MUTE:   bTemp=IRSetupKeyCtrl(); break;
              //              case REMOTE_KEY_DEC_P:  bTemp=IRDownKeyCtrl();  break;
              //              case REMOTE_KEY_INC_P:  bTemp=IRUpKeyCtrl();break;
                              case REMOTE_KEY_NUM0:   IRNumKeyCtrl(0);        break;
                              case REMOTE_KEY_NUM1:   IRNumKeyCtrl(1);        break;
                              case REMOTE_KEY_NUM2:   IRNumKeyCtrl(2);        break;
                              case REMOTE_KEY_NUM3:   IRNumKeyCtrl(3);        break;
                              case REMOTE_KEY_NUM4:   IRNumKeyCtrl(4);        break;
                              case REMOTE_KEY_NUM5:   IRNumKeyCtrl(5);        break;
                              case REMOTE_KEY_NUM6:   IRNumKeyCtrl(6);        break;
                              case REMOTE_KEY_NUM7:   IRNumKeyCtrl(7);        break;
                              case REMOTE_KEY_NUM8:   IRNumKeyCtrl(8);        break;
                              case REMOTE_KEY_NUM9:   IRNumKeyCtrl(9);        break;
                              case REMOTE_KEY_NUM_Bites:      IRNumKeyCtrl(10);       break;
              #endif
 259   2              }
 260   1                      if(bTemp)
 261   1                              OSDEventMgr();
 262   1              EX1=1;
 263   1      }
 264          //#endif
 265          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    775    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      1    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----       3
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -